37 lines
1022 B
C++
37 lines
1022 B
C++
#pragma once
|
|
|
|
#include <AH/Hardware/Arduino-Hardware-Types.hpp>
|
|
#include <AH/Settings/NamespaceSettings.hpp>
|
|
|
|
BEGIN_AH_NAMESPACE
|
|
|
|
class ExtendedIOElement;
|
|
|
|
namespace ExtIO {
|
|
|
|
inline bool isNativePin(pin_t pin) {
|
|
return pin.pin < NUM_DIGITAL_PINS + NUM_ANALOG_INPUTS;
|
|
}
|
|
|
|
ExtendedIOElement *getIOElementOfPinOrNull(pin_t pin);
|
|
ExtendedIOElement *getIOElementOfPin(pin_t pin);
|
|
|
|
void pinMode(pin_t pin, PinMode_t mode);
|
|
void digitalWrite(pin_t pin, PinStatus_t val);
|
|
PinStatus_t digitalRead(pin_t pin);
|
|
analog_t analogRead(pin_t pin);
|
|
void analogWrite(pin_t pin, analog_t val);
|
|
void analogWrite(pin_t pin, int val);
|
|
void shiftOut(pin_t dataPin, pin_t clockPin, BitOrder_t bitOrder, uint8_t val);
|
|
|
|
void pinModeBuffered(pin_t pin, PinMode_t mode);
|
|
void digitalWriteBuffered(pin_t pin, PinStatus_t val);
|
|
PinStatus_t digitalReadBuffered(pin_t pin);
|
|
analog_t analogReadBuffered(pin_t pin);
|
|
void analogWriteBuffered(pin_t pin, analog_t val);
|
|
void analogWriteBuffered(pin_t pin, int val);
|
|
|
|
} // namespace ExtIO
|
|
|
|
END_AH_NAMESPACE
|