Control Surface
main
MIDI Control Surface library for Arduino
|
All Elements that extend the number of IO pins of the Arduino: Includes shift registers (e.g. 74HC595), multiplexers (e.g. 74HC4067, 74HC4051), port expanders (e.g. MCP23017), LED drivers (e.g. MAX7219), etc.
GPIO pins of port expanders are represented by the pin_t struct (internally, this is just an integer). Overloads of the standard Arduino IO functions such as pinMode
, digitalRead
, digitalWrite
etc. are provided for pin_t to allow these “extended” pins to be used transparently.
See ExtendedIOElement for details.
Classes | |
class | AnalogMultiplex< N > |
A class for reading multiplexed analog inputs. More... | |
class | MAX7219< NumChips, SPIDriver > |
A class for LED outputs using the MAX7219 LED display driver. More... | |
class | MCP23017< WireType > |
Class for MCP23017 I²C I/O expanders. More... | |
class | ShiftRegisterOut< N > |
A class for serial-in/parallel-out shift registers, like the 74HC595. More... | |
class | ShiftRegisterOutBase< N > |
A class for serial-in/parallel-out shift registers, like the 74HC595. More... | |
class | SPIShiftRegisterOut< N, SPIDriver > |
A class for serial-in/parallel-out shift registers, like the 74HC595 that are connected to the SPI bus. More... | |
Typedefs | |
using | CD74HC4067 = AnalogMultiplex<4> |
An alias for AnalogMultiplex<4> to use with CD74HC4067 analog multiplexers. | |
using | CD74HC4051 = AnalogMultiplex<3> |
An alias for AnalogMultiplex<3> to use with CD74HC4051 analog multiplexers. | |
Functions | |
bool | isNativePin (pin_t pin) |
Check if the given pin number is a real Arduino pin number, and not an ExtIO pin number. | |
ExtendedIOElement * | getIOElementOfPinOrNull (pin_t pin) |
Find the IO element of a given extended IO pin number. | |
ExtendedIOElement * | getIOElementOfPin (pin_t pin) |
Find the IO element of a given extended IO pin number. | |
void | pinMode (pin_t pin, PinMode_t mode) |
An ExtIO version of the Arduino function. | |
void | digitalWrite (pin_t pin, PinStatus_t val) |
An ExtIO version of the Arduino function. | |
PinStatus_t | digitalRead (pin_t pin) |
An ExtIO version of the Arduino function. | |
analog_t | analogRead (pin_t pin) |
An ExtIO version of the Arduino function. | |
void | analogWrite (pin_t pin, analog_t val) |
An ExtIO version of the Arduino function. | |
void | analogWrite (pin_t pin, int val) |
An ExtIO version of the Arduino function. | |
void | shiftOut (pin_t dataPin, pin_t clockPin, BitOrder_t bitOrder, uint8_t val) |
An ExtIO version of the Arduino function. | |
void | pinModeBuffered (pin_t pin, PinMode_t mode) |
A buffered ExtIO version of the Arduino function. | |
void | digitalWriteBuffered (pin_t pin, PinStatus_t val) |
A buffered ExtIO version of the Arduino function. | |
PinStatus_t | digitalReadBuffered (pin_t pin) |
A buffered ExtIO version of the Arduino function. | |
analog_t | analogReadBuffered (pin_t pin) |
A buffered ExtIO version of the Arduino function. | |
void | analogWriteBuffered (pin_t pin, analog_t val) |
A buffered ExtIO version of the Arduino function. | |
void | analogWriteBuffered (pin_t pin, int val) |
A buffered ExtIO version of the Arduino function. | |
An alias for AnalogMultiplex<4> to use with CD74HC4067 analog multiplexers.
Definition at line 185 of file AnalogMultiplex.hpp.
An alias for AnalogMultiplex<3> to use with CD74HC4051 analog multiplexers.
Definition at line 193 of file AnalogMultiplex.hpp.
Check if the given pin number is a real Arduino pin number, and not an ExtIO pin number.
Definition at line 24 of file ExtendedInputOutput.hpp.
ExtendedIOElement * getIOElementOfPinOrNull | ( | pin_t | pin | ) |
Find the IO element of a given extended IO pin number.
pin | The extended IO pin number to find the IO element of. |
Definition at line 14 of file ExtendedInputOutput.cpp.
ExtendedIOElement * getIOElementOfPin | ( | pin_t | pin | ) |
Find the IO element of a given extended IO pin number.
pin | The extended IO pin number to find the IO element of. |
Definition at line 23 of file ExtendedInputOutput.cpp.
An ExtIO version of the Arduino function.
Definition at line 32 of file ExtendedInputOutput.cpp.
void digitalWrite | ( | pin_t | pin, |
PinStatus_t | val ) |
An ExtIO version of the Arduino function.
Definition at line 43 of file ExtendedInputOutput.cpp.
PinStatus_t digitalRead | ( | pin_t | pin | ) |
An ExtIO version of the Arduino function.
Definition at line 54 of file ExtendedInputOutput.cpp.
An ExtIO version of the Arduino function.
Definition at line 65 of file ExtendedInputOutput.cpp.
An ExtIO version of the Arduino function.
Definition at line 76 of file ExtendedInputOutput.cpp.
An ExtIO version of the Arduino function.
Definition at line 88 of file ExtendedInputOutput.cpp.
void shiftOut | ( | pin_t | dataPin, |
pin_t | clockPin, | ||
BitOrder_t | bitOrder, | ||
uint8_t | val ) |
An ExtIO version of the Arduino function.
Definition at line 151 of file ExtendedInputOutput.cpp.
A buffered ExtIO version of the Arduino function.
Definition at line 90 of file ExtendedInputOutput.cpp.
void digitalWriteBuffered | ( | pin_t | pin, |
PinStatus_t | val ) |
A buffered ExtIO version of the Arduino function.
Definition at line 101 of file ExtendedInputOutput.cpp.
PinStatus_t digitalReadBuffered | ( | pin_t | pin | ) |
A buffered ExtIO version of the Arduino function.
Definition at line 112 of file ExtendedInputOutput.cpp.
A buffered ExtIO version of the Arduino function.
Definition at line 123 of file ExtendedInputOutput.cpp.
A buffered ExtIO version of the Arduino function.
Definition at line 135 of file ExtendedInputOutput.cpp.
A buffered ExtIO version of the Arduino function.
Definition at line 147 of file ExtendedInputOutput.cpp.