ESPHome  2024.11.0
gt911_touchscreen.h
Go to the documentation of this file.
1 #pragma once
2 
6 #include "esphome/core/hal.h"
7 
8 namespace esphome {
9 namespace gt911 {
10 
12  public:
13  virtual void update_button(uint8_t index, bool state) = 0;
14 };
15 
17  public:
18  void setup() override;
19  void dump_config() override;
20 
21  void set_interrupt_pin(InternalGPIOPin *pin) { this->interrupt_pin_ = pin; }
22  void set_reset_pin(GPIOPin *pin) { this->reset_pin_ = pin; }
23  void register_button_listener(GT911ButtonListener *listener) { this->button_listeners_.push_back(listener); }
24 
25  protected:
26  void update_touches() override;
27 
28  InternalGPIOPin *interrupt_pin_{};
29  GPIOPin *reset_pin_{};
30  std::vector<GT911ButtonListener *> button_listeners_;
31  uint8_t button_state_{0xFF}; // last button state. Initial FF guarantees first update.
32 };
33 
34 } // namespace gt911
35 } // namespace esphome
void setup()
void set_interrupt_pin(InternalGPIOPin *pin)
virtual void update_button(uint8_t index, bool state)=0
std::vector< GT911ButtonListener * > button_listeners_
void register_button_listener(GT911ButtonListener *listener)
Implementation of SPI Controller mode.
Definition: a01nyub.cpp:7
This Class provides the methods to read/write bytes from/to an i2c device.
Definition: i2c.h:133
bool state
Definition: fan.h:34