mirror of
https://github.com/esphome/esphome.git
synced 2025-03-15 15:18:16 +00:00
add ttp229_besf support
This commit is contained in:
parent
e9b32be470
commit
c6bfa40a10
25
esphome/components/binary_sensor/ttp229_bsf.py
Normal file
25
esphome/components/binary_sensor/ttp229_bsf.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
|
from esphome.components import binary_sensor
|
||||||
|
from esphome.components.ttp229_bsf import TTP229BSFComponent, CONF_TTP229_BSF_ID
|
||||||
|
import esphome.config_validation as cv
|
||||||
|
from esphome.const import CONF_CHANNEL, CONF_NAME
|
||||||
|
from esphome.cpp_generator import get_variable
|
||||||
|
|
||||||
|
DEPENDENCIES = ['ttp229_bsf']
|
||||||
|
|
||||||
|
TTP229Channel = binary_sensor.binary_sensor_ns.class_(
|
||||||
|
'TTP229Channel', binary_sensor.BinarySensor)
|
||||||
|
|
||||||
|
PLATFORM_SCHEMA = cv.nameable(binary_sensor.BINARY_SENSOR_PLATFORM_SCHEMA.extend({
|
||||||
|
cv.GenerateID(): cv.declare_variable_id(TTP229Channel),
|
||||||
|
cv.GenerateID(CONF_TTP229_BSF_ID): cv.use_variable_id(TTP229BSFComponent),
|
||||||
|
vol.Required(CONF_CHANNEL): vol.All(vol.Coerce(int), vol.Range(min=0, max=15))
|
||||||
|
}))
|
||||||
|
|
||||||
|
|
||||||
|
def to_code(config):
|
||||||
|
for hub in get_variable(config[CONF_TTP229_BSF_ID]):
|
||||||
|
yield
|
||||||
|
rhs = TTP229Channel.new(config[CONF_NAME], config[CONF_CHANNEL])
|
||||||
|
binary_sensor.register_binary_sensor(hub.add_channel(rhs), config)
|
35
esphome/components/ttp229_bsf.py
Normal file
35
esphome/components/ttp229_bsf.py
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
|
from esphome.components import binary_sensor
|
||||||
|
import esphome.config_validation as cv
|
||||||
|
from esphome.const import CONF_ID, CONF_SCL, CONF_SDO
|
||||||
|
from esphome.cpp_generator import Pvariable
|
||||||
|
from esphome.cpp_helpers import setup_component
|
||||||
|
from esphome.cpp_types import App, Component
|
||||||
|
from esphome.cpp_helpers import gpio_output_pin_expression
|
||||||
|
from esphome.pins import gpio_input_pullup_pin_schema
|
||||||
|
|
||||||
|
MULTI_CONF = True
|
||||||
|
|
||||||
|
CONF_TTP229_BSF_ID = 'ttp229_bsf_id'
|
||||||
|
TTP229BSFComponent = binary_sensor.binary_sensor_ns.class_('TTP229BSFComponent', Component)
|
||||||
|
|
||||||
|
CONFIG_SCHEMA = cv.Schema({
|
||||||
|
cv.GenerateID(): cv.declare_variable_id(TTP229BSFComponent),
|
||||||
|
vol.Required(CONF_SDO): gpio_input_pullup_pin_schema,
|
||||||
|
vol.Required(CONF_SCL): gpio_input_pullup_pin_schema,
|
||||||
|
}).extend(cv.COMPONENT_SCHEMA.schema)
|
||||||
|
|
||||||
|
|
||||||
|
def to_code(config):
|
||||||
|
for sdo_pin in gpio_output_pin_expression(config[CONF_SDO]):
|
||||||
|
yield
|
||||||
|
for scl_pin in gpio_output_pin_expression(config[CONF_SCL]):
|
||||||
|
yield
|
||||||
|
rhs = App.make_ttp229_bsf(sdo_pin, scl_pin)
|
||||||
|
var = Pvariable(config[CONF_ID], rhs)
|
||||||
|
|
||||||
|
setup_component(var, config)
|
||||||
|
|
||||||
|
|
||||||
|
BUILD_FLAGS = '-DUSE_TTP229_BSF'
|
@ -59,7 +59,7 @@ CONF_INVERTED = 'inverted'
|
|||||||
CONF_I2C = 'i2c'
|
CONF_I2C = 'i2c'
|
||||||
CONF_SDA = 'sda'
|
CONF_SDA = 'sda'
|
||||||
CONF_SCL = 'scl'
|
CONF_SCL = 'scl'
|
||||||
COND_SDO = 'sdo'
|
CONF_SDO = 'sdo'
|
||||||
CONF_FREQUENCY = 'frequency'
|
CONF_FREQUENCY = 'frequency'
|
||||||
CONF_PCA9685 = 'pca9685'
|
CONF_PCA9685 = 'pca9685'
|
||||||
CONF_PCA9685_ID = 'pca9685_id'
|
CONF_PCA9685_ID = 'pca9685_id'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user