Changelog:
- Updated the Core to SiSDK 2024.12.1 and Matter 2.5.1
- Matter standard has been updated to Matter 1.4
- Expect more robust reconnections and increased stability
- Enabled new clusters/devices in the SDK (no Matter library support yet):
- Oven
- Laundry washer/dryer
- Refrigerator
- Dishwasher
- Energy EVSE
- Water heater
- Power source
- RVC
- CO/smoke alarm
- CO measurement
- CO2 measurement
- Water heater
- Basic Video Player
- Binding
- Implemented Matter Air Purifier support
- Implemented simultaneous Matter and BLE support along with examples
- Refactored the Matter Air Quality Sensor example
- Added 'Arduino Matter Provision' support for the XIAO MG24
- Added 8 new Matter provisioning binaries for the Nano Matter
- Switched the Nano Matter to the OpenThread Certification libraries
- Added Matter.decommission() to the readme
- Exposed the mode setting API to the users in MatterFan
- Fixed the occupancy attribute initialization in the Matter DeviceOccupancySensor
- Fixed Matter provisioning binaries '1' and '2' for the Nano Matter
- Implemented AI/ML support for all compatible boards (Nano Matter, XIAO MG24, xG24 Dev/Explorer Kit) - alongside with the option to use AI/ML with radio variants. All supported boards can run the Magic Wand example now.
- Added BLE SPP (Serial Port Profile) example
- Added the Silicon Labs fork of the OneWire library
- Added hardware info sketch
- Implemented additional APIs for getting heap memory info
- Added getters for board and radio stack type
- Added OpenThread RCP firmware for the XIAO MG24
- Added OpenThread RCP firmware for the SparkFun Thing Plus Matter
- Added basic HIL smoke test for the Matter library
- Switched the language standard to C18 and GNU++17 for all variants
- Limited 'chip' namespace usage in the Matter library headers
- Renamed the core folder from 'silabs' to 'gecko'
- Made the board/variant specific macros more consistent
- Added missing string conversion functions (itoa, ltoa, utoa, ultoa)
- Changed the deep sleep escape pin on the XIAO MG24 to PC1 (D1)
- Replaced sent bytes with received bytes in 'SPI.transfer(buf, count)' return value
- Remapped Serial1/SPI1 to the correct MikroBUS pins on the xG24 ExpKit and Lyra24P20
- Fixed Matter pairing code printing corner cases
- Added initialization guard to WatchdogTimer
- Made the GPIO interrupt handler thread safe
- Fixed Serial init in the BLE blinky example
- Made the usage of the -Wno-unused-parameter flag consistent across boards and variants
- Solved CI/CD issue with LFS artifact publishing
- And a bunch of other minor fixes & improvements
Known issues:
When using the BLE (Silabs) variant on Windows systems - some linker warnings can be observed like:
The system cannot find the path specified.
make: [C:\Users\user\AppData\Local\Temp\cc6h9sY1.mk:6: C:\Users\user\AppData\Local\Temp\ccED3lAl.ltrans1.ltrans.o] Error 1 (ignored)
These warnings don't cause the compilation to fail and can be safely ignored. We're working on getting rid of them.