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

Running nRF51-ble-bcast-mesh on nRF51 dongles

Hello!

I've just started using the nRF51 dongles (currently having 5 of them) and I would like to test the GitHub mesh protocol. Excuse my lack of experience, but I am having trouble knowing where I should unzip the files. Should I create a new folder inside my SDK and just dump everything there? Could anybody explain how to start using the files provided and run the examples?

Thank you very much!

  • Hi,

    The mesh protocol is compatible with SDK6.x and 7.x for now, and I recommend that you use 7.2.0. You need the non-packs version of the SDK, which can be found under nRF51_SDK/nRF51_SDK_v7.x.x/nRF51_SDK_7.2.0_cf547b5.zip on the Nordic Developer portal. When you have the correct version, clone the mesh project (or download and unzip) to [SDK7-folder]/examples/[Mesh-folder]. This way, you will not have to change the include paths in the project files.

    There are some example projects located under /nRF51/examples. I recommend that you start with the BLE_Gateway project. Go to [Mesh-folder]/nRF51/examples/BLE_Gateway/arm, and open rbc_mesh_BLE_Gateway_SDK7.uvprojx in Keil uVision 5. Under "Options for target" in uVision, go to the tab "C/C++" and change the BOARD_PCA10001-define to fit your target board. Compile the project.

    Next, use nRFGoStudio to flash the dongle with the Softdevice S110v7.x, available at the Nordic homepage, and then the .hex file you compiled in uVision (found under [Mesh-folder]/nRF51/examples/BLE_Gateway/arm/_build). Look at the BLE_Gateway-readme to see how you can interact with your mesh.

    Trond

  • Sorry I forgot to mark it as "correct answer", but indeed it worked like wonders. Thank you!

  • Hi,

    I am trying to compile the BLE_Gateway_SDK7.uvprojx using Keil. But, it is giving me the following errors.

    Build target 'nRF51822 xxAA' compiling main.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /*!< Cortex-M0 processor and core peripherals / ..\main.c: 0 warnings, 1 error compiling nrf_adv_conn.c... ..\include\nrf_adv_conn.h(39): error: #5: cannot open source input file "ble.h": No such file or directory #include <ble.h> ..\nrf_adv_conn.c: 0 warnings, 1 error compiling led_config.c... ......\SDK\bsp\boards.h(15): error: #5: cannot open source input file "nrf_gpio.h": No such file or directory #include "nrf_gpio.h" ..\led_config.c: 0 warnings, 1 error compiling radio_control.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\radio_control.c: 0 warnings, 1 error compiling rbc_mesh.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\rbc_mesh.c: 0 warnings, 1 error compiling timer_control.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\timer_control.c: 0 warnings, 1 error compiling timeslot_handler.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\timeslot_handler.c: 0 warnings, 1 error compiling trickle.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\trickle.c: 0 warnings, 1 error compiling mesh_srv.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\mesh_srv.c: 0 warnings, 1 error compiling transport_control.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals / ......\rbc_mesh\src\transport_control.c: 0 warnings, 1 error compiling system_nrf51.c... C:\Keil_v5\ARM\PACK\NordicSemiconductor\nRF_DeviceFamilyPack\7.2.1\Device\Include\nrf51.h(119): error: #5: cannot open source input file "core_cm0.h": No such file or directory #include "core_cm0.h" /!< Cortex-M0 processor and core peripherals */ system_nrf51.c: 0 warnings, 1 error compiling ble_advdata.c... "no source": Error: #5: cannot open source input file "............\components\ble\common\ble_advdata.c": No such file or directory ............\components\ble\common\ble_advdata.c: 0 warnings, 1 error ".\rbc_gateway_example.axf" - 11 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:01

    Surely, it means that I have not defined the path correctly. Kindly help me in deciding the correct path so that it can compile without errors. This is the current path of BLE_Gateway_SDK7.uvprojx that I am using: C:\Keil_v5\ARM\Pack\NordicSemiconductor\nRF_Examples\7.2.0\nRF51-ble-bcast-mesh-master\nRF51\examples\BLE_Gateway\arm\rbc_mesh_BLE_Gateway_SDK7.uvprojx

Related