#include #ifdef STA_RASPI_GPIO_ENABLED #include #include namespace sta { RaspiGpioPin::RaspiGpioPin(uint8_t pin, GpioMode mode) : pin_{pin}, mode_{mode} { pinMode(pin, mode == GpioMode::GPIO_INPUT ? INPUT : OUTPUT); } void RaspiGpioPin::setState(GpioPinState state) { digitalWrite(pin_, state == GpioPinState::GPIO_LOW ? LOW : HIGH); } DummyGpioPin::DummyGpioPin() : RaspiGpioPin { -1 , GpioMode::GPIO_INPUT } { } DummyGpioPin::setState(GpioPinState state) { // If this gets called, something is wrong! STA_UNREACHABLE(); } static DummyGpioPin dummyGpio; RaspiGpioPin * RaspiGpioPin::DUMMY_GPIO = &dummyGpio; } // namespace sta #endif // STA_ARDUINO_GPIO_ENABLED