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

why most of the examples of sdk 12's sdk config file has diffrent options?

why most of the examples of sdk 12's sdk config file has different options?

I'm trying to build an application that has Central and Peripheral Role application (and it needs to relay between two role), but when I compare difference option with some of the examples, Some example has only nRF_Drivers, nRF_Libraries, nRF_Log, nRF_Segger_RTT.

But some other example's SDK Config has nRF_BLE, nRF_BLE_Services Option.

And the example's which have nRF_BLE has different option's too!

image description

Which option do I have to follow, or does it has any manual to add or subtract option from sdk_config?

Or is there any Ultimate set of sdk option that I can use with?

Or I'm just using wrong template (for my planed-to-build application) to start with?

I'm using ble_peripheral/ble_app_template example,

Is there any other appropriate template project that I can follow with?

  • Hello Daniel

    There are mainly two different sdk_config.h files. One for the files you find in examples->peripheral (no BLE), and one for the examples in ble_central, ble_central_and_peripheral and ble_peripheral (which do have BLE).

    In the peripheral examples the sdk_config only contains the defines which are necessary for the hardware that specific examples employs. So for the GPIOTE example it only contains driver defines for GPIOTE, PPI, timers and UART. While in the I2S example it only contains driver defines for I2S and UART.

    For ble_peripheral and central examples, the sdk_config files are meant to be much more similar, and for the most part contain the same things. However, there are a couple of differences in some of the examples. The GATT option you mention in the picture is an experimental module, and it is not used in all the examples. You can read more about it here infocenter.nordicsemi.com/.../lib_ble_gatt.html

    In some examples defines which have previously been made at the start of main.c has also been moved to the sdk_config, an example of this is the central link count and peripheral link count in the central example “ble_app_blinky_c”.

    The sdk_config file is meant to be modified depending on your requirements. For more information on the KEIL configuration wizard, and how to modify it see the following link. www.keil.com/.../uv4_ut_configwizard.htm

    The ble_app_template works well as a foundation for your application, but keep in mind it only contains what is needed for a peripheral device, and you must add all code, includes and defines for it to behave as a central device. The central uart example is a good example to look at central behavior.

    Best regards

    Jørn Frøysa

Related