mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Fix tm1651 enum (#6248)
This commit is contained in:
		| @@ -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(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user