mirror of
https://github.com/esphome/esphome.git
synced 2025-02-12 16:08:19 +00:00
Make get_flags() in GPIOPin mandatory (#8182)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
parent
8de5af4eec
commit
5108b9a8b7
@ -57,6 +57,8 @@ class CH422GGPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags);
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
CH422GComponent *parent_{};
|
||||
uint8_t pin_{};
|
||||
|
@ -83,6 +83,8 @@ class MAX6956GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
MAX6956 *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -61,6 +61,8 @@ class MCP23016GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
MCP23016 *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -43,6 +43,8 @@ class MCP23XXXGPIOPin : public GPIOPin {
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
void set_interrupt_mode(MCP23XXXInterruptMode interrupt_mode) { interrupt_mode_ = interrupt_mode; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
MCP23XXXBase *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -117,6 +117,8 @@ class MPR121GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { this->inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { this->flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
MPR121Component *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -52,6 +52,8 @@ class PCA6416AGPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
PCA6416AComponent *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -65,6 +65,8 @@ class PCA9554GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
PCA9554Component *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -54,6 +54,8 @@ class PCF8574GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
PCF8574Component *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -52,6 +52,9 @@ class SN74HC165GPIOPin : public GPIOPin, public Parented<SN74HC165Component> {
|
||||
void set_pin(uint16_t pin) { pin_ = pin; }
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
|
||||
/// Always returns `gpio::Flags::FLAG_INPUT`.
|
||||
gpio::Flags get_flags() const override { return gpio::Flags::FLAG_INPUT; }
|
||||
|
||||
protected:
|
||||
uint16_t pin_;
|
||||
bool inverted_;
|
||||
|
@ -59,6 +59,9 @@ class SN74HC595GPIOPin : public GPIOPin, public Parented<SN74HC595Component> {
|
||||
void set_pin(uint16_t pin) { pin_ = pin; }
|
||||
void set_inverted(bool inverted) { inverted_ = inverted; }
|
||||
|
||||
/// Always returns `gpio::Flags::FLAG_OUTPUT`.
|
||||
gpio::Flags get_flags() const override { return gpio::Flags::FLAG_OUTPUT; }
|
||||
|
||||
protected:
|
||||
uint16_t pin_;
|
||||
bool inverted_;
|
||||
|
@ -114,6 +114,8 @@ class NullPin : public GPIOPin {
|
||||
|
||||
void pin_mode(gpio::Flags flags) override {}
|
||||
|
||||
gpio::Flags get_flags() const override { return gpio::Flags::FLAG_NONE; }
|
||||
|
||||
bool digital_read() override { return false; }
|
||||
|
||||
void digital_write(bool value) override {}
|
||||
|
@ -20,6 +20,8 @@ class SX1509GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { this->inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { this->flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
SX1509Component *parent_;
|
||||
uint8_t pin_;
|
||||
|
@ -54,6 +54,8 @@ class TCA9555GPIOPin : public GPIOPin, public Parented<TCA9555Component> {
|
||||
void set_inverted(bool inverted) { this->inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { this->flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
protected:
|
||||
uint8_t pin_;
|
||||
bool inverted_;
|
||||
|
@ -275,6 +275,8 @@ class WeikaiGPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { this->inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { this->flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
void setup() override;
|
||||
std::string dump_summary() const override;
|
||||
void pin_mode(gpio::Flags flags) override { this->parent_->set_pin_direction_(this->pin_, flags); }
|
||||
|
@ -36,6 +36,8 @@ class XL9535GPIOPin : public GPIOPin {
|
||||
void set_inverted(bool inverted) { this->inverted_ = inverted; }
|
||||
void set_flags(gpio::Flags flags) { this->flags_ = flags; }
|
||||
|
||||
gpio::Flags get_flags() const override { return this->flags_; }
|
||||
|
||||
void setup() override;
|
||||
std::string dump_summary() const override;
|
||||
void pin_mode(gpio::Flags flags) override;
|
||||
|
@ -56,12 +56,9 @@ class GPIOPin {
|
||||
/**
|
||||
* @brief Retrieve GPIO pin flags.
|
||||
*
|
||||
* @note This is currently optional to limit changes but will be mandatory in a future update.
|
||||
* It is primarily applied to internal pins for now.
|
||||
*
|
||||
* @return The GPIO flags describing the pin mode and properties. Returns `gpio::Flags::FLAG_NONE` if not overridden.
|
||||
* @return The GPIO flags describing the pin mode and properties.
|
||||
*/
|
||||
virtual gpio::Flags get_flags() const { return gpio::Flags::FLAG_NONE; }
|
||||
virtual gpio::Flags get_flags() const = 0;
|
||||
|
||||
virtual bool digital_read() = 0;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user