modm API documentation
|
#include <modm/driver/inertial/lis3_transport.hpp>
Public Member Functions | |
Lis3TransportI2c (uint8_t address) | |
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. | |
Protected Member Functions | |
modm::ResumableResult< bool > | write (uint8_t reg, uint8_t value) |
write a 8bit value | |
modm::ResumableResult< bool > | read (uint8_t reg, uint8_t &value) |
read a 8bit value | |
modm::ResumableResult< bool > | read (uint8_t reg, uint8_t *buffer, uint8_t length) |
read multiple 8bit values from a start register | |
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 |
LIS3xx I2C Transport Layer.
This class manages communication with the accelerometer via the I2C bus.
To enable I2C mode in the LIS3xx devices, the CS pin must be tied high. However, it is internally pulled-up, so just leaving the CS pin disconnected should work too.
The I2C interface is compliant with Fast Mode (up to 400kHz).
|
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 |
|
inheritedinline |
Sets a new address of the slave device.
address | the slave address not yet shifted left (address < 128). |
|
inheritedinlineprotected |
true
when transaction did not return an error.