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

#include <modm/driver/storage/cat24aa.hpp>

Inheritance diagram for modm::Cat24Aa< I2cMaster >:
modm::I2cDevice< I2cMaster, 1, cat24Aa::DataTransmissionAdapter > modm::NestedResumable< 10+1 >

Public Member Functions

modm::ResumableResult< bool > writeByte (uint32_t address, uint8_t data)
 
modm::ResumableResult< bool > write (uint32_t address, const uint8_t *data, std::size_t length)
 
template<typename T >
modm::ResumableResult< bool > write (uint32_t address, const T &data)
 
modm::ResumableResult< bool > readByte (uint32_t address, uint8_t &data)
 Read byte.
 
modm::ResumableResult< bool > read (uint32_t address, uint8_t *data, std::size_t length)
 Read block.
 
template<typename T >
modm::ResumableResult< bool > read (uint16_t address, T &data)
 
- Public Member Functions inherited from modm::I2cDevice< I2cMaster, 1, cat24Aa::DataTransmissionAdapter >
 I2cDevice (uint8_t address)
 
void attachConfigurationHandler (I2c::ConfigurationHandler handler)
 
modm::ResumableResult< bool > ping ()
 
void setAddress (uint8_t address)
 

Additional Inherited Members

- Protected Member Functions inherited from modm::I2cDevice< I2cMaster, 1, cat24Aa::DataTransmissionAdapter >
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.
 
bool wasTransactionSuccessful ()
 
- Protected Member Functions inherited from modm::NestedResumable< 10+1 >
 NestedResumable ()
 Construct a new class with nested resumable functions.
 
modm::ResumableResult< ReturnType > resumable function (...)
 
int8_t getResumableDepth () const
 
bool isResumableRunning () const
 
void stopResumable ()
 Force all resumable functions to stop running at the current nesting level.
 
- Protected Attributes inherited from modm::I2cDevice< I2cMaster, 1, cat24Aa::DataTransmissionAdapter >
cat24Aa::DataTransmissionAdapter transaction
 

Detailed Description

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

I2C Eeprom CAT24AA

Driver for OnSemi CAT24AA Eeprom. I2C eeprom with an 11-bit address pointer, encoded in 3 bits of the device slave address plus the address byte. Base address is fixed to 0x50.

Author
Mike Wolfram

Member Function Documentation

template<typename I2cMaster >
template<typename T >
modm::ResumableResult<bool> modm::Cat24Aa< I2cMaster >::read ( uint16_t  address,
T &  data 
)
inline

Convenience function

Shortcut for:

return read(address, static_cast<uint8_t *>(&data), sizeof(T));
template<typename I2cMaster >
template<typename T >
modm::ResumableResult<bool> modm::Cat24Aa< I2cMaster >::write ( uint32_t  address,
const T &  data 
)
inline

Convenience function

Shortcut for:

return write(address, static_cast<const uint8_t *>(&data), sizeof(T));
template<typename I2cMaster >
modm::ResumableResult<bool> modm::Cat24Aa< I2cMaster >::write ( uint32_t  address,
const uint8_t *  data,
std::size_t  length 
)

Write block

Parameters
addressAddress
dataData block
lengthNumber of bytes to be written
Returns
true if the data could be written, false otherwise
template<typename I2cMaster >
modm::ResumableResult<bool> modm::Cat24Aa< I2cMaster >::writeByte ( uint32_t  address,
uint8_t  data 
)
inline

Write byte

Parameters
addressAddress
dataData byte
Returns
true if the data could be written, false otherwise

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