ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
sh1122_base.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/log.h"
5#include "esphome/core/hal.h"
7
8namespace esphome::sh1122_base {
9
10enum SH1122Model : uint8_t {
12};
13
15 public:
16 void setup() override;
17
18 void display();
19
20 void update() override;
21
22 void set_model(SH1122Model model) { this->model_ = model; }
23 void set_reset_pin(GPIOPin *reset_pin) { this->reset_pin_ = reset_pin; }
24 void init_brightness(float brightness) { this->brightness_ = brightness; }
25 void set_brightness(float brightness);
26 bool is_on() { return this->is_on_; }
27 void turn_on();
28 void turn_off();
29
30 float get_setup_priority() const override { return setup_priority::PROCESSOR; }
31 void fill(Color color) override;
32
34
35 protected:
37 virtual void write_command(const uint8_t *bytes, size_t len) = 0;
38 virtual void write_display_data() = 0;
39 void command_(uint8_t value) { this->write_command(&value, 1); }
40 void command2_(uint8_t value, uint8_t data) {
41 const uint8_t bytes[2] = {value, data};
42 this->write_command(bytes, 2);
43 }
44 void init_reset_();
45
46 void draw_absolute_pixel_internal(int x, int y, Color color) override;
47
48 int get_height_internal() override;
49 int get_width_internal() override;
50 size_t get_buffer_length_();
51 const LogString *model_str_();
52
54 float brightness_{1.0};
56 bool is_on_{false};
57};
58
59} // namespace esphome::sh1122_base
void command_(uint8_t value)
Definition sh1122_base.h:39
void draw_absolute_pixel_internal(int x, int y, Color color) override
void fill(Color color) override
void set_model(SH1122Model model)
Definition sh1122_base.h:22
display::DisplayType get_display_type() override
Definition sh1122_base.h:33
virtual void write_display_data()=0
void command2_(uint8_t value, uint8_t data)
Definition sh1122_base.h:40
void init_brightness(float brightness)
Definition sh1122_base.h:24
void set_reset_pin(GPIOPin *reset_pin)
Definition sh1122_base.h:23
int get_width_internal() override
float get_setup_priority() const override
Definition sh1122_base.h:30
int get_height_internal() override
virtual void write_command(const uint8_t *bytes, size_t len)=0
Sends a command byte and its arguments; the SH1122 takes command arguments with D/C low as well.
const LogString * model_str_()
void set_brightness(float brightness)
constexpr float PROCESSOR
For components that use data from sensors like displays.
Definition component.h:47
const void size_t len
Definition hal.h:68
uint16_t x
Definition tt21100.cpp:5
uint16_t y
Definition tt21100.cpp:6