Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SDK 15.0.0 app_timer requires legacy support

As I working on a new project I am writing the code to support the new SDK driver structure and not including any "legacy" code support.

This highlights the fact that the example code and libraries within SDK15.0.0 still rely on the old structure.

For example the app_timer library code looks for APP_TIMER_CONFIG_SWI_NUMBER which doesn't exist in the master sdk_config.h other than as legacy support and in any case app_timer.c still refers to the old driver header files.

I note from the change log for the SDK that app_timer2 doesn't require an SWI configuration, however, it has been written to use a unique RTC driver file rather than the new SDK version and still uses legacy functions.

I'm now in the process of changing app_timer2.c to use the new drivers, but already I have an issue as it uses a form of app_timer_t (from components/libraries/util/app_util.h) that doesn't exist!

Before I go ahead and change the library code to actually work with the new SDK driver files, can anyone tell me if I'm missing something here?

Parents
  • app_timer2 is using custom rtc driver because it uses RTC interrupt also as the context, not only as the source of hw events. nrfx_rtc didn't support that and we decided not to touch this api but add custom driver. app_timer2 shares the sami API header (app_timer.h) so it is using app_timer_t but it is defined in app_timer.h so I am not sure what do you mean when you say that it does not exists.

  • Thank you for your reply.

    I see that I hadn't set a definition for APP_TIMER_V2 and hence why the definitions in app_timer.h didn't match the code in app_timer2.c.

    In any case, due to issues caused by the legacy support code in order to use the libraries, such as automatic inclusion of nrfx_config.h overriding settings in my sdk_config.h as well as the obfuscation caused by having redefinition of new NRFX SDK values to old legacy ones I've decided that it is best to rewrite the library files that I require. 

Reply
  • Thank you for your reply.

    I see that I hadn't set a definition for APP_TIMER_V2 and hence why the definitions in app_timer.h didn't match the code in app_timer2.c.

    In any case, due to issues caused by the legacy support code in order to use the libraries, such as automatic inclusion of nrfx_config.h overriding settings in my sdk_config.h as well as the obfuscation caused by having redefinition of new NRFX SDK values to old legacy ones I've decided that it is best to rewrite the library files that I require. 

Children
No Data
Related