ESPHome 2025.12.3
Loading...
Searching...
No Matches
hub75_component.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef USE_ESP32
4
5#include <utility>
6
9#include "esphome/core/hal.h"
10#include "esphome/core/log.h"
11#include "hub75.h" // hub75 library
12
13namespace esphome::hub75 {
14
17
19 public:
20 // Constructor accepting config
21 explicit HUB75Display(const Hub75Config &config);
22
23 // Core Component methods
24 void setup() override;
25 void dump_config() override;
26 float get_setup_priority() const override { return setup_priority::PROCESSOR; }
27
28 // Display/PollingComponent methods
29 void update() override;
31 void fill(Color color) override;
32 void draw_pixel_at(int x, int y, Color color) override;
33 void draw_pixels_at(int x_start, int y_start, int w, int h, const uint8_t *ptr, display::ColorOrder order,
34 display::ColorBitness bitness, bool big_endian, int x_offset, int y_offset, int x_pad) override;
35
36 // Brightness control (runtime mutable)
37 void set_brightness(int brightness);
38
39 protected:
40 // Display internal methods
41 int get_width_internal() override { return config_.panel_width * config_.layout_cols; }
42 int get_height_internal() override { return config_.panel_height * config_.layout_rows; }
43
44 // Member variables
45 Hub75Driver *driver_{nullptr};
46 Hub75Config config_; // Immutable configuration
47
48 // Runtime state (mutable)
49 int brightness_{128};
50 bool enabled_{false};
51};
52
53} // namespace esphome::hub75
54
55#endif
uint8_t h
Definition bl0906.h:2
void update() override
Definition hub75.cpp:76
void draw_pixel_at(int x, int y, Color color) override
Definition hub75.cpp:105
HUB75Display(const Hub75Config &config)
Definition hub75.cpp:14
void setup() override
Definition hub75.cpp:24
void set_brightness(int brightness)
Definition hub75.cpp:182
void dump_config() override
Definition hub75.cpp:37
void fill(Color color) override
Definition hub75.cpp:89
void draw_pixels_at(int x_start, int y_start, int w, int h, const uint8_t *ptr, display::ColorOrder order, display::ColorBitness bitness, bool big_endian, int x_offset, int y_offset, int x_pad) override
Definition hub75.cpp:118
display::DisplayType get_display_type() override
float get_setup_priority() const override
const float PROCESSOR
For components that use data from sensors like displays.
Definition component.cpp:82
uint16_t x
Definition tt21100.cpp:5
uint16_t y
Definition tt21100.cpp:6