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