examples

Hi All.


A few years ago, Nordic documentation for developers included many "examples" to practice with and learn about this technology. For instance, ... >examples>ble peripheral>ble_app_uart>... etc. etc.
My question is: Is Nordic keeping this valuable information somewhere? Thanks.

  • Hi AMarch01. Thanks for your time.

    In my case, I want to know the memory layout and size I need to choose the most convenient Nordic SoC and implement a transmitting-only beacon using the new toolchain and VSC IDE Nordic is now recommending.
    In the old SDK and for a Segger IDE environment, an example called ble_app_beacon was described. Still, unfortunately, the new nRF Connect SDK (v2.7.0 in my case) did not include this example. I could use the actual Segger IDE environment, but since the old nRF5 SDK hasn´t been maintained for some time, I suspect the setup will give errors.
    So my question is: Could I Build-Flash this old Segger .emProject file into my nRF52849 DK using the VSC IDE, toolchain, and nRF Connect SDK that Nordic recommends nowadays (i.e., the one described in the nRF Connect SDK Fundamentals DevAcademy course) and see the memory details I mentioned?

    Waiting for your comments,

    Regards,

    Juan

  • I would imagine that such a task would be difficult, the nrfx library probably doesn't mesh together the same way and unraveling any pieces that are under cmake control would be an effort.

    Beacon appears to be a generic operation for BLE so a generic example would be found in 
    v2.7.0\zephyr\samples\bluetooth\beacon\ 

    I attempted to build this and when the zephyr build is completed using NCS under VS code I get an ending output report as follows:
    [186/186] Linking C executable zephyr\zephyr.elf
    Memory region Used Size Region Size %age Used
    FLASH:        99692 B    1 MB        9.51%
    RAM:          26632 B    256 KB      10.16%
    IDT_LIST:     0 GB       32 KB       0.00%

    This was to a nrf52840-DK target.

    It is a good idea to follow the Nordic education guides with the latest software products. There are guides on how to configure and use the nrf Connect SDK using VS Code.



  • Hi SwRa.


    Thanks to AMarch01 and you, I've found the Beacon application I was looking for in the actual nRF Connect SDK. Therefore, I won't need to port the old example from the nRF5 SDK to build it up and determine the minimum memory I need to run this app in a Nordic SoC.


    However, checking the main.c file on this app, I don't find elements (API functions?) to change several properties of the SoC that are critical in my project (like the device name, the output power, the advertising PHY modulation, the interval, the duration, or the adv_data_flags), elements, all of them, being accessible in some of the examples I tried in the past (for instance in one called ble_app_uart) using in this case, the old nRF5 SDK, allowing me to change all the mentioned parameters and fine-tune the module based in a nRF52840 SoC.

    Would you please let me know where to find these functions to perform the same fine-tunes I made on the nRF52840 and see how the fact of having an SoC with much less memory and no receiving radio affects the chip autonomy on the Beacon.

    Thanks


    Juan

  • I think what is funny about your question, is that I plan on opening that project in the near future here and attempt to adjust the very same variables you mentioned among others. I am guessing that they are a part of the prj.conf variables. There is a common variable list in Zephyr / Nordic that adjust the parameters, and then you specify them in the proj.conf file. 

    Right now the file proj.conf ontains the following:

    CONFIG_BT=y
    CONFIG_LOG=y
    CONFIG_BT_DEVICE_NAME="Test beacon"

    I would start searching around for the CONFIG_BT switch to find other switches to help with configuration. They are in there somewhere.


    There are probably some library calls that can do the modifications dynamically, but I haven't searched for them yet. 
     

    The sad part is that I don't have an answer for you.

  • Probably more detail then you want at the moment, but I am examining parts of the BT Controller to figure out how the low-end pieces function, or where they exist at least.

    LE Controller — Zephyr Project Documentation
    and pieces found here

    ncs\v2.x.0\zephyr\subsys\bluetooth\controller\ll_sw


    Maybe this information doesn't help you ...
    AM

Related