mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-06-01 18:48:28 +02:00
Cleanup dashboard JS (#491)
* Cleanup dashboard JS * Add vscode * Save start_mark/end_mark * Updates * Updates * Remove need for cv.nameable It's a bit hacky but removes so much bloat from integrations * Add enum helper * Document APIs, and Improvements * Fixes * Fixes * Update PULL_REQUEST_TEMPLATE.md * Updates * Updates * Updates
This commit is contained in:
@@ -11,7 +11,7 @@ SPIDevice = spi_ns.class_('SPIDevice')
|
||||
MULTI_CONF = True
|
||||
|
||||
CONFIG_SCHEMA = cv.All(cv.Schema({
|
||||
cv.GenerateID(): cv.declare_variable_id(SPIComponent),
|
||||
cv.GenerateID(): cv.declare_id(SPIComponent),
|
||||
cv.Required(CONF_CLK_PIN): pins.gpio_output_pin_schema,
|
||||
cv.Optional(CONF_MISO_PIN): pins.gpio_input_pin_schema,
|
||||
cv.Optional(CONF_MOSI_PIN): pins.gpio_output_pin_schema,
|
||||
@@ -19,21 +19,23 @@ CONFIG_SCHEMA = cv.All(cv.Schema({
|
||||
|
||||
|
||||
def to_code(config):
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
yield cg.register_component(var, config)
|
||||
|
||||
clk = yield cg.gpio_pin_expression(config[CONF_CLK_PIN])
|
||||
miso = mosi = cg.nullptr
|
||||
cg.add(var.set_clk(clk))
|
||||
if CONF_MISO_PIN in config:
|
||||
miso = yield cg.gpio_pin_expression(config[CONF_MISO_PIN])
|
||||
cg.add(var.set_miso(miso))
|
||||
if CONF_MOSI_PIN in config:
|
||||
mosi = yield cg.gpio_pin_expression(config[CONF_MOSI_PIN])
|
||||
|
||||
var = cg.new_Pvariable(config[CONF_ID], clk, miso, mosi)
|
||||
yield cg.register_component(var, config)
|
||||
cg.add(var.set_mosi(mosi))
|
||||
|
||||
cg.add_global(spi_ns.using)
|
||||
|
||||
|
||||
SPI_DEVICE_SCHEMA = cv.Schema({
|
||||
cv.GenerateID(CONF_SPI_ID): cv.use_variable_id(SPIComponent),
|
||||
cv.GenerateID(CONF_SPI_ID): cv.use_id(SPIComponent),
|
||||
cv.Required(CONF_CS_PIN): pins.gpio_output_pin_schema,
|
||||
})
|
||||
|
||||
|
||||
@@ -8,7 +8,9 @@ namespace spi {
|
||||
|
||||
class SPIComponent : public Component {
|
||||
public:
|
||||
SPIComponent(GPIOPin *clk, GPIOPin *miso, GPIOPin *mosi) : clk_(clk), miso_(miso), mosi_(mosi) {}
|
||||
void set_clk(GPIOPin *clk) { clk_ = clk; }
|
||||
void set_miso(GPIOPin *miso) { miso_ = miso; }
|
||||
void set_mosi(GPIOPin *mosi) { mosi_ = mosi; }
|
||||
|
||||
void setup() override;
|
||||
|
||||
@@ -30,8 +32,8 @@ class SPIComponent : public Component {
|
||||
|
||||
protected:
|
||||
GPIOPin *clk_;
|
||||
GPIOPin *miso_;
|
||||
GPIOPin *mosi_;
|
||||
GPIOPin *miso_{nullptr};
|
||||
GPIOPin *mosi_{nullptr};
|
||||
GPIOPin *active_cs_{nullptr};
|
||||
bool msb_first_{true};
|
||||
bool high_speed_{false};
|
||||
|
||||
Reference in New Issue
Block a user