arduino-audio-driver
Loading...
Searching...
No Matches
GPIO_Arduino.h
Go to the documentation of this file.
1#pragma once
2#ifdef ARDUINO
3#include <stdint.h>
4#include "API_GPIO.h"
5#include "Arduino.h"
6
12namespace audio_driver {
13
14#if defined(ARDUINO_ARCH_RP2040)
15using PinModeType = PinMode;
16#else
17using PinModeType = uint8_t;
18#endif
19
24class GPIO : public API_GPIO {
25 public:
30 GPIO() = default;
31 bool begin(IDriverDeviceInfo& pins) { return true; }
32 void end() {}
33 void pinMode(GpioPin pin, int mode) { ::pinMode(pin, (PinModeType)mode); }
34 bool digitalWrite(GpioPin pin, bool value) {
35 ::digitalWrite(pin, value ? HIGH : LOW);
36 return true;
37 }
38 bool digitalRead(GpioPin pin) { return ::digitalRead(pin); }
39 int analogRead(ADCPin pin) { return ::analogRead(pin); }
40};
41
42} // namespace audio_driver
43
44#endif
#define HIGH
Definition DriverCommon.h:35
#define LOW
Definition DriverCommon.h:38
Abstraction for digital GPIO pin operations.
Namespace for audio driver components.
Definition AudioBoard.h:5
int16_t GpioPin
Definition DriverCommon.h:153
int16_t ADCPin
Definition DriverCommon.h:154
GPIOZephyr GPIO
Definition GPIO_Zephyr.h:109