Commit Graph
13 Commits
Author SHA1 Message Date
NonaSuomy b7b3b06e92 [lsm6ds] Restructure component with _base, _i2c, _spi pattern
Major restructure to follow ESPHome conventions for multi-interface components:

Component Structure Changes:
- Renamed lsm6ds/ to lsm6ds_base/ to follow _base naming convention
- Created lsm6ds_i2c/ for I2C interface implementation
- Created lsm6ds_spi/ for SPI interface implementation
- Both interfaces use AUTO_LOAD to automatically include base component
- Updated C++ namespaces to match component folder names (lsm6ds_base, lsm6ds_i2c, lsm6ds_spi)

Features:
- Support for LSM6DSOX, LSM6DS3TR-C, LSM6DSO32 variants
- Full 3-axis accelerometer and gyroscope support
- Temperature sensor support
- Configurable ranges: Accel (2G-16G), Gyro (125-2000 DPS)
- Configurable output data rate (12.5Hz - 6.66kHz)
- Two usage patterns: all-in-one and hub+sensor platform

Implementation Details:
- Base component (lsm6ds_base) contains shared code and abstract LSM6DSComponent class
- I2C variant implements LSM6DSI2CDevice with I2C read/write methods
- SPI variant implements LSM6DSSPIDevice with SPI read/write methods (MSB-based protocol)
- Both variants support optional sensor.py for hub+sensor pattern
- Added README_EXAMPLE.md files with usage examples for both interfaces
- Added component test files for validation

Documentation:
- Added COMPONENT_STRUCTURE.md explaining architecture and usage patterns
- Included example configurations for both I2C and SPI
- Documented all configuration options and sensor variants
2026-06-04 03:45:55 -04:00
NonaSuomy b9aef32d79 Update detection log for LSM6DS3TR-C sensor
Added LSM6DS3TR-C/LSM6DSM both share the same WHO_AM_I of 0x6A
2026-06-03 16:54:49 -04:00
NonaSuomy 31a80652fa Merge branch 'esphome:dev' into lsm6ds_test_001 2026-06-03 10:28:21 -04:00
NonaSuomy 63e4109190 Merge branch 'esphome:dev' into lsm6ds_test_001 2026-04-26 06:48:37 -04:00
NonaSuomy 410f376dbe fix: add hal.h include for millis() and delay() in lsm6ds 2026-04-12 13:18:43 -04:00
NonaSuomy ed54ad9eaa [lsm6ds] Add CODEOWNERS 2026-04-11 16:40:36 -04:00
NonaSuomy f404061060 [lsm6ds] Add support for LSM6DSO32TR (WHO_AM_I 0x69) 2026-04-11 15:58:49 -04:00
NonaSuomy d0d3ed8b0c [lsm6ds] Rename 0HZ to OFF in ODR options 2026-04-11 15:44:00 -04:00
NonaSuomy 67e69e7709 [lsm6ds] Add separate GYRO_ODR constants and fix enum ordering 2026-04-11 15:43:02 -04:00
NonaSuomy 67762e5cde [lsm6ds] Fix enum ordering in const.py 2026-04-11 14:59:09 -04:00
NonaSuomy e1486e229b Merge branch 'esphome:dev' into lsm6ds_test_001 2026-04-11 14:26:16 -04:00
NonaSuomy b5dfd3b31f [lsm6ds] Add LSM6DS component (LSM6DSOX/LSM6DS3TR-C) 2026-04-11 14:24:23 -04:00
NonaSuomy 2894a138e7 Update const.py added missing millimeter (#6834)
* Update const.py added missing millimeter

Added missing millimeter

* Fixed UNIT_MILLIMETER in multiple locations.
2024-05-31 05:13:11 +00:00