We are excited to release the latest version of FruityMesh. This includes interesting new features such as dynamic groups, running CherrySim in the browser, reading GPIO pins from other nodes and more. The documentation design has also been refreshed in the mean time, making it easier to get search results.
Features
- CherrySim can now be compiled to WebAssembly using Emscripten. This means you can run simulated networks in the browser
- Adds the ability to dynamically and persistently assign a node to one or more dynamic groups
- Persistent time reporting: Nodes with the status reporter module can now be configured to report their local device time with a certain reporting interval. Settings are kept after node reset
- Extended RawData protocol "raw_data_start" and "raw_data_start_received" with an optional "metadata" field with up to 40 bytes
- Added
get_gw_status
andset_gw_status
terminal commands and module messages to improve transparency of the Gateway status to other mesh participants (e.g. no mesh connection, no serial connection) - Added pulse function to allow LED blink codes
- Added a
pinread
command to allow reading the level of any GPIO pin. Be careful as the previous GPIO configuration will be overwritten - Modules can listen to the
TimeSyncedHandler
inTimeManager
as a callback when time has been synced - Added emergency Mesh access to reduce the advertising interval to 2s while preserving battery
Fixes
- Changed enrollment behavior to doing a factory reset when enrolling and not only when unenrolling
- Fixed a bug where the power off button would sometimes boot into safe mode, causing a
WATCHDOG_REBOOT
- Action related messages originating from the
StatusReporterModule
can be sent through MeshAccessConnections - Fixes an issue where the wrong
RecordStorageEventHandler
might have been called after data was saved
Small Changes
- Added capability entry for Mesh firmware, softdevice and bootloader version
- Added endianness utility functions
- Added conversion methods for UART settings in FruityHal. This is useful when storing UART settings in module configurations
- Enabled CRC by default for nRF52840 sink node
- Optimized stack usage of nRF52832 sink node
Breaking Changes and Migration from 1.1.590
- Rename every occurence of
UartBaudrate
toUartBaudRate
- Rename every occurence of
GpioTransistion
toGpioTransition
- Parity even now has value 2 instead of 1. 1 is odd