Control Surface main
MIDI Control Surface library for Arduino
Classes | Functions
AH::ExtIO Namespace Reference

Detailed Description

A namespace with alternatives to the standard Arduino IO functions that can be used with extended IO pin numbers.

Classes

struct  CachedExtIOPin
 

Functions

template<class T >
static bool inRange (T target, T start, T end)
 
ExtendedIOElementgetIOElementOfPinOrNull (pin_t pin)
 Find the IO element of a given extended IO pin number. More...
 
ExtendedIOElementgetIOElementOfPin (pin_t pin)
 Find the IO element of a given extended IO pin number. More...
 
template<class T >
ArduinoPin_t arduino_pin_cast (T t)
 
void pinMode (pin_t pin, PinMode_t mode)
 An ExtIO version of the Arduino function. More...
 
void pinMode (int pin, PinMode_t mode)
 Overload to Arduino pinMode function. More...
 
void digitalWrite (pin_t pin, PinStatus_t val)
 An ExtIO version of the Arduino function. More...
 
void digitalWrite (int pin, PinStatus_t val)
 Overload to Arduino digitalWrite function. More...
 
PinStatus_t digitalRead (pin_t pin)
 An ExtIO version of the Arduino function. More...
 
PinStatus_t digitalRead (int pin)
 Overload to Arduino digitalRead function. More...
 
analog_t analogRead (pin_t pin)
 An ExtIO version of the Arduino function. More...
 
analog_t analogRead (int pin)
 Overload to Arduino analogRead function. More...
 
void analogWrite (pin_t pin, analog_t val)
 An ExtIO version of the Arduino function. More...
 
void analogWrite (pin_t pin, int val)
 An ExtIO version of the Arduino function. More...
 
void analogWrite (int pin, analog_t val)
 Overload to Arduino analogWrite function. More...
 
void analogWrite (int pin, int val)
 Overload to Arduino analogWrite function. More...
 
void pinModeBuffered (pin_t pin, PinMode_t mode)
 A buffered ExtIO version of the Arduino function. More...
 
void digitalWriteBuffered (pin_t pin, PinStatus_t val)
 A buffered ExtIO version of the Arduino function. More...
 
PinStatus_t digitalReadBuffered (pin_t pin)
 A buffered ExtIO version of the Arduino function. More...
 
analog_t analogReadBuffered (pin_t pin)
 A buffered ExtIO version of the Arduino function. More...
 
void analogWriteBuffered (pin_t pin, analog_t val)
 A buffered ExtIO version of the Arduino function. More...
 
void analogWriteBuffered (pin_t pin, int val)
 A buffered ExtIO version of the Arduino function. More...
 
void shiftOut (pin_t dataPin, pin_t clockPin, BitOrder_t bitOrder, uint8_t val)
 An ExtIO version of the Arduino function. More...
 
void shiftOut (int dataPin, int clockPin, BitOrder_t bitOrder, uint8_t val)
 Overload to Arduino shiftOut function. More...
 
bool isNativePin (pin_t pin)
 Check if the given pin number is a real Arduino pin number, and not an ExtIO pin number. More...
 
void pinMode (CachedExtIOPin pin, PinMode_t mode)
 An ExtIO version of the Arduino function. More...
 
void digitalWrite (CachedExtIOPin pin, PinStatus_t val)
 An ExtIO version of the Arduino function. More...
 
PinStatus_t digitalRead (CachedExtIOPin pin)
 An ExtIO version of the Arduino function. More...
 
analog_t analogRead (CachedExtIOPin pin)
 An ExtIO version of the Arduino function. More...
 
void analogWrite (CachedExtIOPin pin, analog_t val)
 An ExtIO version of the Arduino function. More...
 
void analogWrite (CachedExtIOPin pin, int val)
 An ExtIO version of the Arduino function. More...
 
void shiftOut (CachedExtIOPin dataPin, CachedExtIOPin clockPin, BitOrder_t bitOrder, uint8_t val)
 An ExtIO version of the Arduino function. More...
 
