12 namespace PortExpander {
49 void write(uint8_t *value);
56 void flush(
bool force =
false);
70 void flushIfAutoFlushEnabled();
75 virtual void updateFromCurrentValue() = 0;
81 static void requestWrite();
89 static vector<ChainableShiftRegisterOutput *> shiftRegisters;
Represents any object that has a flushable interface.
Definition: Flushable.h:9
SpiMode
Defines the clock phase and polarity used for SPI communication.
Definition: SpiMode.h:10
An SPI port.
Definition: Spi.h:15
The SPI transaction takes place, and once finished, CS is pulsed high.
Any shift-register-like device that can be daisy-chained onto other shift registers.
Definition: ChainableShiftRegisterOutput.h:22
Clock is initially low; data is valid on the rising edge of the clock
int numBytes
The number of bytes wide this port is.
Definition: ChainableShiftRegisterOutput.h:65
uint8_t * currentValue
The current value of the port.
Definition: ChainableShiftRegisterOutput.h:62
#define LIBRARIES_API
Definition: Treehopper.Libraries.h:17
Definition: SpiChipSelectPin.h:7
Represents a peripheral on the SPI bus.
Definition: SpiDevice.h:12
ChipSelectMode
Definition: ChipSelectMode.h:3