#include <modm/driver/usb/stusb4500.hpp>
|
enum | Register : uint8_t {
RdoRegStatus = 0x91,
DpmPdoNumb = 0x70,
DpmSnkPdo1 = 0x85,
DpmSnkPdo2 = 0x89,
DpmSnkPdo3 = 0x8D
} |
|
|
| Stusb4500 (uint8_t address=0x28) |
|
modm::ResumableResult< bool > | configurePdo (uint8_t pdoNumber, uint32_t voltage, uint32_t current) |
|
modm::ResumableResult< bool > | setValidPdo (uint8_t pdoNumber) |
|
modm::ResumableResult< RdoRegStatusData > | getRdoRegStatus () |
|
modm::ResumableResult< bool > | readRegister (Register reg, uint8_t *output, size_t length) |
|
modm::ResumableResult< bool > | updateRegister (Register reg, const uint8_t *data, size_t length) |
|
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.
|
|
|
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 () |
|
template<class I2cMaster>
class modm::stusb4500< I2cMaster >
- Author
- Henrik Hose, Raphael Lehmann
Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.
template<class I2cMaster >
Configures a PDO.
Note: According to the USB standard the first PDO (1) always has to set voltage to 5000 [mV].
- Parameters
-
pdoNumber | Which PDO to configure, range 1 to 3. |
voltage | in mV |
current | in mA |
template<class I2cMaster >
Retrieve RDO status from STUSB4500 chip.
- Returns
- RdoRegStatusData object. Typically only RdoRegStatusData::MaxCurrent [mA] is of interest.
- Returns
true
when transaction is busy.
- Return Values
-
true | device responds to address |
false | no device with address found |
Sets a new address of the slave device.
- Parameters
-
address | the slave address not yet shifted left (address < 128). |
template<class I2cMaster >
Sets the valid PDO.
- Parameters
-
pdoNumber | Which PDO to set valid, range 1 to 3. |
- Returns
true
when transaction did not return an error.
The documentation for this class was generated from the following file: