Ruuvitag FW based on Zephyr OS.
Ruuvi Node is developed using nRF Connect SDK(NCS) V1.7.0.
Nordic Semiconductor keeps up-to-date instructions on how to setup the SDK for Linux, Mac OSX and Windows. Instructions can be found at https://developer.nordicsemi.com/nRF_Connect_SDK/doc/1.7.0/nrf/getting_started.html
To clone the directory follow the following.
cd ~/ncs/nrf/applications
git clone https://github.com/theBASTI0N/ruuvitag_fw_zephyr.git
cd ruuvi.node_nrf91.c
The examples given assume you are using linux. All commands assume that nRF Connect SDK has been setup as per the instructions in the above link.
Once in the project directory, make can be used to build the different variances of the firmware and flash them to a board.
# Makes the standard FW and flashes it to a connected board.
make
# Makes the standard FW with or without debugging enabled.
make app
make app_debug
# Makes the full FW with or without debugging enabled. (Includes MCUBOOT)
make app_bootloader
make app_bootloader_debug
# Flashed the last built FW
make flash
# Connects to the device to view debu messages
make connect
# Displays the debug messages
make debug
# Cleans all build directories
make clean
To enable your ruuvitag to receive an update the following can be done:
Once in the update mode nRF connect can be used on a phone to update the tag. The process is the same as a standard ruuvitag, however the file need is the update.bin file. This can be found at: ruuvitag_fw_zephyr/build/zephyr/app_update.bin or in the releases.
The update mode of the tag will by default time out after 2 minutes. The tag will then start beaconing again.
The GitHub workflow is adapted from @bifravst/firmware and is BSD-5-Clause-Nordic licensed.