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

#include <modm/driver/inertial/hmc58x3.hpp>

Inheritance diagram for modm::Hmc58x3< I2cMaster >:
modm::I2cDevice< I2cMaster, 2 > modm::NestedResumable< 10+1 > modm::hmc5843< I2cMaster > modm::hmc5883< I2cMaster >

Classes

struct  Data
 

Public Types

enum  ConfigA : uint8_t
 Configuration Register A.
 
enum  ConfigB : uint8_t
 Configuration Register B.
 
enum  Mode : uint8_t
 Mode Register.
 
enum  Status : uint8_t
 Status Register.
 
enum  OperationMode : uint8_t
 Operation modes.
 

Public Member Functions

 MODM_FLAGS8 (ConfigA)
 
 MODM_FLAGS8 (ConfigB)
 
 MODM_FLAGS8 (Mode)
 
 MODM_FLAGS8 (Status)
 
modm::ResumableResult< bool > setOperationMode (OperationMode mode)
 
modm::ResumableResult< bool > readMagneticField ()
 
Status_t getStatus ()
 
modm::ResumableResult< bool > readStatus ()
 
DatagetData ()
 Get the data object for this sensor.
 
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

 Hmc58x3 (Data &data, uint8_t address=0x1e)
 Constructor, requires a hmc58x3::Data object, sets address to default of 0x1e.
 
modm::ResumableResult< bool > updateConfigA (ConfigA_t setMask, ConfigA_t clearMask=ConfigA_t (0x7f))
 
modm::ResumableResult< bool > updateConfigB (ConfigB_t setMask, ConfigB_t clearMask=ConfigB_t (0xe0))
 
modm::ResumableResult< bool > updateMode (Mode_t setMask, Mode_t clearMask=Mode::MD_Mask)
 
ConfigA_t getConfigA ()
 
ConfigB_t getConfigB ()
 
Mode_t getMode ()
 
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
 

Detailed Description

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

Author
Niklas Hauser

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.
modm::ResumableResult<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: