16#include "pw_assert/check.h"
17#include "pw_digital_io/internal/conversions.h"
18#include "pw_function/function.h"
19#include "pw_result/result.h"
20#include "pw_status/status.h"
21#include "pw_status/try.h"
27enum class State :
bool {
33enum class InterruptTrigger :
int {
142 PW_TRY_ASSIGN(
const State state,
GetState());
143 return state == State::kActive;
219 InterruptHandler&& handler) {
220 if (handler ==
nullptr) {
221 return Status::InvalidArgument();
441 InterruptHandler&& handler) = 0;
467 const internal::Provides config_;
479 public internal::Conversions<DigitalInterrupt, DigitalIoOptional> {
593 public internal::Conversions<DigitalOut, DigitalIoOptional> {
Definition: digital_io.h:516
Definition: digital_io.h:557
Definition: digital_io.h:673
Definition: digital_io.h:712
Definition: digital_io.h:479
Definition: digital_io.h:72
Definition: digital_io.h:593
Definition: digital_io.h:635
virtual Status DoSetState(State level)=0
Status DoSetInterruptHandler(InterruptTrigger, InterruptHandler &&) final
Status EnableInterruptHandler()
Definition: digital_io.h:264
Status SetState(State state)
Definition: digital_io.h:120
virtual Status DoSetInterruptHandler(InterruptTrigger trigger, InterruptHandler &&handler)=0
Status Disable()
Definition: digital_io.h:325
Result< State > DoGetState() final
virtual Result< State > DoGetState()=0
Status DoSetState(State) final
Status DoSetState(State) final
Status DoSetState(State) final
virtual Status DoEnable(bool enable)=0
Status SetStateInactive()
Definition: digital_io.h:188
Result< State > DoGetState() final
Result< State > DoGetState() final
Status SetStateActive()
Definition: digital_io.h:166
Status Enable()
Definition: digital_io.h:305
constexpr bool provides_interrupt() const
Definition: digital_io.h:81
Status DoSetInterruptHandler(InterruptTrigger, InterruptHandler &&) final
constexpr bool provides_output() const
Definition: digital_io.h:79
Status SetInterruptHandler(InterruptTrigger trigger, InterruptHandler &&handler)
Definition: digital_io.h:218
Result< bool > IsStateActive()
Definition: digital_io.h:141
constexpr bool provides_input() const
Definition: digital_io.h:77
Status ClearInterruptHandler()
Definition: digital_io.h:241
Result< State > GetState()
Definition: digital_io.h:99
Status DisableInterruptHandler()
Definition: digital_io.h:283
virtual Status DoEnableInterruptHandler(bool enable)=0
fit::function_impl< function_internal::config::kInlineCallableSize, !function_internal::config::kEnableDynamicAllocation, FunctionType, PW_FUNCTION_DEFAULT_ALLOCATOR_TYPE > Function
Definition: function.h:73
GPIO library.
Definition: digital_io.h:24