This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Why is RTEComponents.h not updated correctly?

I have enabled a gpiote module, it does not set gpiote_enabled to 1. I have tried deleting the file in the RTE folder with no success. I have tried disabling and enabling that component. I have also tried deleting rte_components.h

As an aside, I tried to enable the TWI module and TWI_COUNT, etc. are not defined. I can only imagine they should be present in nrf_drv_config.h

The file defines this:

#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS=4>nrf_drv_gpiote
#define GPIOTE_ENABLED=1>.
    #define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS=1>.
#define S110
#define SOFTDEVICE_PRESENT
#define SWI_DISABLE0

But nrf_drv_config.h defines this:

#define GPIOTE_ENABLED 0

#if (GPIOTE_ENABLED == 1)
#define GPIOTE_CONFIG_USE_SWI_EGU false
#define GPIOTE_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH
#define GPIOTE_CONFIG_NUM_OF_LOW_POWER_EVENTS 1
#endif

This looks like a bug

Parents
  • @Syntroniks: I just got confirmation from our developer it's the bug in the SDK v8.1. nrf_drv_config.h wasn't updated correctly. You would need to add:

        /* TWI */
    #define TWI0_ENABLED 0
    
    #if (TWI0_ENABLED == 1)
    #define TWI0_CONFIG_FREQUENCY NRF_TWI_FREQ_100K
    #define TWI0_CONFIG_SCL 0
    #define TWI0_CONFIG_SDA 1
    #define TWI0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH
    
    #define TWI0_INSTANCE_INDEX 0
    #endif
    
    #define TWI1_ENABLED 0
    
    #if (TWI1_ENABLED == 1)
    #define TWI1_CONFIG_FREQUENCY NRF_TWI_FREQ_250K
    #define TWI1_CONFIG_SCL 0
    #define TWI1_CONFIG_SDA 1
    #define TWI1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
    
    #define TWI1_INSTANCE_INDEX (TWI0_ENABLED)
    #endif
    
    #define TWI_COUNT (TWI0_ENABLED+TWI1_ENABLED)
    

    to the file.

    Regarding adding gpiote, if you only add nrf_gpiote component, there will be nothing change, because it's just a hal layer. If you add nrf_drv_gpiote, you will see RTE_Components.h gets updated.

    We fixed the issue with TWI in SDK v9.0.

Reply
  • @Syntroniks: I just got confirmation from our developer it's the bug in the SDK v8.1. nrf_drv_config.h wasn't updated correctly. You would need to add:

        /* TWI */
    #define TWI0_ENABLED 0
    
    #if (TWI0_ENABLED == 1)
    #define TWI0_CONFIG_FREQUENCY NRF_TWI_FREQ_100K
    #define TWI0_CONFIG_SCL 0
    #define TWI0_CONFIG_SDA 1
    #define TWI0_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_HIGH
    
    #define TWI0_INSTANCE_INDEX 0
    #endif
    
    #define TWI1_ENABLED 0
    
    #if (TWI1_ENABLED == 1)
    #define TWI1_CONFIG_FREQUENCY NRF_TWI_FREQ_250K
    #define TWI1_CONFIG_SCL 0
    #define TWI1_CONFIG_SDA 1
    #define TWI1_CONFIG_IRQ_PRIORITY APP_IRQ_PRIORITY_LOW
    
    #define TWI1_INSTANCE_INDEX (TWI0_ENABLED)
    #endif
    
    #define TWI_COUNT (TWI0_ENABLED+TWI1_ENABLED)
    

    to the file.

    Regarding adding gpiote, if you only add nrf_gpiote component, there will be nothing change, because it's just a hal layer. If you add nrf_drv_gpiote, you will see RTE_Components.h gets updated.

    We fixed the issue with TWI in SDK v9.0.

Children
Related