modm API documentation
|
#include <modm/driver/gpio/pca9535.hpp>
Public Typedefs | |
typedef modm::Flags16< Pin > | Pins |
using | PortType = uint16_t |
template<Pca9535< I2cMaster > & object, Pin StartPin, uint8_t Width, GpioPort::DataOrder DataOrder = GpioPort::DataOrder::Normal> | |
using | Port = GpioExpanderPort< Pca9535< I2cMaster >, object, StartPin, Width, DataOrder > |
Alias-templates for simpler use of the Port. | |
template<Pca9535< I2cMaster > & object> | |
using | P0_0 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_0 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_1 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_1 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_2 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_2 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_3 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_3 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_4 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_4 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_5 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_5 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_6 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_6 > |
template<Pca9535< I2cMaster > & object> | |
using | P0_7 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P0_7 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_0 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_0 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_1 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_1 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_2 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_2 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_3 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_3 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_4 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_4 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_5 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_5 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_6 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_6 > |
template<Pca9535< I2cMaster > & object> | |
using | P1_7 = GpioExpanderPin< Pca9535< I2cMaster >, object, Pin::P1_7 > |
Public Member Functions | |
Pca9535 (uint8_t address=0x20) | |
Constructor, sets address to default of 0x20 (range 0x20 - 0x27) | |
modm::ResumableResult< bool > | setOutput (Pins pins) |
modm::ResumableResult< bool > | set (Pins pins) |
modm::ResumableResult< bool > | reset (Pins pins) |
modm::ResumableResult< bool > | toggle (Pins pins) |
modm::ResumableResult< bool > | set (Pins pins, bool value) |
bool | isSet (Pin pin) const |
modm::Gpio::Direction | getDirection (Pin pin) const |
modm::ResumableResult< bool > | setInput (Pins pins) |
modm::ResumableResult< bool > | setInvertInput (Pins pins) |
modm::ResumableResult< bool > | resetInvertInput (Pins pins) |
bool | read (Pins pins) const |
modm::ResumableResult< bool > | readInput () |
modm::ResumableResult< bool > | writePort (PortType data) |
modm::ResumableResult< bool > | readPort (PortType &data) |
Pins | getDirections () const |
Pins | getOutputs () const |
Pins | getInputs () const |
Pins | getPolarities () const |
void | attachConfigurationHandler (I2c::ConfigurationHandler handler) |
modm::ResumableResult< bool > | ping () |
modm::ResumableResult< bool > | read (uint8_t *buffer, std::size_t size) |
Starts a write transaction and waits until finished. | |
void | setAddress (uint8_t address) |
modm::ResumableResult< bool > | write (const uint8_t *buffer, std::size_t size) |
Starts a write transaction and waits until finished. | |
modm::ResumableResult< 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. | |
bool | read (Pins pins) const |
modm::ResumableResult< bool > | readPort (PortType &data) |
Reads the entire port, buffers them and outputs the result to data. | |
modm::ResumableResult< bool > | reset (Pins pins) |
modm::ResumableResult< bool > | set (Pins pins) |
modm::ResumableResult< bool > | set (Pins pins, bool value) |
modm::ResumableResult< bool > | setInput (Pins pins) |
Sets one or more pins to input. | |
modm::ResumableResult< bool > | setOutput (Pins pins) |
Sets one or more pins to output. | |
modm::ResumableResult< bool > | toggle (Pins pins) |
modm::ResumableResult< bool > | writePort (PortType data) |
Static Public Member Functions | |
static constexpr uint8_t | indexFromPin (Pin pin) |
Static Public Attributes | |
static constexpr uint8_t | width = 16 |
Protected Member Functions | |
int8_t | getResumableDepth () const |
bool | isResumableRunning () const |
bool | isTransactionRunning () |
modm::ResumableResult< bool > | runTransaction () |
Starts our own transaction and waits until finished. | |
bool | startRead (uint8_t *buffer, std::size_t size) |
Configures the transaction with a read operation and starts it. | |
bool | startTransaction () |
Starts the transaction with our own transaction object. | |
bool | startTransaction (modm::I2cTransaction *transaction) |
Starts the transaction with a separate transaction object. | |
bool | startWrite (const uint8_t *buffer, std::size_t size) |
Configures the transaction with a write operation and starts it. | |
bool | startWriteRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize) |
Configures the transaction with a write/read operation and starts it. | |
void | stopResumable () |
bool | wasTransactionSuccessful () |
Protected Attributes | |
I2cWriteReadTransaction | transaction |
using modm::pca9535< I2cMaster >::P0_0 = GpioExpanderPin< Pca9535<I2cMaster>, object, Pin::P0_0 > |
Alias-templates for simpler use of the Pin
|
inheritedinline |
Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.
|
inheritedinlineprotected |
true
when transaction is busy.
|
inheritedinline |
true | device responds to address |
false | no device with address found |
|
inherited |
Returns true if all pins have a high level
readInput()
to update the result.
|
inherited |
Resets one or more pins to logic low
|
inherited |
Sets one or more pins to logic high
|
inherited |
sets one or more pins to high or low level
|
inheritedinline |
Sets a new address of the slave device.
address | the slave address not yet shifted left (address < 128). |
|
inherited |
Toggles one or more pins
|
inheritedinlineprotected |
true
when transaction did not return an error.
|
inherited |
Writes data to the entire port