void pinModeBuffered (CachedExtIOPin pin, PinMode_t mode)
 A buffered ExtIO version of the Arduino function. More...
 
void digitalWriteBuffered (CachedExtIOPin pin, PinStatus_t val)
 A buffered ExtIO version of the Arduino function. More...
 
PinStatus_t digitalReadBuffered (CachedExtIOPin pin)
 A buffered ExtIO version of the Arduino function. More...
 
analog_t analogReadBuffered (CachedExtIOPin pin)
 A buffered ExtIO version of the Arduino function. More...
 
void analogWriteBuffered (CachedExtIOPin pin, analog_t val)
 A buffered ExtIO version of the Arduino function. More...
 
void analogWriteBuffered (CachedExtIOPin pin, int val)
 A buffered ExtIO version of the Arduino function. More...
 

Function Documentation

◆ inRange()

static bool inRange ( target,
start,
end 
)
static

Definition at line 13 of file ExtendedInputOutput.cpp.

◆ arduino_pin_cast()

ArduinoPin_t arduino_pin_cast ( t)

Definition at line 36 of file ExtendedInputOutput.cpp.

◆ pinMode()

void pinMode ( CachedExtIOPin  pin,
PinMode_t  mode 
)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::pinMode

Definition at line 301 of file ExtendedIOElement.hpp.

◆ digitalWrite()

void digitalWrite ( CachedExtIOPin  pin,
PinStatus_t  val 
)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::digitalWrite

Definition at line 308 of file ExtendedIOElement.hpp.

◆ digitalRead()

PinStatus_t digitalRead ( CachedExtIOPin  pin)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::digitalRead

Definition at line 315 of file ExtendedIOElement.hpp.

◆ analogRead()

analog_t analogRead ( CachedExtIOPin  pin)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogRead

Definition at line 322 of file ExtendedIOElement.hpp.

◆ analogWrite() [1/2]

void analogWrite ( CachedExtIOPin  pin,
analog_t  val 
)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogWrite

Definition at line 328 of file ExtendedIOElement.hpp.

◆ analogWrite() [2/2]

void analogWrite ( CachedExtIOPin  pin,
int  val 
)
inline

An ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogWrite

Definition at line 341 of file ExtendedIOElement.hpp.

◆ shiftOut()

void shiftOut ( CachedExtIOPin  dataPin,
CachedExtIOPin  clockPin,
BitOrder_t  bitOrder,
uint8_t  val 
)
inline

An ExtIO version of the Arduino function.

Definition at line 346 of file ExtendedIOElement.hpp.

◆ pinModeBuffered()

void pinModeBuffered ( CachedExtIOPin  pin,
PinMode_t  mode 
)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::pinModeBuffered

Definition at line 381 of file ExtendedIOElement.hpp.

◆ digitalWriteBuffered()

void digitalWriteBuffered ( CachedExtIOPin  pin,
PinStatus_t  val 
)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::digitalWriteBuffered

Definition at line 388 of file ExtendedIOElement.hpp.

◆ digitalReadBuffered()

PinStatus_t digitalReadBuffered ( CachedExtIOPin  pin)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::digitalReadBuffered

Definition at line 395 of file ExtendedIOElement.hpp.

◆ analogReadBuffered()

analog_t analogReadBuffered ( CachedExtIOPin  pin)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogReadBuffered

Definition at line 402 of file ExtendedIOElement.hpp.

◆ analogWriteBuffered() [1/2]

void analogWriteBuffered ( CachedExtIOPin  pin,
analog_t  val 
)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogWriteBuffered

Definition at line 408 of file ExtendedIOElement.hpp.

◆ analogWriteBuffered() [2/2]

void analogWriteBuffered ( CachedExtIOPin  pin,
int  val 
)
inline

A buffered ExtIO version of the Arduino function.

See also
ExtendedIOElement::analogWriteBuffered

Definition at line 421 of file ExtendedIOElement.hpp.