mirror of
https://github.com/esphome/esphome.git
synced 2024-11-25 16:38:16 +01:00
Fix tm1651 enum (#6248)
This commit is contained in:
parent
edd1678463
commit
5ef1bab23e
3 changed files with 18 additions and 10 deletions
|
@ -13,6 +13,7 @@ from esphome.const import (
|
||||||
CODEOWNERS = ["@freekode"]
|
CODEOWNERS = ["@freekode"]
|
||||||
|
|
||||||
tm1651_ns = cg.esphome_ns.namespace("tm1651")
|
tm1651_ns = cg.esphome_ns.namespace("tm1651")
|
||||||
|
TM1651Brightness = tm1651_ns.enum("TM1651Brightness")
|
||||||
TM1651Display = tm1651_ns.class_("TM1651Display", cg.Component)
|
TM1651Display = tm1651_ns.class_("TM1651Display", cg.Component)
|
||||||
|
|
||||||
SetLevelPercentAction = tm1651_ns.class_("SetLevelPercentAction", automation.Action)
|
SetLevelPercentAction = tm1651_ns.class_("SetLevelPercentAction", automation.Action)
|
||||||
|
@ -24,9 +25,9 @@ TurnOffAction = tm1651_ns.class_("SetLevelPercentAction", automation.Action)
|
||||||
CONF_LEVEL_PERCENT = "level_percent"
|
CONF_LEVEL_PERCENT = "level_percent"
|
||||||
|
|
||||||
TM1651_BRIGHTNESS_OPTIONS = {
|
TM1651_BRIGHTNESS_OPTIONS = {
|
||||||
1: TM1651Display.TM1651_BRIGHTNESS_LOW,
|
1: TM1651Brightness.TM1651_BRIGHTNESS_LOW,
|
||||||
2: TM1651Display.TM1651_BRIGHTNESS_MEDIUM,
|
2: TM1651Brightness.TM1651_BRIGHTNESS_MEDIUM,
|
||||||
3: TM1651Display.TM1651_BRIGHTNESS_HIGH,
|
3: TM1651Brightness.TM1651_BRIGHTNESS_HIGH,
|
||||||
}
|
}
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.All(
|
CONFIG_SCHEMA = cv.All(
|
||||||
|
|
|
@ -12,9 +12,9 @@ static const char *const TAG = "tm1651.display";
|
||||||
static const uint8_t MAX_INPUT_LEVEL_PERCENT = 100;
|
static const uint8_t MAX_INPUT_LEVEL_PERCENT = 100;
|
||||||
static const uint8_t TM1651_MAX_LEVEL = 7;
|
static const uint8_t TM1651_MAX_LEVEL = 7;
|
||||||
|
|
||||||
static const uint8_t TM1651_BRIGHTNESS_LOW = 0;
|
static const uint8_t TM1651_BRIGHTNESS_LOW_HW = 0;
|
||||||
static const uint8_t TM1651_BRIGHTNESS_MEDIUM = 2;
|
static const uint8_t TM1651_BRIGHTNESS_MEDIUM_HW = 2;
|
||||||
static const uint8_t TM1651_BRIGHTNESS_HIGH = 7;
|
static const uint8_t TM1651_BRIGHTNESS_HIGH_HW = 7;
|
||||||
|
|
||||||
void TM1651Display::setup() {
|
void TM1651Display::setup() {
|
||||||
ESP_LOGCONFIG(TAG, "Setting up TM1651...");
|
ESP_LOGCONFIG(TAG, "Setting up TM1651...");
|
||||||
|
@ -78,14 +78,14 @@ uint8_t TM1651Display::calculate_level_(uint8_t new_level) {
|
||||||
|
|
||||||
uint8_t TM1651Display::calculate_brightness_(uint8_t new_brightness) {
|
uint8_t TM1651Display::calculate_brightness_(uint8_t new_brightness) {
|
||||||
if (new_brightness <= 1) {
|
if (new_brightness <= 1) {
|
||||||
return TM1651_BRIGHTNESS_LOW;
|
return TM1651_BRIGHTNESS_LOW_HW;
|
||||||
} else if (new_brightness == 2) {
|
} else if (new_brightness == 2) {
|
||||||
return TM1651_BRIGHTNESS_MEDIUM;
|
return TM1651_BRIGHTNESS_MEDIUM_HW;
|
||||||
} else if (new_brightness >= 3) {
|
} else if (new_brightness >= 3) {
|
||||||
return TM1651_BRIGHTNESS_HIGH;
|
return TM1651_BRIGHTNESS_HIGH_HW;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TM1651_BRIGHTNESS_LOW;
|
return TM1651_BRIGHTNESS_LOW_HW;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace tm1651
|
} // namespace tm1651
|
||||||
|
|
|
@ -13,6 +13,12 @@
|
||||||
namespace esphome {
|
namespace esphome {
|
||||||
namespace tm1651 {
|
namespace tm1651 {
|
||||||
|
|
||||||
|
enum TM1651Brightness : uint8_t {
|
||||||
|
TM1651_BRIGHTNESS_LOW = 1,
|
||||||
|
TM1651_BRIGHTNESS_MEDIUM = 2,
|
||||||
|
TM1651_BRIGHTNESS_HIGH = 3,
|
||||||
|
};
|
||||||
|
|
||||||
class TM1651Display : public Component {
|
class TM1651Display : public Component {
|
||||||
public:
|
public:
|
||||||
void set_clk_pin(InternalGPIOPin *pin) { clk_pin_ = pin; }
|
void set_clk_pin(InternalGPIOPin *pin) { clk_pin_ = pin; }
|
||||||
|
@ -24,6 +30,7 @@ class TM1651Display : public Component {
|
||||||
void set_level_percent(uint8_t new_level);
|
void set_level_percent(uint8_t new_level);
|
||||||
void set_level(uint8_t new_level);
|
void set_level(uint8_t new_level);
|
||||||
void set_brightness(uint8_t new_brightness);
|
void set_brightness(uint8_t new_brightness);
|
||||||
|
void set_brightness(TM1651Brightness new_brightness) { this->set_brightness(static_cast<uint8_t>(new_brightness)); }
|
||||||
|
|
||||||
void turn_on();
|
void turn_on();
|
||||||
void turn_off();
|
void turn_off();
|
||||||
|
|
Loading…
Reference in a new issue