42 ove_gpio_mode_t mode)
noexcept
44 return from_rc(ove_gpio_configure(port, pin, mode));
55[[nodiscard]]
inline Result<void> set(
unsigned int port,
unsigned int pin,
int value)
noexcept
57 return from_rc(ove_gpio_set(port, pin, value));
67[[nodiscard]]
inline Result<int> get(
unsigned int port,
unsigned int pin)
noexcept
69 const int rc = ove_gpio_get(port, pin);
72 return std::unexpected{
static_cast<Error>(rc)};
86 ove_gpio_irq_mode_t mode, ove_gpio_irq_cb callback,
87 void *user_data)
noexcept
89 return from_rc(ove_gpio_irq_register(port, pin, mode, callback, user_data));
109 return from_rc(ove_gpio_irq_enable(port, pin));
121 return from_rc(ove_gpio_irq_disable(port, pin));
Strong ove::Error type, Result<T> alias, and std::error_code interop for the oveRTOS C++ binding.
Thin C++ wrappers around the oveRTOS GPIO API.
Definition gpio.hpp:23
Result< void > set(unsigned int port, unsigned int pin, int value) noexcept
Drives a GPIO output pin to the specified logic level.
Definition gpio.hpp:55
Result< void > configure(unsigned int port, unsigned int pin, ove_gpio_mode_t mode) noexcept
Configures a GPIO pin with the specified mode.
Definition gpio.hpp:41
Result< void > irq_enable(unsigned int port, unsigned int pin) noexcept
Enables the interrupt for a GPIO pin (must be registered first).
Definition gpio.hpp:107
Result< int > get(unsigned int port, unsigned int pin) noexcept
Reads the current logic level of a GPIO pin.
Definition gpio.hpp:67
Result< void > irq_disable(unsigned int port, unsigned int pin) noexcept
Disables the interrupt for a GPIO pin.
Definition gpio.hpp:119
Result< void > irq_register(unsigned int port, unsigned int pin, ove_gpio_irq_mode_t mode, ove_gpio_irq_cb callback, void *user_data) noexcept
Registers an interrupt callback for a GPIO pin.
Definition gpio.hpp:85
Result< void > from_rc(int rc) noexcept
Lifts a substrate rc-code into a Result<void>.
Definition error.hpp:254
Error
Strong-typed mirror of substrate OVE_ERR_* codes.
Definition error.hpp:64
std::expected< T, Error > Result
std::expected-based result alias.
Definition error.hpp:139
Common type definitions and concepts for the C++ wrapper layer.