mirror of
https://github.com/esphome/esphome.git
synced 2026-06-24 16:04:55 +00:00
[mipi_rgb] Make h- and v-sync pins optional (#14870)
This commit is contained in:
@@ -194,8 +194,12 @@ def model_schema(config):
|
||||
CONF_DE_PIN, cv.UNDEFINED
|
||||
): pins.internal_gpio_output_pin_schema,
|
||||
model.option(CONF_PCLK_PIN): pins.internal_gpio_output_pin_schema,
|
||||
model.option(CONF_HSYNC_PIN): pins.internal_gpio_output_pin_schema,
|
||||
model.option(CONF_VSYNC_PIN): pins.internal_gpio_output_pin_schema,
|
||||
model.option(
|
||||
CONF_HSYNC_PIN, cv.UNDEFINED
|
||||
): pins.internal_gpio_output_pin_schema,
|
||||
model.option(
|
||||
CONF_VSYNC_PIN, cv.UNDEFINED
|
||||
): pins.internal_gpio_output_pin_schema,
|
||||
model.option(CONF_RESET_PIN, cv.UNDEFINED): pins.gpio_output_pin_schema,
|
||||
}
|
||||
)
|
||||
@@ -307,10 +311,12 @@ async def to_code(config):
|
||||
cg.add(var.set_de_pin(pin))
|
||||
pin = await cg.gpio_pin_expression(config[CONF_PCLK_PIN])
|
||||
cg.add(var.set_pclk_pin(pin))
|
||||
pin = await cg.gpio_pin_expression(config[CONF_HSYNC_PIN])
|
||||
cg.add(var.set_hsync_pin(pin))
|
||||
pin = await cg.gpio_pin_expression(config[CONF_VSYNC_PIN])
|
||||
cg.add(var.set_vsync_pin(pin))
|
||||
if hsync_pin := config.get(CONF_HSYNC_PIN):
|
||||
pin = await cg.gpio_pin_expression(hsync_pin)
|
||||
cg.add(var.set_hsync_pin(pin))
|
||||
if vsync_pin := config.get(CONF_VSYNC_PIN):
|
||||
pin = await cg.gpio_pin_expression(vsync_pin)
|
||||
cg.add(var.set_vsync_pin(pin))
|
||||
|
||||
await display.register_display(var, config)
|
||||
if lamb := config.get(CONF_LAMBDA):
|
||||
|
||||
@@ -158,8 +158,16 @@ void MipiRgb::common_setup_() {
|
||||
}
|
||||
config.data_width = data_pin_count;
|
||||
config.disp_gpio_num = GPIO_NUM_NC;
|
||||
config.hsync_gpio_num = static_cast<gpio_num_t>(this->hsync_pin_->get_pin());
|
||||
config.vsync_gpio_num = static_cast<gpio_num_t>(this->vsync_pin_->get_pin());
|
||||
if (this->hsync_pin_) {
|
||||
config.hsync_gpio_num = static_cast<gpio_num_t>(this->hsync_pin_->get_pin());
|
||||
} else {
|
||||
config.hsync_gpio_num = GPIO_NUM_NC;
|
||||
}
|
||||
if (this->vsync_pin_) {
|
||||
config.vsync_gpio_num = static_cast<gpio_num_t>(this->vsync_pin_->get_pin());
|
||||
} else {
|
||||
config.vsync_gpio_num = GPIO_NUM_NC;
|
||||
}
|
||||
if (this->de_pin_) {
|
||||
config.de_gpio_num = static_cast<gpio_num_t>(this->de_pin_->get_pin());
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user