Releases: lewisxhe/SensorLib
Releases · lewisxhe/SensorLib
Release v0.4.1
SensorLib v0.4.1
Highlights
- Added haptic driver aggregation and expanded haptic driver examples (DRV2605 + AW86224)
- Improved ESP-IDF Component Registry readiness and bumped package versions to 0.4.1
- Large set of example updates: unified touch include usage, richer touch point output, and multiple wiring/address fixes
- Refactored several device/driver layers towards the new shared I2C device abstractions (
I2CDeviceNoHal,I2CDeviceWithHal,ComplexStaticDeviceWithHal) - Misc build / project hygiene updates (
.gitignore,platformio.ini, CMake include cleanup)
Added
Haptics
- Added
HapticDrivers.hppas a unified include header for haptic drivers:HapticDriver_DRV2605HapticDriver_AW86224
- New examples:
examples/HapticDrv_AW86224_Full(full-feature demo + CLI-style commands)examples/HapticDrv_DRV2605_Effect(effect playback demo)examples/HapticDrv_DRV2605_Full(extended DRV2605 demo)
Magnetometer examples
- New examples for QMC magnetometers:
examples/MagInterface_GetDataExampleexamples/QMC6309_GetDataExample
ESP-IDF distribution
- SensorLib is now positioned for ESP-IDF Component Registry usage (README updated with dependency snippet and version guidance).
Changed
Versioning / package metadata
- Updated versions to 0.4.1:
idf_component.ymllibrary.jsonlibrary.propertiessrc/SensorLib_Version.h(patch version +SENSORLIB_VERSION_STR)
Touch examples modernization
- Many touch examples now include the umbrella header:
#include <TouchDrv.hpp>
- Updated touch examples to use
getTouchPoints()and print richer information (ID/pressure/event), and improved “resolution unsupported” messaging.
Driver architecture refactors (internal)
- Multiple drivers migrated toward shared communication abstractions:
GaugeAXP2602refactored to useI2CDeviceWithHalGaugeBQ27220refactored to useI2CDeviceWithHal- I/O expanders updated (e.g. XL9555 / PCA9570) to use
I2CDeviceNoHaland cleaner address handling - Bosch sensor base classes adjusted to use
ComplexStaticDeviceWithHalstyle patterns (reducing duplicated begin/init plumbing)
Fixed
Examples / wiring defaults
- AXP2602 gauge example: swapped default SDA/SCL pin values for consistency with target boards
- CM32181 example:
- Updated default SDA/SCL pins
- Uses
CM32181_SLAVE_ADDRESSnaming
- LTR553 example: uses explicit
LTR553_SLAVE_ADDRESS - RTC example typo:
PCF8563_SimpleTimemessage corrected (“PCF8563” instead of “PCF85063”) - ESP-IDF touch example updated to include
<TouchDrv.hpp>
Build / repo hygiene
CMakeLists.txt: removed an outdated include path entry (src/REG)platformio.ini: updated example selection and default env tweaks (incl. flash mode adjustment for ESP32-C3 and board selection changes for ESP32-S3 config)
Deprecations / Migration Notes
SensorDRV2605.hpphas been renamed / redirected:- Now includes
HapticDrivers.hpp SensorDRV2605is aliased toHapticDriver_DRV2605
- Now includes
- Recommended migration:
- Replace
#include "SensorDRV2605.hpp"with#include "HapticDrivers.hpp" - Replace
SensorDRV2605usage withHapticDriver_DRV2605(optional; alias exists)
- Replace
Release v0.4.0
SensorLib v0.4.0
Highlights
- Major Bosch smart sensor stack improvements (BHI260/BHI360), new examples, and helper utilities
- Touch driver refactor with new HI8561 support and GT9895 fixes
- Refactored I/O expander layer
- Documentation + compliance updates (THIRD_PARTY_NOTICES, revamped README)
- CI / build compatibility fixes across toolchains
Bosch / Smart Sensor (BHI260/BHI360) updates
- Added BHI360 support and improved Bosch sensor product handling
- Added BHI360-related parsing and helpers:
- IAQ ID / IAQ parsing functions and related printing adapter
- Sensor orientation enumeration and unified configuration parameters
- Firmware update callback function, interrupt control
- Added/updated a large set of examples:
- BHI360 examples, StepCounter
- MultiTap function + MultiTap example
- Any Motion / No Motion helper class + examples
- Updated BHI260/BHI260AP examples and comments
- Added EVB pins and fixed sensor initialization / meta event id issues
- Updated Bosch source/layout:
- Changed BHI260 directory structure
- Added BHI360 firmware + dependency files
- Modified bhy2 sources to remove BHI3 IAQ (project-specific change)
- Internal improvements:
- Optimized
BoschCallbackManager - Added
SensorCommseparate read method (Arduino/ESP-IDF variants)
- Optimized
Bosch BMA4xx accelerometer series
- Added Bosch BMA422 support + examples
- Introduced/extended BMA4xx base layer:
- Added accelerometer base class
- Added bma4xx base class and Bosch BMA4xx API interface
- Improved BMA4xx base class and naming convention
- Added BMA456H support + feature examples
- Refactored
SensorBMA423, updated examples, fixed warnings/typos, removed redundant params
Touch drivers
- Refactoring: introduced a unified touch data class and unified data retrieval
- Added method to set target resolution for touch classes
- Fixed GT9895 touch malfunction (issue #35)
- Added HI8561 touch panel support (issue #33):
- Custom device id
- LilyGoP4 example
- Fixed bug where touch coordinates could be 0 if max resolution not set
TouchDrvInterface:- Destructor made virtual
- Comments/docs updated
I/O Expander / GPIO
- Refactored I/O extender layer:
- New/updated enumeration transitions (
IoExpanderGPIO) and enum positioning fixes - Introduced generic inline helper method
- Updated io extender example
- New/updated enumeration transitions (
Magnetometer
- Added support for QMC5883L
- Added a magnetometer base class to unify interface
- Updated magnetometer examples
Build / CI / Toolchain compatibility
- Fixed CI (multiple rounds), including IDF CI and Mbed CI adjustments
- Fixed compilation conflicts and warnings
- Fixed Arduino toolchain issues:
arduino-espcompilation fixstd::nothrowlink errors fix- Arduino nRF52 compilation errors fixes (and earlier nRF52 compatibility work)
- CMake / build system formatting and updates
Documentation / Metadata / Release hygiene
- Updated
README.mdmultiple times:- New “cool” header/banner, improved structure (Installation / Examples / Notes / License)
- Clarified Arduino IDE & PlatformIO installation methods (Registry/Library Manager)
- Added/updated
keywords - Added git property settings and filtering rules
- Cleanups:
- Removed redundant/invalid files
- Fixed links
- Updated PlatformIO ini
- Added THIRD_PARTY_NOTICES.md and clarified Bosch third-party licensing
- Bumped version: Updated to v0.4.0
Release V0.3.4
Full Changelog: v0.3.3...v0.3.4
Release V0.3.3
What's Changed
- [FT6X36] Fix the API about the INT pin mode. by @logic-wei in #27
- BMA423 sensor fixes by @zoluxsys in #28
New Contributors
- @logic-wei made their first contribution in #27
- @zoluxsys made their first contribution in #28
Full Changelog: v0.3.2...v0.3.3
Release v0.3.2
Full Changelog: v0.3.1...v0.3.2
Release v0.3.1
Full Changelog: v0.3.0...v0.3.1
Release v0.3.0
Full Changelog: v0.2.6...v0.3.0
Release v0.2.6
What's Changed
- LTR553 bug fixes by @Hynek-Texl in #19
New Contributors
- @Hynek-Texl made their first contribution in #19
Full Changelog: v0.2.5...v0.2.6
Release v0.2.5
Full Changelog: v0.2.4...v0.2.5
Release v0.2.4
Full Changelog: v0.2.3...v0.2.4