17#include "pw_containers/intrusive_forward_list.h"
18#include "pw_digital_io/digital_io.h"
20namespace pw::digital_io {
22PW_EXTERN_C
void GPIO_INTA_DriverIRQHandler();
40 pw::digital_io::State initial_state);
52 const pw::digital_io::State initial_state_;
53 bool enabled_ =
false;
82 bool enabled_ =
false;
124 friend void GPIO_INTA_DriverIRQHandler();
129 pw::digital_io::InterruptTrigger trigger,
130 pw::digital_io::InterruptHandler&& handler)
override;
133 void ConfigureInterrupt()
const;
136 const uint32_t port_;
139 pw::digital_io::InterruptTrigger trigger_;
140 pw::digital_io::InterruptHandler interrupt_handler_;
141 bool enabled_ =
false;
Definition: intrusive_forward_list.h:86
Definition: digital_io.h:513
Definition: digital_io.h:709
Definition: digital_io.h:590
Definition: digital_io.h:63
bool is_enabled() const
Returns true if the input is enabled.
Definition: digital_io.h:73
pw::Status DoEnable(bool enable) override
McuxpressoDigitalIn(GPIO_Type *base, uint32_t port, uint32_t pin)
pw::Result< pw::digital_io::State > DoGetState() override
Definition: digital_io.h:102
pw::Status DoSetInterruptHandler(pw::digital_io::InterruptTrigger trigger, pw::digital_io::InterruptHandler &&handler) override
pw::Status DoEnable(bool enable) override
McuxpressoDigitalInOutInterrupt(GPIO_Type *base, uint32_t port, uint32_t pin, bool output)
bool is_enabled() const
Returns true if the line is enabled (in any state).
Definition: digital_io.h:121
pw::Status DoEnableInterruptHandler(bool enable) override
pw::Result< pw::digital_io::State > DoGetState() override
pw::Status DoSetState(pw::digital_io::State state) override
Definition: digital_io.h:29
pw::Status DoSetState(pw::digital_io::State state) override
pw::Status DoEnable(bool enable) override
McuxpressoDigitalOut(GPIO_Type *base, uint32_t port, uint32_t pin, pw::digital_io::State initial_state)
bool is_enabled() const
Returns true if the output is enabled.
Definition: digital_io.h:43