7#define LOG_PIN(prefix, pin) \
8 if ((pin) != nullptr) { \
9 ESP_LOGCONFIG(TAG, prefix "%s", (pin)->dump_summary().c_str()); \
34 return static_cast<Flags>(
static_cast<uint8_t
>(lhs) &
static_cast<uint8_t
>(rhs));
37 return static_cast<Flags>(
static_cast<uint8_t
>(lhs) |
static_cast<uint8_t
>(rhs));
virtual void pin_mode(gpio::Flags flags)=0
virtual std::string dump_summary() const =0
virtual void digital_write(bool value)=0
virtual bool is_internal()
virtual gpio::Flags get_flags() const =0
Retrieve GPIO pin flags.
virtual bool digital_read()=0
Copy of GPIOPin that is safe to use from ISRs (with no virtual functions)
ISRInternalGPIOPin(void *arg)
void digital_write(bool value)
void pin_mode(gpio::Flags flags)
ISRInternalGPIOPin()=default
virtual uint8_t get_pin() const =0
bool is_internal() override
virtual void detach_interrupt() const =0
void attach_interrupt(void(*func)(T *), T *arg, gpio::InterruptType type) const
virtual bool is_inverted() const =0
virtual ISRInternalGPIOPin to_isr() const =0
virtual void attach_interrupt(void(*func)(void *), void *arg, gpio::InterruptType type) const =0
constexpr FlagsHelper(Flags val)
constexpr FlagsHelper operator|(Flags lhs, Flags rhs)
constexpr FlagsHelper operator&(Flags lhs, Flags rhs)
Providing packet encoding functions for exchanging data with a remote host.