mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Make get_flags() in GPIOPin mandatory (#8182)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
This commit is contained in:
		| @@ -57,6 +57,8 @@ class CH422GGPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags); |   void set_flags(gpio::Flags flags); | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   CH422GComponent *parent_{}; |   CH422GComponent *parent_{}; | ||||||
|   uint8_t pin_{}; |   uint8_t pin_{}; | ||||||
|   | |||||||
| @@ -83,6 +83,8 @@ class MAX6956GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   MAX6956 *parent_; |   MAX6956 *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -61,6 +61,8 @@ class MCP23016GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   MCP23016 *parent_; |   MCP23016 *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -43,6 +43,8 @@ class MCP23XXXGPIOPin : public GPIOPin { | |||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|   void set_interrupt_mode(MCP23XXXInterruptMode interrupt_mode) { interrupt_mode_ = interrupt_mode; } |   void set_interrupt_mode(MCP23XXXInterruptMode interrupt_mode) { interrupt_mode_ = interrupt_mode; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   MCP23XXXBase *parent_; |   MCP23XXXBase *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -117,6 +117,8 @@ class MPR121GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { this->inverted_ = inverted; } |   void set_inverted(bool inverted) { this->inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { this->flags_ = flags; } |   void set_flags(gpio::Flags flags) { this->flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   MPR121Component *parent_; |   MPR121Component *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -52,6 +52,8 @@ class PCA6416AGPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   PCA6416AComponent *parent_; |   PCA6416AComponent *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -65,6 +65,8 @@ class PCA9554GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   PCA9554Component *parent_; |   PCA9554Component *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -54,6 +54,8 @@ class PCF8574GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   void set_inverted(bool inverted) { inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { flags_ = flags; } |   void set_flags(gpio::Flags flags) { flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   PCF8574Component *parent_; |   PCF8574Component *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -52,6 +52,9 @@ class SN74HC165GPIOPin : public GPIOPin, public Parented<SN74HC165Component> { | |||||||
|   void set_pin(uint16_t pin) { pin_ = pin; } |   void set_pin(uint16_t pin) { pin_ = pin; } | ||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   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: |  protected: | ||||||
|   uint16_t pin_; |   uint16_t pin_; | ||||||
|   bool inverted_; |   bool inverted_; | ||||||
|   | |||||||
| @@ -59,6 +59,9 @@ class SN74HC595GPIOPin : public GPIOPin, public Parented<SN74HC595Component> { | |||||||
|   void set_pin(uint16_t pin) { pin_ = pin; } |   void set_pin(uint16_t pin) { pin_ = pin; } | ||||||
|   void set_inverted(bool inverted) { inverted_ = inverted; } |   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: |  protected: | ||||||
|   uint16_t pin_; |   uint16_t pin_; | ||||||
|   bool inverted_; |   bool inverted_; | ||||||
|   | |||||||
| @@ -114,6 +114,8 @@ class NullPin : public GPIOPin { | |||||||
|  |  | ||||||
|   void pin_mode(gpio::Flags flags) override {} |   void pin_mode(gpio::Flags flags) override {} | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return gpio::Flags::FLAG_NONE; } | ||||||
|  |  | ||||||
|   bool digital_read() override { return false; } |   bool digital_read() override { return false; } | ||||||
|  |  | ||||||
|   void digital_write(bool value) override {} |   void digital_write(bool value) override {} | ||||||
|   | |||||||
| @@ -20,6 +20,8 @@ class SX1509GPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { this->inverted_ = inverted; } |   void set_inverted(bool inverted) { this->inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { this->flags_ = flags; } |   void set_flags(gpio::Flags flags) { this->flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   SX1509Component *parent_; |   SX1509Component *parent_; | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   | |||||||
| @@ -54,6 +54,8 @@ class TCA9555GPIOPin : public GPIOPin, public Parented<TCA9555Component> { | |||||||
|   void set_inverted(bool inverted) { this->inverted_ = inverted; } |   void set_inverted(bool inverted) { this->inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { this->flags_ = flags; } |   void set_flags(gpio::Flags flags) { this->flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|  protected: |  protected: | ||||||
|   uint8_t pin_; |   uint8_t pin_; | ||||||
|   bool inverted_; |   bool inverted_; | ||||||
|   | |||||||
| @@ -275,6 +275,8 @@ class WeikaiGPIOPin : public GPIOPin { | |||||||
|   void set_inverted(bool inverted) { this->inverted_ = inverted; } |   void set_inverted(bool inverted) { this->inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { this->flags_ = flags; } |   void set_flags(gpio::Flags flags) { this->flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|   void setup() override; |   void setup() override; | ||||||
|   std::string dump_summary() const override; |   std::string dump_summary() const override; | ||||||
|   void pin_mode(gpio::Flags flags) override { this->parent_->set_pin_direction_(this->pin_, flags); } |   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_inverted(bool inverted) { this->inverted_ = inverted; } | ||||||
|   void set_flags(gpio::Flags flags) { this->flags_ = flags; } |   void set_flags(gpio::Flags flags) { this->flags_ = flags; } | ||||||
|  |  | ||||||
|  |   gpio::Flags get_flags() const override { return this->flags_; } | ||||||
|  |  | ||||||
|   void setup() override; |   void setup() override; | ||||||
|   std::string dump_summary() const override; |   std::string dump_summary() const override; | ||||||
|   void pin_mode(gpio::Flags flags) override; |   void pin_mode(gpio::Flags flags) override; | ||||||
|   | |||||||
| @@ -56,12 +56,9 @@ class GPIOPin { | |||||||
|   /** |   /** | ||||||
|    * @brief Retrieve GPIO pin flags. |    * @brief Retrieve GPIO pin flags. | ||||||
|    * |    * | ||||||
|    * @note This is currently optional to limit changes but will be mandatory in a future update. |    * @return The GPIO flags describing the pin mode and properties. | ||||||
|    * 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. |  | ||||||
|    */ |    */ | ||||||
|   virtual gpio::Flags get_flags() const { return gpio::Flags::FLAG_NONE; } |   virtual gpio::Flags get_flags() const = 0; | ||||||
|  |  | ||||||
|   virtual bool digital_read() = 0; |   virtual bool digital_read() = 0; | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user