<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/58705/the-sdk_config-h-file-is-not-being-parsed-by-the-compiler</link><description>I cannot get the scope of the sdk_config.h file to encompass all modules. Process 
 
 Start with example project using the file system as per the install. 
 After compiling and running on the DK, copy the example files over to a new folder for inclusion</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 09 Mar 2020 15:38:25 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/58705/the-sdk_config-h-file-is-not-being-parsed-by-the-compiler" /><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238902?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2020 15:38:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f53307a5-4352-4a4d-a02c-e2c41ca8d331</guid><dc:creator>apdobaj</dc:creator><description>&lt;p&gt;I just noticed that disabling TWI1_USE_EASY_DMA doesn&amp;#39;t do the same thing...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238898?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2020 15:36:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:92b90266-c336-4be5-85fa-57f40bcdabd0</guid><dc:creator>apdobaj</dc:creator><description>&lt;p&gt;OK, that worked as well - enabling the TWI0_USE_EASY_DMA option allowed me to undo the change to the nrf5284_peripherals.h file. That is very counter-intuitive - why? Perhaps what&amp;#39;s needed is better inline documentation in the sdk_config.h file?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238755?ContentTypeID=1</link><pubDate>Mon, 09 Mar 2020 09:58:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14c5726a-7300-41a8-9195-3aa7a13c92d4</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;I&amp;#39;m sorry to hear that. It&amp;#39;s unfortunate that you had spend this much time to resolve the issue.&amp;nbsp; sdk_config.h is indeed supposed to be the one place where you configure the SDK modules. nrf52840_peripherals.h is a part of our &lt;a href="https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-MDK"&gt;MDK &lt;/a&gt;distribution which specifies what peripherals the 52840 has. It should never have to be modified. Maybe the TWI0_USE_EASY_DMA option was disabled earlier? That would make the integration layer enable the TWI driver (without the &amp;#39;M&amp;#39;) instead of TWIM with EasyDMA.&lt;/p&gt;
&lt;p&gt;You should include the nrfx_config.h file from \integration\nrfx\ when you use &lt;a href="https://github.com/NordicSemiconductor/nrfx"&gt;nrfx&lt;/a&gt; with the nRF5 SDK.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238623?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2020 21:14:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:13cff71b-79ba-4d4f-91f2-1ba0086a5773</guid><dc:creator>apdobaj</dc:creator><description>&lt;p&gt;OK, commenting the TWI_PRESENT line in the file nrf52840_peripherals.h did the trick. so help me understand what your rationale is behind having these compiler directives scattered all over the SDK? I would be nice, I think, if the local sdk_config.h were the ONE place where we could go to figure out what&amp;#39;s being compiled and what&amp;#39;s not, because there&amp;#39;s no easy way to track these down. For future reference am I expected to go to nrf52840_peripherals.h and update those settings as well? And also for future edification, please list ALL the files where these directives and overrides can be found - I now know of sdk_config.h, nrfx_config.h, nrf52840_peripherals.h - are there others? It would also be nice to list all the places in the SES settings where these directives can be found as well, and what all the path macros and presets mean. This information would be golden and in this case could have saved me a couple days worth of frustration. Thanks.&lt;/p&gt;
&lt;p&gt;Tony&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238435?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2020 07:50:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76d37951-0e34-490d-9ebb-755a77cfe506</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;It should be defined in the nrf52840_peripherals.h header located in /modules/nrfx/mdk/&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238432?ContentTypeID=1</link><pubDate>Fri, 06 Mar 2020 07:40:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3fe6320d-804e-4e2f-a721-63048d673a5a</guid><dc:creator>apdobaj</dc:creator><description>&lt;p&gt;TWI_ENABLED was indeed set but unsetting it didnt help and there is no TWI_present setting.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: The sdk_config.h file is not being parsed by the compiler</title><link>https://devzone.nordicsemi.com/thread/238305?ContentTypeID=1</link><pubDate>Thu, 05 Mar 2020 13:17:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0b078885-ffee-4a19-8a9c-8a60c9d07b92</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;It sounds like the problem may be caused by the &amp;quot;apply_old_config&amp;quot; header located in the /&amp;lt;SDK&amp;gt;/integration directory. This file is responsible for making sure NRFX_ configurations&amp;nbsp;correspond to their respective legacy NRF_ configurations. I.e.,&amp;nbsp;&amp;nbsp;override the NRFX_ setting whenever&amp;nbsp;the legacy setting is different.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;TWI legacy settings&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// &amp;lt;e&amp;gt; TWI_ENABLED - nrf_drv_twi - TWI/TWIM peripheral driver - legacy layer
//==========================================================
#ifndef TWI_ENABLED
#define TWI_ENABLED 1
#endif
// &amp;lt;o&amp;gt; TWI_DEFAULT_CONFIG_FREQUENCY  - Frequency
 
// &amp;lt;26738688=&amp;gt; 100k 
// &amp;lt;67108864=&amp;gt; 250k 
// &amp;lt;104857600=&amp;gt; 400k 

#ifndef TWI_DEFAULT_CONFIG_FREQUENCY
#define TWI_DEFAULT_CONFIG_FREQUENCY 26738688
#endif

// &amp;lt;q&amp;gt; TWI_DEFAULT_CONFIG_CLR_BUS_INIT  - Enables bus clearing procedure during init
 

