From 7adb22de2ce54b46beb2dccb9d22a84cec0f2f30 Mon Sep 17 00:00:00 2001 From: Toby Date: Sun, 20 Sep 2026 21:47:58 +0200 Subject: [PATCH] lsm6ds: fix swapped accel and gyro status bits --- esphome/components/lsm6ds_base/lsm6ds_base.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/esphome/components/lsm6ds_base/lsm6ds_base.cpp b/esphome/components/lsm6ds_base/lsm6ds_base.cpp index ebf664b22..2f943b757 100644 --- a/esphome/components/lsm6ds_base/lsm6ds_base.cpp +++ b/esphome/components/lsm6ds_base/lsm6ds_base.cpp @@ -101,12 +101,7 @@ void LSM6DSComponent::update() { if (!this->read_register(0x1E, &status, 1)) return; - ESP_LOGW(TAG, "STATUS=0x%02X accel_odr=0x%02X gyro_odr=0x%02X", - status, - static_cast(this->accel_odr_), - static_cast(this->gyro_odr_)); - - if (this->gyro_odr_ != LSM6DS_ODR_OFF && (status & 0x01)) { // GDA - Gyroscope data available + if (this->gyro_odr_ != LSM6DS_ODR_OFF && (status & 0x02)) { // GDA - Gyroscope data available uint8_t data[6]; if (this->read_register(0x22, data, 6)) { int16_t gx = encode_uint16(data[1], data[0]); @@ -121,7 +116,7 @@ void LSM6DSComponent::update() { } } - if (this->accel_odr_ != LSM6DS_ODR_OFF && (status & 0x02)) { // XLDA - Accelerometer data available + if (this->accel_odr_ != LSM6DS_ODR_OFF && (status & 0x01)) { // XLDA - Accelerometer data available uint8_t data[6]; if (this->read_register(0x28, data, 6)) { int16_t ax = encode_uint16(data[1], data[0]);