Minor changes to BLE profile services (cleanup prior to merge with master branch):
- Added temperature period characteristic to match design pattern of other sensors.
- Updated endinaness of MicroBitLEDService Matrix to be more intuitive.
- Cleaned up Microbit.cpp by removing unused reference to BLE services.
- Exposed serial number and naming information thr BLE DeviceInformation and API.
- Updated BLE advertisement period to be alightly more repsonsive (200ms vs 1000ms).
- BUGFIX: micro:bit name is now always generated, regardless of BLE services.
- BUGFIX: Scroll Period data length.
Updates to change the behaviour of the scroll/print/animate faily of function away
from being pre-emtive and instead prroviding queing behaviour.
Minor updates to provide complete sets of async equivalent operations
Updates to the scheduler to provide wait/notify/waitone semantics.
All message bus listeners with the micro:bit runtie are non blocking, and safe to be called
in an interrupt context. As such, these have now all been declared MESSAGE_BUS_LISTENER_IMMEDIATE
which should mitigate all unbounded event queueing effects.
Updates to BLE interface to match specification following testing by Bluetooth SIG.
Accelerometer Period: now supports READ and WRITE
Magnetometer Period: now supports READ and WRITE
LED Matrix State: now supports READ and WRITE.
UUIDs of Temperature Service characteristic corrected.
More specifically, the build system now uses the semantic versioning meta-data
held in module.json to define a major.minor.patch version. Additionally, is the branch
being compiled is *not* the master branch, the version is appended with <branchname><githash>.
- Updates to CMake files to expose this to the micro:bit runtime code.
- Addition of uBit.systemVersion() to expose this to application code.
- Displaying of version string over serial if MICROBIT_DBG is enabled.
- Distribution of version string over BLE via the firmware revision characteristic.