|
enum | Gain : uint8_t {
Ga0_7 = 0,
Ga1_0 = int(ConfigB::GN0),
Ga1_5 = int(ConfigB::GN1),
Ga2_0 = int(ConfigB::GN1) | int(ConfigB::GN0),
Ga3_2 = int(ConfigB::GN2),
Ga3_8 = int(ConfigB::GN2) | int(ConfigB::GN0),
Ga4_5 = int(ConfigB::GN2) | int(ConfigB::GN1),
Ga6_5 = int(ConfigB::GN2) | int(ConfigB::GN1) | int(ConfigB::GN0)
} |
|
enum | MeasurementRate : uint8_t {
Hz0_5 = 0,
Hz1 = int(ConfigA::DO0),
Hz2 = int(ConfigA::DO1),
Hz5 = int(ConfigA::DO1) | int(ConfigA::DO0),
Hz10 = int(ConfigA::DO2),
Hz20 = int(ConfigA::DO2) | int(ConfigA::DO0),
Hz50 = int(ConfigA::DO2) | int(ConfigA::DO1)
} |
|
enum | ConfigA : uint8_t |
| Configuration Register A.
|
|
enum | ConfigB : uint8_t |
| Configuration Register B.
|
|
enum | Mode : uint8_t |
| Mode Register.
|
|
enum | OperationMode : uint8_t |
| Operation modes.
|
|
enum | Status : uint8_t |
| Status Register.
|
|
|
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 () |
|
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) |
|
bool | wasTransactionSuccessful () |
|
template<typename I2cMaster>
class modm::hmc5843< I2cMaster >
HMC5843 digital compass driver.
This class extends the Hmc58x3 family driver only by the addition of device specific Register bit masks.
For further information on this device consult the datasheet.
- See also
- Hmc58x3
- Author
- Niklas Hauser