Enhancement/Fixes to existing features
BLE host code size optimization
File system changes
Logging improvements
Config improvements
New features
HAL additions in OS
Analog to Digital converters (ADCs)
Includes API to query the capabilities of a specific ADC such as resolution, reference voltages etc. The first implementation of API offers a blocking read command to initiate an analog to digital conversion.
- Digital to Analog converters (DACs)
Includes API to query the capabilities of a specific DAC such as resolution, reference voltages etc. from the BSP. Currently, the API to set the DAC output value is blocking, which means the function will return after the DAC value has been programmed. - I2C interface
- PWM (Pulse Width Modulation) Controllers
Offers hardware independent interface to PWM controllers which are devices that output digital signals with selectable duty cycle (ratio of the on-time to the period) and frequency. - SPI interface
Supports SPI (Serial Peripheral Interface) master functionality. SPI is a synchronous 4-wire serial interface commonly used to connect components in embedded systems. SPI slave support will be added in a future release.
Pairing and Security Management Protocol in BLE (NimBLE)
- Temporary Key (TK): a 128-bit temporary key used in the pairing process which is used to generate STK.
- Short Term Key (STK): a 128-bit temporary key used to encrypt a connection following pairing.
iBeacon support in BLE (NimBLE)
Mynewt NimBLE supports broadcast of iBeacon advertisements containing four main pieces of information (UUID, Major, Minor, Tx) in the standardized format at a regular interval.
Signed images
Flash Circular Buffer
Low power support
Bootloader support
Known Issues
1. Default application task size is too small when full logging is enabled.
This results in stack overflow when full logging is enabled. The fix is to increase the bleprph app task stack size from 200 words to 288 words. The change may be applied to the current release by modifying apps/bleprph/src/main.c as follows:
#define BLEPRPH_STACK_SIZE (OS_STACK_ALIGN(288))
Alternatively, the user may choose to use the fixed code in the "develop" branch in the repository. The fix will be available as part of the download package in the next release.
2. BLE peripheral devices may become unresponsive to the service discovery requests from the central device.
The "Bleprph" application may not instruct the host to send the initial startup sequence to the controller. The result is that BLE events are masked in the controller (i.e., the controller doesn't send the necessary notifications to the host). The immediate issue is that the host is not informed when a connection is established. Because the host does not know about connections being established, it is unresponsive to the service discovery that the central performs immediately after connecting. The central eventually disconnects when its service discovery operation times out.