This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SDK's driver documentation and imlementation seems off.

Hi,

First of all, I am currently trying to merge several projects and some of the project were using older versions of the drivers. Then I noticed that the oldest update documented in the info center was 2.X while the current driver version used in the SDK is 1.8. Some API methods that are described in the info center doesn't correspond the method actually implemented in the SDK.

Why is there such a descrepency between the SDK, the driver version and the documentation ?

Then I tried to update to the latest driver version, which is 2.6, I now have the reverse issue where the nrf libraries (which are to my understanding up to date) use older version of the drivers. For exemple, the nrf_power_mgmt.c uses an old version of  : nrf_power_system_off() while the driver define nrf_power_system_off(NRF_POWER_type * p_reg) AND the info center does refers the the method up to version 15 of the SDK.

Besides, I tried to use the pc_ble_drivers_py for testing purposes but PyPI doesn't allows to install the latest version 0.16 which cause issues unless you install the library from source.

What is happenning ?

Best regards,

  • Hi,

    The nRF5 SDK is only compatible with the v1.8.x branch of the nrfx drivers while version 2 and later is compatible with the new nRF Connect SDK. The nRF5 SDK is also using the nrfx drivers through the legacy layer as described in the "Migration guide for nrfx drivers" section of the SDK documentation. And it's the legacy APIs that are documented in the SDK documentation.

    Besides, I tried to use the pc_ble_drivers_py for testing purposes but PyPI doesn't allows to install the latest version 0.16 which cause issues unless you install the library from source.

    Can you try to upgrade pip? I have encountered this on Linux when I had an old version of pip installed.

    Best regards,

    Vidar

  • Hi,

    I did not realise that NRF connect SDK was for firmware application, thank you. I tried to quickly build a BLE exemple and zephyr (which is a RTOS) was used. I want to build a simple firmware application which include some BLE capabilities that does not require a RTOS. 

    Is Zephyr required with the NRF connect SDK ? I could probably get the answer myself but it always nice to ask.

    edit : it seems like zephyr is only active when a variable is put at y into the prj.conf. I guess that, if not present, the variable is not considered y.

  • Hi,

    Zephyr is required when you develop Bluetooth applications in the nRF connect SDK as we are using the Zephyr Bluetooth host. However, having Zephyr enabled doesn't automatically lead to a more complex application, you can still make simple event driven applications like in the nRF5 SDK where you have a main function with a few callbacks to capture timer and BLE events.

    Please take a look at this blog post if you haven't seen it already: https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/nrf-connect-sdk-and-nrf5-sdk-statement

Related