mirror of
https://github.com/esphome/esphome.git
synced 2025-03-13 14:18:14 +00:00
update after review
This commit is contained in:
parent
c701f50793
commit
b991f910b2
@ -54,13 +54,17 @@ MSA_RANGES = {
|
||||
}
|
||||
|
||||
MSAResolution = msa3xx_ns.enum("Resolution", True)
|
||||
MSA_RESOLUTIONS = {
|
||||
RESOLUTIONS_MSA301 = {
|
||||
14: MSAResolution.RES_14BIT,
|
||||
12: MSAResolution.RES_12BIT,
|
||||
10: MSAResolution.RES_10BIT,
|
||||
8: MSAResolution.RES_8BIT,
|
||||
}
|
||||
|
||||
RESOLUTIONS_MSA311 = {
|
||||
12: MSAResolution.RES_12BIT,
|
||||
}
|
||||
|
||||
_COMMON_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(): cv.declare_id(MSA3xxComponent),
|
||||
@ -99,14 +103,12 @@ CONFIG_SCHEMA = cv.typed_schema(
|
||||
{
|
||||
MODEL_MSA301: _COMMON_SCHEMA.extend(
|
||||
{
|
||||
cv.Optional(CONF_RESOLUTION, default=14): cv.enum(MSA_RESOLUTIONS),
|
||||
cv.Optional(CONF_RESOLUTION, default=14): cv.enum(RESOLUTIONS_MSA301),
|
||||
}
|
||||
).extend(i2c.i2c_device_schema(0x26)),
|
||||
MODEL_MSA311: _COMMON_SCHEMA.extend(
|
||||
{
|
||||
cv.Optional(CONF_RESOLUTION): cv.invalid(
|
||||
"MSA311 doesn't support different resolutions"
|
||||
),
|
||||
cv.Optional(CONF_RESOLUTION, default=12): cv.enum(RESOLUTIONS_MSA311),
|
||||
}
|
||||
).extend(i2c.i2c_device_schema(0x62)),
|
||||
},
|
||||
@ -114,21 +116,23 @@ CONFIG_SCHEMA = cv.typed_schema(
|
||||
enum=MSA_MODELS,
|
||||
)
|
||||
|
||||
MSA_SENSOR_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
await i2c.register_i2c_device(var, config)
|
||||
|
||||
if config[CONF_TYPE] == MODEL_MSA311:
|
||||
config[CONF_RESOLUTION] = 12
|
||||
|
||||
cg.add(var.set_model(config[CONF_TYPE]))
|
||||
cg.add(var.set_range(MSA_RANGES[config[CONF_RANGE]]))
|
||||
cg.add(var.set_resolution(MSA_RESOLUTIONS[config[CONF_RESOLUTION]]))
|
||||
cg.add(var.set_resolution(RESOLUTIONS_MSA301[config[CONF_RESOLUTION]]))
|
||||
|
||||
if CONF_TRANSFORM in config:
|
||||
transform = config[CONF_TRANSFORM]
|
||||
if transform := config.get(CONF_TRANSFORM):
|
||||
cg.add(
|
||||
var.set_transform(
|
||||
transform[CONF_MIRROR_X],
|
||||
@ -138,8 +142,7 @@ async def to_code(config):
|
||||
)
|
||||
)
|
||||
|
||||
if CONF_CALIBRATION in config:
|
||||
calibration_config = config[CONF_CALIBRATION]
|
||||
if calibration_config := config.get(CONF_CALIBRATION):
|
||||
cg.add(
|
||||
var.set_offset(
|
||||
calibration_config[CONF_OFFSET_X],
|
||||
|
@ -3,7 +3,7 @@ from esphome.components import binary_sensor
|
||||
import esphome.config_validation as cv
|
||||
from esphome.const import CONF_ACTIVE, CONF_NAME, DEVICE_CLASS_VIBRATION, ICON_VIBRATE
|
||||
|
||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
||||
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||
|
||||
CODEOWNERS = ["@latonita"]
|
||||
DEPENDENCIES = ["msa3xx"]
|
||||
@ -17,11 +17,7 @@ ICON_DOUBLE_TAP = "mdi:gesture-double-tap"
|
||||
EVENT_SENSORS = (CONF_TAP, CONF_DOUBLE_TAP, CONF_ACTIVE)
|
||||
ICONS = (ICON_TAP, ICON_DOUBLE_TAP, ICON_VIBRATE)
|
||||
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
||||
}
|
||||
).extend(
|
||||
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||
{
|
||||
cv.Optional(event): cv.maybe_simple_value(
|
||||
binary_sensor.binary_sensor_schema(
|
||||
|
@ -11,7 +11,7 @@ from esphome.const import (
|
||||
UNIT_METER_PER_SECOND_SQUARED,
|
||||
)
|
||||
|
||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
||||
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||
|
||||
CODEOWNERS = ["@latonita"]
|
||||
DEPENDENCIES = ["msa3xx"]
|
||||
@ -29,11 +29,9 @@ accel_schema = cv.maybe_simple_value(
|
||||
)
|
||||
|
||||
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
||||
}
|
||||
).extend({cv.Optional(sensor): accel_schema for sensor in ACCELERATION_SENSORS})
|
||||
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||
{cv.Optional(sensor): accel_schema for sensor in ACCELERATION_SENSORS}
|
||||
)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
|
@ -3,7 +3,7 @@ from esphome.components import text_sensor
|
||||
import esphome.config_validation as cv
|
||||
from esphome.const import CONF_NAME
|
||||
|
||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
||||
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||
|
||||
CODEOWNERS = ["@latonita"]
|
||||
DEPENDENCIES = ["msa3xx"]
|
||||
@ -14,11 +14,7 @@ ICON_SCREEN_ROTATION = "mdi:screen-rotation"
|
||||
|
||||
ORIENTATION_SENSORS = (CONF_ORIENTATION_XY, CONF_ORIENTATION_Z)
|
||||
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
||||
}
|
||||
).extend(
|
||||
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||
{
|
||||
cv.Optional(sensor): cv.maybe_simple_value(
|
||||
text_sensor.text_sensor_schema(icon=ICON_SCREEN_ROTATION),
|
||||
|
Loading…
x
Reference in New Issue
Block a user