modm API documentation
|
#include <modm/driver/usb/stusb4500.hpp>
Classes | |
struct | RdoRegStatusData |
Public Types | |
enum | Register : uint8_t { RdoRegStatus = 0x91, DpmPdoNumb = 0x70, DpmSnkPdo1 = 0x85, DpmSnkPdo2 = 0x89, DpmSnkPdo3 = 0x8D } |
Public Member Functions | |
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 () |
void | setAddress (uint8_t address) |
Protected Member Functions | |
modm::ResumableResult< ReturnType > resumable | function (...) |
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 seperate 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 () |
Force all resumable functions to stop running at the current nesting level. | |
bool | wasTransactionSuccessful () |
Protected Attributes | |
I2cWriteReadTransaction | transaction |
|
inheritedinline |
Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.
|
inline |
Configures a PDO.
Note: According to the USB standard the first PDO (1) always has to set voltage to 5000 [mV].
pdoNumber | Which PDO to configure, range 1 to 3. |
voltage | in mV |
current | in mA |
|
inherited |
Run the resumable function.
You need to implement this method in you subclass yourself.
NestingError
if still running, <=NestingError
if it has finished.
|
inline |
Retrieve RDO status from STUSB4500 chip.
|
inheritedinline |
|
inheritedinline |
true
if a resumable function is running at the current nesting level, else false
|
inheritedinlineprotected |
true
when transaction is busy.
|
inheritedinline |
true | device responds to address |
false | no device with address found |
|
inheritedinline |
Sets a new address of the slave device.
address | the slave address not yet shifted left (address < 128). |
|
inline |
Sets the valid PDO.
pdoNumber | Which PDO to set valid, range 1 to 3. |
|
inheritedinlineprotected |
true
when transaction did not return an error.