4#include <Settings/NamespaceSettings.hpp>
6#include <AH/STL/type_traits>
9#ifdef ARDUINO_ARCH_NRF52840
10#include <pins_arduino.h>
15template <
class RegisterType = const volatile u
int32_t>
18 typename std::remove_cv<RegisterType>::type
bitmask;
23#if defined(__AVR__) || \
24 (defined(TEENSYDUINO) && (defined(KINETISK) || defined(KINETISL)))
33#elif defined(__SAM3X8E__) || defined(ESP32) || defined(ESP8266) || \
42#elif defined(__SAMD21G18A__) || defined(__SAMD21E18A__)
51#elif defined(__IMXRT1052__) || defined(__IMXRT1062__)
59#elif defined(RBL_NRF51822) || defined(ARDUINO_ARCH_NRF52840)
66#if defined(RBL_NRF51822)
68#elif defined(ARDUINO_ARCH_NRF52840)
71#error "Unknown Nordic board"
76#elif defined(ARDUINO_ARCH_RP2040)
79#include <hardware/structs/sio.h>
87#elif defined(ARDUINO_ARCH_MBED)
92#include <drivers/DigitalIn.h>
103#elif defined(ARDUINO_UNOR4_MINIMA) || defined(ARDUINO_UNOR4_WIFI)
118#warning "Unknown board. Please define the direct_pin_read function."
constexpr PinStatus_t HIGH
AH::function_traits< decltype(::digitalWrite)>::argument_t< 0 > ArduinoPin_t
DirectPinRead direct_pin_read(ArduinoPin_t pin)
#define BEGIN_CS_NAMESPACE
Array< T, N > copyAs(const Array< U, N > &src)
Copy an Array to an Array of a different type.
std::remove_cv< RegisterType >::type bitmask