ESPHome 2026.2.1
Loading...
Searching...
No Matches
ssd1306_base.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
6
7namespace esphome {
8namespace ssd1306_base {
9
29
31 public:
32 void setup() override;
33
34 void display();
35
36 void update() override;
37
38 void set_model(SSD1306Model model) { this->model_ = model; }
39 void set_reset_pin(GPIOPin *reset_pin) { this->reset_pin_ = reset_pin; }
40 void set_external_vcc(bool external_vcc) { this->external_vcc_ = external_vcc; }
41 void init_contrast(float contrast) { this->contrast_ = contrast; }
42 float get_contrast();
43 void set_contrast(float contrast);
44 float get_brightness();
45 void init_brightness(float brightness) { this->brightness_ = brightness; }
46 void set_brightness(float brightness);
47 void init_flip_x(bool flip_x) { this->flip_x_ = flip_x; }
48 void init_flip_y(bool flip_y) { this->flip_y_ = flip_y; }
49 void init_offset_x(uint8_t offset_x) { this->offset_x_ = offset_x; }
50 void init_offset_y(uint8_t offset_y) { this->offset_y_ = offset_y; }
51 void init_invert(bool invert) { this->invert_ = invert; }
52 void set_invert(bool invert);
53 bool is_on();
54 void turn_on();
55 void turn_off();
56 float get_setup_priority() const override { return setup_priority::PROCESSOR; }
57 void fill(Color color) override;
58
60
61 protected:
62 virtual void command(uint8_t value) = 0;
63 virtual void write_display_data() = 0;
64 void init_reset_();
65
66 bool is_sh1106_() const;
67 bool is_sh1107_() const;
68 bool is_ssd1305_() const;
69 bool is_ssd1306b_() const;
70
71 void draw_absolute_pixel_internal(int x, int y, Color color) override;
72
73 int get_height_internal() override;
74 int get_width_internal() override;
75 size_t get_buffer_length_();
76 const LogString *model_str_();
77
80 bool external_vcc_{false};
81 bool is_on_{false};
82 float contrast_{1.0};
83 float brightness_{1.0};
84 bool flip_x_{true};
85 bool flip_y_{true};
86 uint8_t offset_x_{0};
87 uint8_t offset_y_{0};
88 bool invert_{false};
89};
90
91} // namespace ssd1306_base
92} // namespace esphome
void fill(Color color) override
void set_model(SSD1306Model model)
void set_reset_pin(GPIOPin *reset_pin)
virtual void write_display_data()=0
void init_offset_y(uint8_t offset_y)
virtual void command(uint8_t value)=0
void init_offset_x(uint8_t offset_x)
void draw_absolute_pixel_internal(int x, int y, Color color) override
void init_flip_y(bool flip_y)
void init_brightness(float brightness)
void init_invert(bool invert)
void set_external_vcc(bool external_vcc)
void set_brightness(float brightness)
void init_contrast(float contrast)
void init_flip_x(bool flip_x)
display::DisplayType get_display_type() override
void set_contrast(float contrast)
float get_setup_priority() const override
const float PROCESSOR
For components that use data from sensors like displays.
Definition component.cpp:85
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t x
Definition tt21100.cpp:5
uint16_t y
Definition tt21100.cpp:6