first commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import display
|
||||
from esphome.const import CONF_DISPLAY_ID, CONF_ID, CONF_URL, CONF_X, CONF_Y
|
||||
from esphome.core import CORE
|
||||
|
||||
DEPENDENCIES = ["display", "esp32"]
|
||||
|
||||
fast_jpeg_ns = cg.esphome_ns.namespace("fast_jpeg")
|
||||
FastJpeg = fast_jpeg_ns.class_("FastJpeg", cg.PollingComponent)
|
||||
|
||||
CONF_BIG_ENDIAN = "big_endian"
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(): cv.declare_id(FastJpeg),
|
||||
cv.Required(CONF_URL): cv.url,
|
||||
cv.Required(CONF_DISPLAY_ID): cv.use_id(display.Display),
|
||||
cv.Optional(CONF_X, default=0): cv.int_,
|
||||
cv.Optional(CONF_Y): cv.int_,
|
||||
cv.Optional(CONF_BIG_ENDIAN, default=True): cv.boolean,
|
||||
}
|
||||
)
|
||||
.extend(cv.polling_component_schema("200ms"))
|
||||
)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
cg.add(var.set_url(config[CONF_URL]))
|
||||
disp = await cg.get_variable(config[CONF_DISPLAY_ID])
|
||||
cg.add(var.set_display(disp))
|
||||
cg.add(var.set_x(config[CONF_X]))
|
||||
if CONF_Y in config:
|
||||
cg.add(var.set_y(config[CONF_Y]))
|
||||
cg.add(var.set_big_endian(config[CONF_BIG_ENDIAN]))
|
||||
|
||||
cg.add_library("JPEGDEC", "1.8.4", "https://github.com/bitbank2/JPEGDEC#1.8.4")
|
||||
if CORE.is_esp32:
|
||||
from esphome.components.esp32 import add_idf_component, include_builtin_idf_component
|
||||
|
||||
include_builtin_idf_component("esp_http_client")
|
||||
add_idf_component(name="espressif/esp-dsp", ref="1.8.2")
|
||||
Reference in New Issue
Block a user