32#include "../SensorCommBase.hpp"
36#if defined(ARDUINO_API_VERSION) || defined(ARDUINO_ARCH_RP2040) || defined(ARDUINO_ARCH_MBED) || defined(ARDUINO_ARCH_ZEPHYR)
37#define SENSORLIB_ARDUINO_HAS_TYPED_GPIO_API 1
43 void pinMode(uint8_t pin, uint8_t mode)
48#if defined(SENSORLIB_ARDUINO_HAS_TYPED_GPIO_API)
49 ::pinMode(pin,
static_cast<PinMode
>(mode));
61#if defined(SENSORLIB_ARDUINO_HAS_TYPED_GPIO_API)
74 return ::digitalRead(pin);
82 void delay(uint32_t ms)
93#undef SENSORLIB_ARDUINO_HAS_TYPED_GPIO_API
CustomMode modeCallback
Custom pinMode, nullptr if not set.
CustomWrite writeCallback
Custom digitalWrite, nullptr if not set.
CustomRead readCallback
Custom digitalRead, nullptr if not set.
Abstract hardware abstraction layer.
virtual uint8_t digitalRead(uint8_t pin)=0
Read the digital value from a pin.
virtual void pinMode(uint8_t pin, uint8_t mode)=0
Set the mode of a digital pin.
virtual void digitalWrite(uint8_t pin, uint8_t level)=0
Write a digital value to a pin.
virtual void delay(uint32_t ms)=0
Blocking delay for a given number of milliseconds.
virtual void delayMicroseconds(uint32_t us)=0
Blocking delay for a given number of microseconds.
virtual uint32_t millis()=0
Get the current system time in milliseconds.