ESPHome 2026.5.0
Loading...
Searching...
No Matches
cap1188.h
Go to the documentation of this file.
1#pragma once
2
4#include "esphome/core/hal.h"
8
9#include <vector>
10
11namespace esphome::cap1188 {
12
13enum {
27};
28
30 public:
31 void set_channel(uint8_t channel) { channel_ = channel; }
32 void process(uint8_t data) { this->publish_state(static_cast<bool>(data & (1 << this->channel_))); }
33
34 protected:
35 uint8_t channel_{0};
36};
37
39 public:
40 void register_channel(CAP1188Channel *channel) { this->channels_.push_back(channel); }
41 void set_touch_threshold(uint8_t touch_threshold) { this->touch_threshold_ = touch_threshold; };
42 void set_allow_multiple_touches(bool allow_multiple_touches) {
43 this->allow_multiple_touches_ = allow_multiple_touches ? 0x41 : 0x80;
44 };
45 void set_reset_pin(GPIOPin *reset_pin) { this->reset_pin_ = reset_pin; }
46 void setup() override;
47 void dump_config() override;
48 void loop() override;
49
50 protected:
51 void finish_setup_();
52
53 std::vector<CAP1188Channel *> channels_{};
54 uint8_t touch_threshold_{0x20};
56
58
62
63 enum ErrorCode {
64 NONE = 0,
66 } error_code_{NONE};
67};
68
69} // namespace esphome::cap1188
Base class for all binary_sensor-type classes.
void publish_state(bool new_state)
Publish a new state to the front-end.
void process(uint8_t data)
Definition cap1188.h:32
void set_channel(uint8_t channel)
Definition cap1188.h:31
void set_reset_pin(GPIOPin *reset_pin)
Definition cap1188.h:45
void set_allow_multiple_touches(bool allow_multiple_touches)
Definition cap1188.h:42
enum esphome::cap1188::CAP1188Component::ErrorCode NONE
void register_channel(CAP1188Channel *channel)
Definition cap1188.h:40
void set_touch_threshold(uint8_t touch_threshold)
Definition cap1188.h:41
std::vector< CAP1188Channel * > channels_
Definition cap1188.h:53
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:132
@ CAP1188_STAND_BY_CONFIGURATION
Definition cap1188.h:20
@ CAP1188_INTERUPT_REPEAT
Definition cap1188.h:25
@ CAP1188_MANUFACTURE_ID
Definition cap1188.h:19
@ CAP1188_SENSOR_INPUT_STATUS
Definition cap1188.h:15