October 23, 2018 (Planned)
BLE samples removed from Apache Mynewt release
Those can now be found in Apache Nimble NimBLE repository. Transient dummies packages in core repository are provided for backward compatibility with existing targets.
Nordic nRF52xxx MCU package has been refactored
Previous version of package is available as
hw/mcu/nordic/nrf52xxx-compat, however all users are strongly encouraged to migrate custom BSPs to new package as the old code will no longer be maintained and will be eventually removed.
For more information see below.
Logs storage usage tracking and watermarking
Better RTT integration
SEGGER realReal-time transfer Time Transfer (RTT) which allows real-time communication on targets that support debugger memory accesses while the CPU is running has been updatedsupport was updated to provide better integration with Apache Mynewy. Changes include:
- upgrade code to rev 11303 (was rev 4351)
- simple rewrite configuration file provided, without generic code not applicable to Mynewt, for easier updatesfor easier updates (replace generic one with new one tailored to Apache Mynewt features)
- automatic configuration of RTT buffers used depending on enabled features; additional buffers for application can be enabled if necessary
- RTT control block moved to is placed in separate section so it does not change its location between rebuildsFix for RTT locking issue can be locked to specific location in memory
- fix issues with proper RTT locking which caused SystemView to show corrupted packets or sometimes crash (especially when both RADIO and UART were used at the same time)
- Smarter configuration automatically configures RTT with proper number of buffers for all enabled features in Mynewt which use RTT. Additional buffers, if needed, can be enabled by setting syscfg values.fix RTT console code which could cause data corruption in RTT buffer
Improved concurrent access to I2C/SPI interfaces for LEDs and Sensors
An interface lock has been added for the
led_itf. It can be used for the interface structure for any driver e.g. the battery. If a BSP shares an interface particularly I2C, it can initialize and set a mutex for shared interface access.
nRF52xxx MCU support
hw/mcu/nordic/nrf52xxx package was refactored to cleanup the peripherals code in BSPs. Changes include:
- moving all peripherals syscfg settings to
- placing create common code to create and initialize peripherals in
hw/mcupackage (to be used by
hw/bsppackages)adding packagein MCU package which then should be used by BSP packages
- move all peripherals syscfg settings from BSP to MCU package
- add package-level restrictions to make sure everything is configured properly
All existing BSPs for nRF52xxx boards are converted to use new package.
Travis CI integration
Travis Continuous Integration (CI) can now be used to build and test Apache Mynewt on both Linux and OSX systems. The following can be performed:
Tickless min/max idle times made configurable
The relevant syscfgs are OSare
OS_IDLE_TICKLESS_MS_MIN and OS and
OS_IDLE_TICKLESS_MS_MAX (in milliseconds).
test/runtest library replaces testbench app
Newt Tool enhancements
A transient package is an empty package that simply links to another package. It enables easier, backwards-compatible upgrade path when moving or renaming packages.
Every time transient package is included in build,
newt will emit a warning which encourages to change configuration to use linked package instead. Transient package can be defined as follows:
pkg.name: old-package pkg.type: transient pkg.link: @repo/target-package