Publishing for Bluetooth Asia 2018 developer session: mesh session. This repo is for GenericOnOff client side firmware.
EULA
PLEASE READ MESH_DEMO_TUTORIAL_EULA.TXT BEFORE START DEVELOPMENT.
Overview
This sample demonstrates Bluetooth Mesh functionality on micro:bit. It doesn't need provisioning because all the credential material (DevKey, NetKey, AppKey, Key Index, IVI and Unicast address) is pre-configured. This sample work as a GenericOnOff client:
- Pressing Button A on micro:bit will send GenericOnOffSet access message with on or off state alternatively and specific group address;
- Pressing Button B on micro:bit will switch the group address from 0xC000 to 0xC003 and back to 0xC000 again like round robin;
Requirements
micro:bit board
Building and Running
0. Download source code, it's zip file, the link is on this page, Download repository
.
1. Following below link to set the development environment up on your Windows computer. http://docs.zephyrproject.org/getting_started/installation_win.html . Please make sure git checkout this commit, commit: 88dfd399f480b1593a8e13f5a68d512921a55502 , the detail is here, https://github.com/zephyrproject-rtos/zephyr/commit/88dfd399f480b1593a8e13f5a68d512921a55502
2. copy zip file into ./zephyr/sample/
in the Zephyr tree.
3. unzip the file by "Extract Here".
3. access into the extracted folder and rename prj_bbc_microbit.txt
to prj_bbc_microbit.conf
4. if adopting Windows Command Prompt, use it to access into the unzip folder and type following commands on the console:
mkdir build & cd build
cmake -GNinja -DBOARD=bbc_microbit ..
ninja
if adopting MSYS2, use it to access into the unzip folder and type following commands on the console:
mkdir build & cd build
cmake -GNinja -DBOARD=bbc_microbit ..
ninja
5. connect micro:bit with your computer by USB cable, the board will be enumerated as a massive storage device;
6. drag the hex file (which is in ./zephyr/sample/[unzip folder]/build/zephyr/zephyr.hex
) into
Microbit massive storage device to flash the firmware;
7. micro:bit is ready to work as a GenericOnOff client.
Diff: src/main.c
- Revision:
- 16:64e0ae95d4f1
- Parent:
- 7:6512e150f5f6
diff -r ebdbdd25ac60 -r 64e0ae95d4f1 src/main.c --- a/src/main.c Mon May 28 13:02:43 2018 +0000 +++ b/src/main.c Mon May 28 13:15:31 2018 +0000 @@ -3,6 +3,27 @@ * * SPDX-License-Identifier: Apache-2.0 */ +/* + * how to set txpower + * in ./subsys/bluetooth/controller/ll_sw/ctrl.c, a function naming + * adv_scan_conn_configure(), it includes radio_tx_power_set(), the value + * should map +nRF 51: + Pos4dBm 0x04 +4 dBm + 0dBm 0x00 0 dBm + Neg4dBm 0xFC -4 dBm + Neg8dBm 0xF8 -8 dBm + Neg12dBm 0xF4 -12 dBm + Neg16dBm 0xF0 -16 dBm + Neg20dBm 0xEC -20 dBm + Neg30dBm 0xD8 -30 dBm + +nRF 52840: + http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52840.ps%2Fradio.html&cp=2_0_0_5_19_13_10&anchor=register.TXPOWER + +nRF 52832: + http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52832.ps.v1.1%2Fradio.html&cp=2_1_0_22_13_9&anchor=register.TXPOWER + */ #include <misc/printk.h>