3#ifndef TETL_HARDWARE_STM32_GPIO_HPP
4#define TETL_HARDWARE_STM32_GPIO_HPP
65 explicit port() =
default;
79 _memory.bit_set_reset = (1U <<
val(pin));
82 _memory.bit_set_reset = (1U << (
val(pin) + 16U));
87 _memory.output_data = _memory.output_data ^ (1U <<
val(pin));
pin_number
Definition gpio.hpp:13
@ pin_14
Definition gpio.hpp:28
@ pin_13
Definition gpio.hpp:27
@ pin_2
Definition gpio.hpp:16
@ pin_10
Definition gpio.hpp:24
@ pin_1
Definition gpio.hpp:15
@ pin_3
Definition gpio.hpp:17
@ pin_4
Definition gpio.hpp:18
@ pin_15
Definition gpio.hpp:29
@ pin_9
Definition gpio.hpp:23
@ pin_12
Definition gpio.hpp:26
@ pin_0
Definition gpio.hpp:14
@ pin_11
Definition gpio.hpp:25
@ pin_6
Definition gpio.hpp:20
@ pin_8
Definition gpio.hpp:22
@ pin_5
Definition gpio.hpp:19
@ pin_7
Definition gpio.hpp:21
auto val(pin_number pin) -> etl::uint16_t
Definition gpio.hpp:37
pin_state
Definition gpio.hpp:32
@ reset
Definition gpio.hpp:33
@ set
Definition gpio.hpp:34
TETL_BUILTIN_UINT16 uint16_t
Unsigned integer type with width of exactly 16 bits.
Definition uint_t.hpp:14
TETL_BUILTIN_UINT8 uint8_t
Unsigned integer type with width of exactly 8 bits.
Definition uint_t.hpp:11
TETL_BUILTIN_UINT32 uint32_t
Unsigned integer type with width of exactly 32 bits.
Definition uint_t.hpp:17
constexpr auto ignore_unused(Types &&...) -> void
Explicitly ignore arguments or variables.
Definition ignore_unused.hpp:17
etl::uint32_t volatile input_data
Definition gpio.hpp:42
etl::uint32_t volatile lock
Definition gpio.hpp:46
etl::uint32_t volatile control_low
Definition gpio.hpp:40
etl::uint32_t volatile bit_set
Definition gpio.hpp:45
etl::uint32_t volatile output_data
Definition gpio.hpp:43
etl::uint32_t volatile control_high
Definition gpio.hpp:41
etl::uint32_t volatile bit_set_reset
Definition gpio.hpp:44
port(port const &)=delete
auto read(pin_number pin) noexcept -> pin_state
Definition gpio.hpp:70
auto operator=(port const &) -> port &=delete
auto toggle_pin(pin_number pin) noexcept -> void
Definition gpio.hpp:85
static auto place_at(void *addr) -> port &
Definition gpio.hpp:90
auto write(pin_number pin, pin_state state) noexcept -> void
Definition gpio.hpp:76
auto operator=(port &&) -> port &=delete