| modm API documentation
    | 
#include <modm/driver/inertial/hmc6343.hpp>
 
  
 | 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 | |
| Data & | getData () | 
| 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 | 
| 
 | 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. | 
 | protected | 
write a 8bit value into the eeprom
Use these methods with caution!