modm API documentation
modm::Bmp581I2cTransport< I2cMaster > Class Template Reference

#include <modm/driver/pressure/bmp581_transport.hpp>

Inheritance diagram for modm::Bmp581I2cTransport< I2cMaster >:
modm::I2cDevice< I2cMaster >

Public Member Functions

 Bmp581I2cTransport (uint8_t address=0x46)
 
bool initialize ()
 Initialize the transport layer.
 
bool read (uint8_t reg, uint8_t *buffer, std::size_t length)
 Read one or more registers starting at the given address.
 
bool write (uint8_t reg, uint8_t data)
 Write a single byte to a register.
 
bool write (uint8_t reg, const uint8_t *data, std::size_t length)
 Write multiple bytes starting at the given register address.
 
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.
 

Protected Member Functions

bool isTransactionRunning ()
 
bool runTransaction ()
 Starts our own transaction and waits until finished.
 
bool startTransaction ()
 Starts the transaction with our own transaction object.
 
bool startTransaction (modm::I2cTransaction *transaction)
 Starts the transaction with a separate transaction object.
 
bool wasTransactionSuccessful ()
 

Protected Attributes

uint8_t buffer_ [8]
 
I2cWriteReadTransaction transaction
 

Detailed Description

template<typename I2cMaster>
class modm::Bmp581I2cTransport< I2cMaster >

BMP581 I2C Transport Layer

Implements register read/write operations over I2C.

Template Parameters
I2cMasterI2C master peripheral

Constructor & Destructor Documentation

template<typename I2cMaster >
modm::Bmp581I2cTransport< I2cMaster >::Bmp581I2cTransport ( uint8_t  address = 0x46)

Constructor

Parameters
addressI2C address (0x46 with SDO to GND, 0x47 with SDO to VDDIO)

Member Function Documentation

void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::attachConfigurationHandler ( I2c::ConfigurationHandler  handler)
inheritedinline

Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.

bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::isTransactionRunning ( )
inheritedinlineprotected
Returns
true when transaction is busy.
bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::ping ( )
inheritedinline
Return Values
truedevice responds to address
falseno device with address found
void modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::setAddress ( uint8_t  address)
inheritedinline

Sets a new address of the slave device.

Parameters
addressthe slave address not yet shifted left (address < 128).
bool modm::I2cDevice< I2cMaster, 10 , I2cWriteReadTransaction >::wasTransactionSuccessful ( )
inheritedinlineprotected
Returns
true when transaction did not return an error.

The documentation for this class was generated from the following file: