[lsm6ds] Add separate GYRO_ODR constants and fix enum ordering
This commit is contained in:
1 parent
67762e5cde
commit
67e69e7709
2 files changed
+50
-11
No files matched your search
@@ -11,14 +11,14 @@ from .const import (
|
||||
CONF_ACCEL_ODR,
|
||||
CONF_GYRO_ODR,
|
||||
LSM6DS_ACCEL_RANGE_2G,
|
||||
LSM6DS_ACCEL_RANGE_16G,
|
||||
LSM6DS_ACCEL_RANGE_4G,
|
||||
LSM6DS_ACCEL_RANGE_8G,
|
||||
LSM6DS_ACCEL_RANGE_16G,
|
||||
LSM6DS_GYRO_RANGE_125DPS,
|
||||
LSM6DS_GYRO_RANGE_250DPS,
|
||||
LSM6DS_GYRO_RANGE_500DPS,
|
||||
LSM6DS_GYRO_RANGE_1000DPS,
|
||||
LSM6DS_GYRO_RANGE_2000DPS,
|
||||
LSM6DS_GYRO_RANGE_125DPS,
|
||||
LSM6DS_ACCEL_ODR_OFF,
|
||||
LSM6DS_ACCEL_ODR_12_5HZ,
|
||||
LSM6DS_ACCEL_ODR_26HZ,
|
||||
@@ -30,6 +30,17 @@ from .const import (
|
||||
LSM6DS_ACCEL_ODR_1_66KHZ,
|
||||
LSM6DS_ACCEL_ODR_3_33KHZ,
|
||||
LSM6DS_ACCEL_ODR_6_66KHZ,
|
||||
LSM6DS_GYRO_ODR_OFF,
|
||||
LSM6DS_GYRO_ODR_12_5HZ,
|
||||
LSM6DS_GYRO_ODR_26HZ,
|
||||
LSM6DS_GYRO_ODR_52HZ,
|
||||
LSM6DS_GYRO_ODR_104HZ,
|
||||
LSM6DS_GYRO_ODR_208HZ,
|
||||
LSM6DS_GYRO_ODR_416HZ,
|
||||
LSM6DS_GYRO_ODR_833HZ,
|
||||
LSM6DS_GYRO_ODR_1_66KHZ,
|
||||
LSM6DS_GYRO_ODR_3_33KHZ,
|
||||
LSM6DS_GYRO_ODR_6_66KHZ,
|
||||
)
|
||||
|
||||
DEPENDENCIES = ["i2c"]
|
||||
@@ -39,20 +50,20 @@ LSM6DSI2CDevice = lsm6ds_ns.class_("LSM6DSI2CDevice", LSM6DSComponent, i2c.I2CDe
|
||||
|
||||
ACCEL_RANGES = {
|
||||
"2G": LSM6DS_ACCEL_RANGE_2G,
|
||||
"16G": LSM6DS_ACCEL_RANGE_16G,
|
||||
"4G": LSM6DS_ACCEL_RANGE_4G,
|
||||
"8G": LSM6DS_ACCEL_RANGE_8G,
|
||||
"16G": LSM6DS_ACCEL_RANGE_16G,
|
||||
}
|
||||
|
||||
GYRO_RANGES = {
|
||||
"125DPS": LSM6DS_GYRO_RANGE_125DPS,
|
||||
"250DPS": LSM6DS_GYRO_RANGE_250DPS,
|
||||
"500DPS": LSM6DS_GYRO_RANGE_500DPS,
|
||||
"1000DPS": LSM6DS_GYRO_RANGE_1000DPS,
|
||||
"2000DPS": LSM6DS_GYRO_RANGE_2000DPS,
|
||||
"125DPS": LSM6DS_GYRO_RANGE_125DPS,
|
||||
}
|
||||
|
||||
ODRS = {
|
||||
ACCEL_ODRS = {
|
||||
"0HZ": LSM6DS_ACCEL_ODR_OFF,
|
||||
"12.5HZ": LSM6DS_ACCEL_ODR_12_5HZ,
|
||||
"26HZ": LSM6DS_ACCEL_ODR_26HZ,
|
||||
@@ -66,11 +77,25 @@ ODRS = {
|
||||
"6.66KHZ": LSM6DS_ACCEL_ODR_6_66KHZ,
|
||||
}
|
||||
|
||||
GYRO_ODRS = {
|
||||
"0HZ": LSM6DS_GYRO_ODR_OFF,
|
||||
"12.5HZ": LSM6DS_GYRO_ODR_12_5HZ,
|
||||
"26HZ": LSM6DS_GYRO_ODR_26HZ,
|
||||
"52HZ": LSM6DS_GYRO_ODR_52HZ,
|
||||
"104HZ": LSM6DS_GYRO_ODR_104HZ,
|
||||
"208HZ": LSM6DS_GYRO_ODR_208HZ,
|
||||
"416HZ": LSM6DS_GYRO_ODR_416HZ,
|
||||
"833HZ": LSM6DS_GYRO_ODR_833HZ,
|
||||
"1.66KHZ": LSM6DS_GYRO_ODR_1_66KHZ,
|
||||
"3.33KHZ": LSM6DS_GYRO_ODR_3_33KHZ,
|
||||
"6.66KHZ": LSM6DS_GYRO_ODR_6_66KHZ,
|
||||
}
|
||||
|
||||
BASE_SCHEMA = cv.Schema({
|
||||
cv.Optional(CONF_ACCEL_RANGE, default="2G"): cv.enum(ACCEL_RANGES, upper=True),
|
||||
cv.Optional(CONF_GYRO_RANGE, default="250DPS"): cv.enum(GYRO_RANGES, upper=True),
|
||||
cv.Optional(CONF_ACCEL_ODR, default="104HZ"): cv.enum(ODRS, upper=True),
|
||||
cv.Optional(CONF_GYRO_ODR, default="104HZ"): cv.enum(ODRS, upper=True),
|
||||
cv.Optional(CONF_ACCEL_ODR, default="104HZ"): cv.enum(ACCEL_ODRS, upper=True),
|
||||
cv.Optional(CONF_GYRO_ODR, default="104HZ"): cv.enum(GYRO_ODRS, upper=True),
|
||||
}).extend(cv.polling_component_schema("60s"))
|
||||
|
||||
CONFIG_SCHEMA = cv.Schema({
|
||||
@@ -84,8 +109,8 @@ async def to_code(config):
|
||||
|
||||
accel_range = ACCEL_RANGES[config[CONF_ACCEL_RANGE]]
|
||||
gyro_range = GYRO_RANGES[config[CONF_GYRO_RANGE]]
|
||||
accel_odr = ODRS[config[CONF_ACCEL_ODR]]
|
||||
gyro_odr = ODRS[config[CONF_GYRO_ODR]]
|
||||
accel_odr = ACCEL_ODRS[config[CONF_ACCEL_ODR]]
|
||||
gyro_odr = GYRO_ODRS[config[CONF_GYRO_ODR]]
|
||||
|
||||
cg.add(var.set_accel_range(accel_range))
|
||||
cg.add(var.set_gyro_range(gyro_range))
|
||||
|
||||
@@ -19,18 +19,19 @@ LSM6DSComponent = lsm6ds_ns.class_("LSM6DSComponent", cg.PollingComponent)
|
||||
|
||||
LSM6DSAccelRange = lsm6ds_ns.enum("LSM6DSAccelRange")
|
||||
LSM6DS_ACCEL_RANGE_2G = LSM6DSAccelRange.LSM6DS_ACCEL_RANGE_2G
|
||||
LSM6DS_ACCEL_RANGE_16G = LSM6DSAccelRange.LSM6DS_ACCEL_RANGE_16G
|
||||
LSM6DS_ACCEL_RANGE_4G = LSM6DSAccelRange.LSM6DS_ACCEL_RANGE_4G
|
||||
LSM6DS_ACCEL_RANGE_8G = LSM6DSAccelRange.LSM6DS_ACCEL_RANGE_8G
|
||||
LSM6DS_ACCEL_RANGE_16G = LSM6DSAccelRange.LSM6DS_ACCEL_RANGE_16G
|
||||
|
||||
LSM6DSGyroRange = lsm6ds_ns.enum("LSM6DSGyroRange")
|
||||
LSM6DS_GYRO_RANGE_125DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_125DPS
|
||||
LSM6DS_GYRO_RANGE_250DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_250DPS
|
||||
LSM6DS_GYRO_RANGE_500DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_500DPS
|
||||
LSM6DS_GYRO_RANGE_1000DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_1000DPS
|
||||
LSM6DS_GYRO_RANGE_2000DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_2000DPS
|
||||
LSM6DS_GYRO_RANGE_125DPS = LSM6DSGyroRange.LSM6DS_GYRO_RANGE_125DPS
|
||||
|
||||
LSM6DSODR = lsm6ds_ns.enum("LSM6DSODR")
|
||||
# Accelerometer ODR Values (matches ODR_XL[3:0] in CTRL1_XL)
|
||||
LSM6DS_ACCEL_ODR_OFF = LSM6DSODR.LSM6DS_ODR_OFF
|
||||
LSM6DS_ACCEL_ODR_12_5HZ = LSM6DSODR.LSM6DS_ODR_12_5HZ
|
||||
LSM6DS_ACCEL_ODR_26HZ = LSM6DSODR.LSM6DS_ODR_26HZ
|
||||
@@ -43,6 +44,19 @@ LSM6DS_ACCEL_ODR_1_66KHZ = LSM6DSODR.LSM6DS_ODR_1_66KHZ
|
||||
LSM6DS_ACCEL_ODR_3_33KHZ = LSM6DSODR.LSM6DS_ODR_3_33KHZ
|
||||
LSM6DS_ACCEL_ODR_6_66KHZ = LSM6DSODR.LSM6DS_ODR_6_66KHZ
|
||||
|
||||
# Gyroscope ODR Values (matches ODR_G[3:0] in CTRL2_G)
|
||||
LSM6DS_GYRO_ODR_OFF = LSM6DSODR.LSM6DS_ODR_OFF
|
||||
LSM6DS_GYRO_ODR_12_5HZ = LSM6DSODR.LSM6DS_ODR_12_5HZ
|
||||
LSM6DS_GYRO_ODR_26HZ = LSM6DSODR.LSM6DS_ODR_26HZ
|
||||
LSM6DS_GYRO_ODR_52HZ = LSM6DSODR.LSM6DS_ODR_52HZ
|
||||
LSM6DS_GYRO_ODR_104HZ = LSM6DSODR.LSM6DS_ODR_104HZ
|
||||
LSM6DS_GYRO_ODR_208HZ = LSM6DSODR.LSM6DS_ODR_208HZ
|
||||
LSM6DS_GYRO_ODR_416HZ = LSM6DSODR.LSM6DS_ODR_416HZ
|
||||
LSM6DS_GYRO_ODR_833HZ = LSM6DSODR.LSM6DS_ODR_833HZ
|
||||
LSM6DS_GYRO_ODR_1_66KHZ = LSM6DSODR.LSM6DS_ODR_1_66KHZ
|
||||
LSM6DS_GYRO_ODR_3_33KHZ = LSM6DSODR.LSM6DS_ODR_3_33KHZ
|
||||
LSM6DS_GYRO_ODR_6_66KHZ = LSM6DSODR.LSM6DS_ODR_6_66KHZ
|
||||
|
||||
CONF_ACCEL_X = "accel_x"
|
||||
CONF_ACCEL_Y = "accel_y"
|
||||
CONF_ACCEL_Z = "accel_z"
|
||||
|
||||
Reference in new issue
Block a user