6static const char *
const TAG =
"xl9535";
18 ESP_LOGCONFIG(TAG,
"XL9535:");
22 ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
36 state = (port & (1 << (pin - 10))) != 0;
43 state = (port & (1 << pin)) != 0;
52 uint8_t register_data = 0;
60 register_data = register_data & (~(1 << (pin - 10)));
61 port = register_data | value << (pin - 10);
72 register_data = register_data & (~(1 << pin));
73 port = register_data | value << pin;
91 port = port | (1 << (pin - 10));
93 port = port & (~(1 << (pin - 10)));
101 port = port | (1 << pin);
103 port = port & (~(1 << pin));
113 return buf_append_printf(buffer,
len, 0,
"%u via XL9535", this->
pin_);
BedjetMode mode
BedJet operating mode.
void mark_failed()
Mark this component as failed.
void status_set_warning()
void status_clear_warning()
ErrorCode write_register(uint8_t a_register, const uint8_t *data, size_t len) const
writes an array of bytes to a specific register in the I²C device
ErrorCode read_register(uint8_t a_register, uint8_t *data, size_t len)
reads an array of bytes from a specific register in the I²C device
bool digital_read(uint8_t pin)
void digital_write(uint8_t pin, bool value)
void pin_mode(uint8_t pin, gpio::Flags mode)
void dump_config() override
bool digital_read() override
XL9535Component * parent_
size_t dump_summary(char *buffer, size_t len) const override
void pin_mode(gpio::Flags flags) override
void digital_write(bool value) override
@ ERROR_OK
No error found during execution of method.
@ XL9535_INPUT_PORT_0_REGISTER
@ XL9535_INPUT_PORT_1_REGISTER
@ XL9535_OUTPUT_PORT_0_REGISTER
@ XL9535_CONFIG_PORT_1_REGISTER
@ XL9535_CONFIG_PORT_0_REGISTER
@ XL9535_OUTPUT_PORT_1_REGISTER