21#include "HardwareGPIO.h"
104 unsigned long duration = 0)
override;
118 unsigned long timeout = 1000000L)
override;
127 unsigned long timeout = 1000000L)
override;
144 operator bool() {
return is_open; }
147 int m_analogReference = 0;
148 std::map<pin_size_t, uint32_t> gpio_frequencies;
149 int pwm_pins[4] = {12, 13, 18, 19};
150 bool is_open =
false;
151 const char* device_name =
"gpiochip0";
152 uint32_t max_value = 255;
154 uint32_t getFrequency(
int pin);
GPIO hardware abstraction for Raspberry Pi in the Arduino emulator.
Definition HardwareGPIO_RPI.h:41
unsigned long pulseInLong(uint8_t pin, uint8_t state, unsigned long timeout=1000000L) override
Measure long pulse duration on a pin.
Definition HardwareGPIO_RPI.cpp:221
void analogWriteFrequency(pin_size_t pin, uint32_t freq)
Set PWM frequency for a pin.
Definition HardwareGPIO_RPI.cpp:227
void analogWrite(pin_size_t pinNumber, int value) override
Write an analog value (PWM) to a pin.
Definition HardwareGPIO_RPI.cpp:127
void tone(uint8_t _pin, unsigned int frequency, unsigned long duration=0) override
Generate a tone on a pin.
Definition HardwareGPIO_RPI.cpp:203
void begin()
Initialize the GPIO hardware interface for Raspberry Pi.
Definition HardwareGPIO_RPI.cpp:36
void pinMode(pin_size_t pinNumber, PinMode pinMode) override
Set the mode of a GPIO pin (INPUT, OUTPUT, etc).
Definition HardwareGPIO_RPI.cpp:57
unsigned long pulseIn(uint8_t pin, uint8_t state, unsigned long timeout=1000000L) override
Measure pulse duration on a pin.
Definition HardwareGPIO_RPI.cpp:215
HardwareGPIO_RPI(const char *devName)
Constructor for HardwareGPIO_RPI with custom device name.
Definition HardwareGPIO_RPI.h:52
~HardwareGPIO_RPI()
Destructor for HardwareGPIO_RPI.
Definition HardwareGPIO_RPI.cpp:46
int analogRead(pin_size_t pinNumber) override
Read an analog value from a pin (if supported).
Definition HardwareGPIO_RPI.cpp:110
PinStatus digitalRead(pin_size_t pinNumber) override
Read a digital value from a GPIO pin.
Definition HardwareGPIO_RPI.cpp:93
HardwareGPIO_RPI()=default
Constructor for HardwareGPIO_RPI.
void analogWriteResolution(uint8_t bits)
Set the resolution (number of bits) for analogWrite (PWM output).
Definition HardwareGPIO_RPI.cpp:243
void noTone(uint8_t _pin) override
Stop tone generation on a pin.
Definition HardwareGPIO_RPI.cpp:213
void analogReference(uint8_t mode) override
Set the analog reference mode.
Definition HardwareGPIO_RPI.cpp:116
void digitalWrite(pin_size_t pinNumber, PinStatus status) override
Write a digital value to a GPIO pin.
Definition HardwareGPIO_RPI.cpp:79
Abstract base class for GPIO (General Purpose Input/Output) functions.
Definition HardwareGPIO.h:51
We provide the WiFi class to simulate the Arduino WIFI. In in Linux we can expect that networking is ...
Definition CanMsg.cpp:31