[spi] Add mosi pin checks for displays (#7702)

This commit is contained in:
Clyde Stubbs 2024-10-31 09:28:18 +11:00 committed by GitHub
parent e85157db4b
commit 5a2fed3569
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 88 additions and 34 deletions

View file

@ -196,6 +196,10 @@ CONFIG_SCHEMA = cv.All(
_validate,
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ili9xxx", require_miso=False, require_mosi=True
)
async def to_code(config):
rhs = MODELS[config[CONF_MODEL]].new()

View file

@ -1,15 +1,15 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import display, spi
import esphome.config_validation as cv
from esphome.const import (
CONF_CONTRAST,
CONF_CS_PIN,
CONF_DC_PIN,
CONF_ID,
CONF_LAMBDA,
CONF_PAGES,
CONF_RESET_PIN,
CONF_CS_PIN,
CONF_CONTRAST,
)
DEPENDENCIES = ["spi"]
@ -35,6 +35,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"pcd8544", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,8 +1,8 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1306_base
from esphome.components.ssd1306_base import _validate
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
AUTO_LOAD = ["ssd1306_base"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
_validate,
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1306_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1322_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@kbx81"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1322_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1325_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@kbx81"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1325_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1327_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@kbx81"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1327_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1331_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@kbx81"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1331_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, ssd1351_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@kbx81"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"ssd1351_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
import esphome.codegen as cg
from esphome.components import spi, st7567_base
import esphome.config_validation as cv
from esphome.const import CONF_DC_PIN, CONF_ID, CONF_LAMBDA, CONF_PAGES
CODEOWNERS = ["@latonita"]
@ -24,6 +24,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"st7567_spi", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -167,6 +167,10 @@ CONFIG_SCHEMA = cv.All(
cv.only_with_esp_idf,
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"st7701s", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,17 +1,17 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
from esphome.components import spi
from esphome.components import display
import esphome.codegen as cg
from esphome.components import display, spi
import esphome.config_validation as cv
from esphome.const import (
CONF_DC_PIN,
CONF_ID,
CONF_INVERT_COLORS,
CONF_LAMBDA,
CONF_MODEL,
CONF_RESET_PIN,
CONF_PAGES,
CONF_INVERT_COLORS,
CONF_RESET_PIN,
)
from . import st7735_ns
CODEOWNERS = ["@SenexCrenshaw"]
@ -68,6 +68,11 @@ CONFIG_SCHEMA = cv.All(
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"st7735", require_miso=False, require_mosi=True
)
async def setup_st7735(var, config):
await display.register_display(var, config)

View file

@ -1,22 +1,23 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import pins
from esphome.components import display, spi, power_supply
import esphome.codegen as cg
from esphome.components import display, power_supply, spi
import esphome.config_validation as cv
from esphome.const import (
CONF_BACKLIGHT_PIN,
CONF_CS_PIN,
CONF_DC_PIN,
CONF_HEIGHT,
CONF_ID,
CONF_LAMBDA,
CONF_MODEL,
CONF_RESET_PIN,
CONF_WIDTH,
CONF_POWER_SUPPLY,
CONF_ROTATION,
CONF_CS_PIN,
CONF_OFFSET_HEIGHT,
CONF_OFFSET_WIDTH,
CONF_POWER_SUPPLY,
CONF_RESET_PIN,
CONF_ROTATION,
CONF_WIDTH,
)
from . import st7789v_ns
CONF_EIGHTBITCOLOR = "eightbitcolor"
@ -168,6 +169,10 @@ CONFIG_SCHEMA = cv.All(
validate_st7789v,
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"st7789v", require_miso=False, require_mosi=True
)
async def to_code(config):
var = cg.new_Pvariable(config[CONF_ID])

View file

@ -1,7 +1,7 @@
import esphome.codegen as cg
import esphome.config_validation as cv
from esphome import core, pins
import esphome.codegen as cg
from esphome.components import display, spi
import esphome.config_validation as cv
from esphome.const import (
CONF_BUSY_PIN,
CONF_DC_PIN,
@ -187,6 +187,10 @@ CONFIG_SCHEMA = cv.All(
cv.has_at_most_one_key(CONF_PAGES, CONF_LAMBDA),
)
FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema(
"waveshare_epaper", require_miso=False, require_mosi=True
)
async def to_code(config):
model_type, model = MODELS[config[CONF_MODEL]]