7static const char *
const TAG =
"max6956";
23 ESP_LOGCONFIG(TAG,
"Setting up MAX6956...");
24 uint8_t configuration;
40 ESP_LOGCONFIG(TAG,
"Enabling normal operation");
59 uint8_t shift = 2 * (pin % 4);
72 config |= (
mode << shift);
79 uint8_t shift = 2 * (pin % 4);
88 config |= (
mode << shift);
94 ESP_LOGE(TAG,
"Global brightness out off range (%u)", current);
109 config &= ~MASK_CONFIG_CURRENT;
117 uint8_t shift = 4 * (pin % 2);
118 uint8_t bright = roundf(brightness * 15);
127 config |= (bright << shift);
146 ESP_LOGCONFIG(TAG,
"MAX6956");
149 ESP_LOGCONFIG(TAG,
"current mode: global");
152 ESP_LOGCONFIG(TAG,
"current mode: segment");
165 snprintf(buffer,
sizeof(buffer),
"%u via Max6956",
pin_);
BedjetMode mode
BedJet operating mode.
virtual void mark_failed()
Mark this component as failed.
bool write_byte(uint8_t a_register, uint8_t data, bool stop=true)
bool read_byte(uint8_t a_register, uint8_t *data, bool stop=true)
std::string dump_summary() const override
void digital_write(bool value) override
void pin_mode(gpio::Flags flags) override
bool digital_read() override
void write_brightness_mode()
void write_brightness_global()
uint8_t global_brightness_
bool read_reg_(uint8_t reg, uint8_t *value)
void digital_write(uint8_t pin, bool value)
void set_brightness_global(uint8_t current)
void dump_config() override
bool digital_read(uint8_t pin)
void set_pin_brightness(uint8_t pin, float brightness)
max6956::MAX6956CURRENTMODE brightness_mode_
void pin_mode(uint8_t pin, gpio::Flags flags)
bool write_reg_(uint8_t reg, uint8_t value)
void set_brightness_mode(max6956::MAX6956CURRENTMODE brightness_mode)
@ MAX6956_1PORT_VALUE_START
@ MAX6956_PORT_CONFIG_START
const uint32_t MASK_INDIVIDUAL_CURRENT
const uint32_t MASK_NORMAL_OPERATION
const uint32_t MASK_1PORT_VALUE
MAX6956GPIOMode
Modes for MAX6956 pins.
const uint8_t MASK_CONFIG_CURRENT
const uint8_t MASK_CURRENT_PIN
const uint32_t MASK_PORT_CONFIG
const uint32_t MASK_TRANSITION_DETECTION
Masks for MAX6956 Configuration register.
Providing packet encoding functions for exchanging data with a remote host.