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

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

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

Classes

struct  Data
 

Public Types

enum  Register : uint8_t
 
enum  Register16 : uint8_t
 
enum  Orientation : uint8_t
 
enum  OperationMode : uint8_t
 
enum  MeasurementRate : uint8_t
 

Public Member Functions

 MODM_FLAGS8 (OperationMode)
 
 Hmc6343 (Data &data, uint8_t address=0x19)
 Constructor, requires a hmc6343::Data object, sets address to default of 0x19.
 
bool readOperationMode ()
 read operation mode register 2
 
bool setMeasurementRate (MeasurementRate measurementRate=MeasurementRate::Hz10)
 Configures the sensor to normal orientation mode with 10Hz data rate.
 
bool setDeviationAngle (int16_t angle)
 sets a new deviation angle in eeprom
 
bool setVariationAngle (int16_t angle)
 sets a new variation angle in eeprom
 
bool setIIR_Filter (uint8_t filter)
 sets a new IIR filter in eeprom
 
bool getDeviceId (uint16_t &value)
 reads the device id from eeprom
 
bool getIIR_Filter (uint8_t &value)
 sets a new IIR filter in eeprom
 
bool setOrientation (Orientation orientation)
 Sets the specified orientation.
 
bool enterRunMode ()
 enters run mode
 
bool enterStandbyMode ()
 enters standby mode
 
bool enterSleepMode ()
 enters sleep mode
 
bool exitSleepMode ()
 exit sleep mode
 
bool enterUserCalibrationMode ()
 enters user calibration mode
 
bool exitUserCalibrationMode ()
 exit user calibration mode
 
bool resetProcessor ()
 resets the processor, any new command is delayed by 500ms
 
bool readAcceleration ()
 reads the Acceleration registers and buffer the results
 
bool readMagneticField ()
 reads the Magnetometer registers and buffer the results
 
bool readHeading ()
 reads the Heading registers and buffer the results
 
bool readTilt ()
 reads the Tilt registers and buffer the results
 
DatagetData ()
 Get the data object for this sensor.
 
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 ()
 
bool writeRegister (Register reg, uint8_t value)
 write a 8bit value into the eeprom More...
 
bool writeRegister (Register16 reg, uint16_t value)
 write a 16bit value into the eeprom
 
bool readRegister (Register reg, uint8_t &value)
 read a 8bit value from the eeprom
 
bool readRegister (Register16 reg, uint16_t &value)
 read a 16bit value from the eeprom
 

Protected Attributes

I2cWriteReadTransaction transaction
 

Detailed Description

template<class I2cMaster>
class modm::Hmc6343< 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.
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.
template<class I2cMaster >
bool modm::Hmc6343< I2cMaster >::writeRegister ( Register  reg,
uint8_t  value 
)
protected

write a 8bit value into the eeprom

Use these methods with caution!


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