What's Changed
- Add support for secure bootloader
- Update Portenta and Nicla Vision bootloader binaries (version 23)
- Adjust ST32H747_updateBootloader sketch
- Fix Portenta H7 camera library regression for 320x320 resolution
- Fix Nicla Sense ME powering from battery issue
- Adjust PDM library defines to allow using PDM from M4
- Add core version defines
Full Changelog: 2.8.0...3.0.0
Changelog
Core:
- Allow starting / stopping system timers to improve power efficiency
New shield supported:
- Full support for Portenta Cat. M1/NB IoT GNSS Shield via GSM and GPS libraries
RP2040:
- Fix
delay()
- Fix binary size calculation
- Match Pico default pins with official pinout #393 (thanks @TedPap )
Patches generated from https://github.com/arduino/mbed-os/tree/extrapatches-6.15.1 (over mbed-os 6.15.1)
Core fixes
Make pinMode()
always reconfigure gpio if called explicitly
Fix the preprocess linkerscript (thanks @rajames)
SocketWrapper: UDP: send packet on endPacket()
, not on write()
Fix calling ::flush()
on SerialUSB
Serial: drop characters if the ringbuffer is full
Added rules for pluggable discoveries and monitors
Targets improvements
Add RP2040 RTC and Watchdog patches
RP2040: use proper fix for usb_device_enumeration
Nicla Sense ME:
- Update bootloader binaries
- Added defines for internal pins
Libraries fixes
WiFi: fix linking inherited macAddress()
Portenta: PDM: cut out unusable starting PDM sample
Portenta: PDM: use PLL3 to clock SAI
PR2040: Disable DMA_IRQ_0n when stopping PDM peripheral
lvgl: add compatibility layer for both v7 and v8
Libraries improvements
Modernize all the libraries
Fix incorrect/misleading library.properties
Add a ton of examples
Portenta: RPC library is now out of beta
New targets!
Arduino Nicla Sense ME
Libraries
WiFi: Fix Access Point teardown on Portenta
Camera: enable 320x320 resolution
PDM: fix restart on RP2040
Core
Update mbed-os to 6.15.0
Portenta: add menu to configure non standard flash splits between M7 and M4
RP2040: optimize RAM usage
RP2040: fix flash size in linker script
Core
Rebuild variants on mbed 6.13
RP2040: support led indication when the core crashes
Libraries
PDM: fix glitches RP2040
Networking: introduce SocketWrapper library and derive WiFi/Ethernet from it
This makes much easier to port any networking class to Arduino APIs
SocketWrapper: make available() non blocking
Bootloaders
Update Nano33BLE updateBootloader sketch
Core
Rebuild variants on mbed 6.12
analogWrite()
for Portenta doesn't crash anymore on HRTIM pins (eg. pin 3).
- The default frequency of the PWM on such pins is 720Hz
Serial: properly protect ringbuffer access
Libraries
PDM: fix gain on RP2040
WiFi: refactor to match new mbed-os APIs
Extra
Restore functionality as mbed library (sample project in the comment here )
Core
Allow UART constructors in both PinName and pin number
Fix Arduino.h inclusion in C files
Nano33BLE: Fix pins 0 / 1 not usable as GPIOs
RP2040: fix watchdog behaviour
RP2040: avoid implicit conversion from NinaPin to int (LEDR, LEDG, LEDB) [1]
Libraries
Add Nano33_updateBootloader sketch to support SoftDevices
PDM: Correct default gain for Portenta
PDM: Run clock at 2.08MHz on RP2040
Fix OTA second stage bootloader for Nano RP2040 Connect (SFU)
Examples
MultipleBlinks: fix Nano RP2040 Connect build
[1]
These leds are connected to the ESP32 module, so using them in digitalWrite() is transparent unless the values are cast to int
.
In this case, an explicit error will be raised, explaining how to fix the problem,
Core
RP2040: improve the overall user experience
RP2040: fix some relevant bugs (complete list here https://github.com/ARMmbed/mbed-os/pull/14488/commits)
USBSerial: speedup operations and tackle corner cases
Libraries
PDM: rationalize gain() and buffer size
Ethernet: fix library discovery on case insensitive platforms
Wire: fix I2C scan
Extra
Update openocd to its latest release (fixes a bug with nRF52)