|  | 
| typedef modm::Flags8< Pin > | Pins | 
|  | 
| using | PortType = uint8_t | 
|  | 
| template<Pca8574< I2cMaster > & object, Pin StartPin, uint8_t Width, GpioPort::DataOrder DataOrder = GpioPort::DataOrder::Normal> | 
| using | Port = GpioExpanderPort< Pca8574< I2cMaster >, object, StartPin, Width, DataOrder > | 
|  | Alias-templates for simpler use of the Port. 
 | 
|  | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P0 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P0 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P1 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P1 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P2 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P2 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P3 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P3 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P4 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P4 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P5 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P5 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P6 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P6 > | 
|  | 
| template<Pca8574< I2cMaster > & object> | 
| using | P7 = GpioExpanderPin< Pca8574< I2cMaster >, object, Pin::P7 > | 
|  | 
|  | 
|  | Pca8574 (uint8_t address=0x27) | 
|  | Constructor, sets address to default of 0x27. 
 | 
|  | 
| bool | setOutput (Pins pins) | 
|  | 
| bool | set (Pins pins) | 
|  | 
| bool | reset (Pins pins) | 
|  | 
| bool | toggle (Pins pins) | 
|  | 
| bool | set (Pins pins, bool value) | 
|  | 
| bool | isSet (Pin pin) const | 
|  | 
| modm::Gpio::Direction | getDirection (Pin) const | 
|  | 
| bool | setInput (Pins pins) | 
|  | 
| bool | read (Pins pins) const | 
|  | 
| bool | readInput () | 
|  | 
| bool | writePort (PortType value) | 
|  | 
| bool | readPort (PortType &value) | 
|  | 
| Pins | getOutputs () | 
|  | 
| Pins | getInputs () | 
|  | 
| Pins | getDirections () | 
|  | 0 is input, 1 is output 
 | 
|  | 
| void | attachConfigurationHandler (I2c::ConfigurationHandler handler) | 
|  | 
| bool | ping () | 
|  | 
| bool | read (uint8_t *buffer, std::size_t size) | 
|  | Starts a write transaction and waits until finished. 
 | 
|  | 
| void | setAddress (uint8_t address) | 
|  | 
| bool | write (const uint8_t *buffer, std::size_t size) | 
|  | Starts a write transaction and waits until finished. 
 | 
|  | 
| bool | writeRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize) | 
|  | Starts a write-read transaction and waits until finished. 
 | 
|  | 
| Pins | getDirections () const | 
|  | Returns the direction bits: 0 for Input, 1 for Output. 
 | 
|  | 
| Pins | getInputs () const | 
|  | Returns the input bits: 0 for low, 1 for high. 
 | 
|  | 
| Pins | getOutputs () const | 
|  | Returns the output bits: 0 for low, 1 for high. 
 | 
|  | 
| bool | read (Pins pins) const | 
|  | 
| bool | reset (Pins pins) | 
|  | 
| bool | set (Pins pins) | 
|  | 
| bool | set (Pins pins, bool value) | 
|  | 
| bool | setInput (Pins pins) | 
|  | Sets one or more pins to input. 
 | 
|  | 
| bool | setOutput (Pins pins) | 
|  | Sets one or more pins to output. 
 | 
|  | 
| bool | toggle (Pins pins) | 
|  | 
template<class I2cMaster>
class modm::pca8574< I2cMaster >
PCA8574: Remote 8-bit I/O expander for I2C-bus with interrupt
This IO-Expander only has open-drain outputs with weak internal pull-ups.
- Author
- Sascha Schade 
- 
Niklas Hauser