#ifndef TWI_DEFAULT_CONFIG_CLR_BUS_INIT
#define TWI_DEFAULT_CONFIG_CLR_BUS_INIT 0
#endif

// &amp;lt;q&amp;gt; TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT  - Enables bus holding after uninit
 

#ifndef TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT
#define TWI_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0
#endif

// &amp;lt;o&amp;gt; TWI_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
 

// &amp;lt;i&amp;gt; Priorities 0,2 (nRF51) and 0,1,4,5 (nRF52) are reserved for SoftDevice
// &amp;lt;0=&amp;gt; 0 (highest) 
// &amp;lt;1=&amp;gt; 1 
// &amp;lt;2=&amp;gt; 2 
// &amp;lt;3=&amp;gt; 3 
// &amp;lt;4=&amp;gt; 4 
// &amp;lt;5=&amp;gt; 5 
// &amp;lt;6=&amp;gt; 6 
// &amp;lt;7=&amp;gt; 7 

#ifndef TWI_DEFAULT_CONFIG_IRQ_PRIORITY
#define TWI_DEFAULT_CONFIG_IRQ_PRIORITY 6
#endif

// &amp;lt;e&amp;gt; TWI0_ENABLED - Enable TWI0 instance
//==========================================================
#ifndef TWI0_ENABLED
#define TWI0_ENABLED 1
#endif
// &amp;lt;q&amp;gt; TWI0_USE_EASY_DMA  - Use EasyDMA (if present)
 

#ifndef TWI0_USE_EASY_DMA
#define TWI0_USE_EASY_DMA 1
#endif

// &amp;lt;/e&amp;gt;

// &amp;lt;e&amp;gt; TWI1_ENABLED - Enable TWI1 instance
//==========================================================
#ifndef TWI1_ENABLED
#define TWI1_ENABLED 0
#endif
// &amp;lt;q&amp;gt; TWI1_USE_EASY_DMA  - Use EasyDMA (if present)
 

#ifndef TWI1_USE_EASY_DMA
#define TWI1_USE_EASY_DMA 0
#endif

// &amp;lt;/e&amp;gt;

// &amp;lt;q&amp;gt; TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED  - Enables nRF52 anomaly 109 workaround for TWIM.
 

// &amp;lt;i&amp;gt; The workaround uses interrupts to wake up the CPU by catching
// &amp;lt;i&amp;gt; the start event of zero-frequency transmission, clear the 
// &amp;lt;i&amp;gt; peripheral, set desired frequency, start the peripheral, and
// &amp;lt;i&amp;gt; the proper transmission. See more in the Errata document or
// &amp;lt;i&amp;gt; Anomaly 109 Addendum located at https://infocenter.nordicsemi.com/

#ifndef TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED
#define TWIM_NRF52_ANOMALY_109_WORKAROUND_ENABLED 0
#endif&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;And the corresponding TWI NRFX settings&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;pre class="ui-code" data-mode="c_cpp"&gt;
// &amp;lt;e&amp;gt; NRFX_TWIM_ENABLED - nrfx_twim - TWIM peripheral driver
//==========================================================
#ifndef NRFX_TWIM_ENABLED
#define NRFX_TWIM_ENABLED 1
#endif
// &amp;lt;q&amp;gt; NRFX_TWIM0_ENABLED  - Enable TWIM0 instance
 

#ifndef NRFX_TWIM0_ENABLED
#define NRFX_TWIM0_ENABLED 0
#endif

// &amp;lt;q&amp;gt; NRFX_TWIM1_ENABLED  - Enable TWIM1 instance
 

#ifndef NRFX_TWIM1_ENABLED
#define NRFX_TWIM1_ENABLED 0
#endif

// &amp;lt;o&amp;gt; NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY  - Frequency
 
// &amp;lt;26738688=&amp;gt; 100k 
// &amp;lt;67108864=&amp;gt; 250k 
// &amp;lt;104857600=&amp;gt; 400k 

#ifndef NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY
#define NRFX_TWIM_DEFAULT_CONFIG_FREQUENCY 26738688
#endif

// &amp;lt;q&amp;gt; NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT  - Enables bus holding after uninit
 

#ifndef NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT
#define NRFX_TWIM_DEFAULT_CONFIG_HOLD_BUS_UNINIT 0
#endif

// &amp;lt;o&amp;gt; NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY  - Interrupt priority
 
// &amp;lt;0=&amp;gt; 0 (highest) 
// &amp;lt;1=&amp;gt; 1 
// &amp;lt;2=&amp;gt; 2 
// &amp;lt;3=&amp;gt; 3 
// &amp;lt;4=&amp;gt; 4 
// &amp;lt;5=&amp;gt; 5 
// &amp;lt;6=&amp;gt; 6 
// &amp;lt;7=&amp;gt; 7 

#ifndef NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY
#define NRFX_TWIM_DEFAULT_CONFIG_IRQ_PRIORITY 6
#endif
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Is the TWI_ENABLED symbol defined in your sdk_config file, and is it set to &amp;#39;1&amp;#39;? In any case, If you are not using the legacy APIs for the TWI driver,&amp;nbsp;I would suggest that you instead remove the legacy symbols from your configuration file and only use the NRFX_TWIM_ configurations.&amp;nbsp;That will prevent the settings from being overridden.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Vidar&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>