☂︎ BLE UART support with Nordic Semiconductor hardware
☂︎ Low latency event handling
☂︎ Tickless kernel: wake from sleep with micro-second accuracy
☂︎ Static tasks with infinite synchronisation objects
☂︎ Use with Arduino projects to provide multitasking
☂︎ UART low latency API that never drops data
☂︎ printf based log system available pre-boot
☂︎ Posix compliant read, write, printf
☂︎ ARM support for Cortex-M microcontrollers
☂︎ Easy to configure and expand
Tasks waiting for an event are activated as soon as the condition to continue is met.
The UART API is hybrid blocking, meaning that data is queued to send and the call
returns immediately so long as buffer space is available, but will block when the
buffer is full. Receive calls return as soon as any data is available.
All communication is handled in the background, allowing one task to read, process,
and write without dropping any data.
☂︎ Cortex-M3
☂︎ Cortex-M4
☂︎ Cortex-M33
☂︎ supported hardware
☂︎ nRF52840dk nRF52840
☂︎ nRF9160dk nRF52840, nRF9160
☂︎ Thingy91 nRF52840, nRF9160
☂︎ Blue Pill STM32F103x
☂︎ ADP5360 battery management PMIC
☂︎ BH1749 ambient light sensor
☂︎ BME680 temperature, pressure, humidity
☂︎ HMC5883 compass
☂︎ MPU6050 accelerometer and gyroscope
☂︎ ADXL362 accelerometer
☂︎ ADXL372 accelerometer, 200g
☂︎ macOS: install brew
☂︎ macOS: brew install make
☂︎ macOS: brew install cask gcc-arm-embedded
☂︎ Linux: apt install make gcc-arm-none-eabi
☂︎ FreeBSD: pkg install gmake arm-none-eabi-gcc
☂︎ Download and extract the
Arm GNU Toolchain
to tools/compilers
☂︎ Or specify the path as an environment variable NANO_GCC
☂︎ Tools required make
rm
saferun, optional clear
colour
gfc
☂︎ Install in tools
or add to path
☂︎ Chocolatey: choco install make coreutils
☂︎ Or download and extract make.exe
to the root directory of nano
☂︎ rm
is available in git for Windows,
during install select:
☂︎ Git and optional Unix tools from the Command Prompt
☂︎ or add %ProgramFiles%\Git\usr\bin
to path