|
FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
API to handle HMC5883L 3-axis digital compass I2C chip. More...
#include <math.h>#include "common_magneto.h"#include "../bits.h"#include "../functors.h"#include "../i2c_device.h"#include "../i2c_device_utilities.h"#include "../utilities.h"
Go to the source code of this file.
Classes | |
| class | devices::magneto::Status |
| The chip status, as defined in datasheet p16. More... | |
| class | devices::magneto::HMC5883L< MANAGER > |
| I2C device driver for the HMC5883L compass chip. More... | |
| class | devices::magneto::HMC5883L< MANAGER >::BeginFuture |
| Create a future to be used by asynchronous method begin(BeginFuture&). More... | |
Namespaces | |
| namespace | devices |
| Defines all API for all external devices supported by FastArduino. | |
| namespace | devices::magneto |
| Defines API for magnetic sensors for direction, speed and acceleration properties. | |
Enumerations | |
| enum class | devices::magneto::SamplesAveraged : uint8_t { ONE_SAMPLE = 0 << 5 , TWO_SAMPLES = 1 << 5 , FOUR_SAMPLES = 2 << 5 , EIGHT_SAMPLES = 3 << 5 } |
| The number of samples to average every time a measurement is required from the HMC5883L chip (datasheet p12). More... | |
| enum class | devices::magneto::DataOutput : uint8_t { RATE_0_75HZ = 0 << 2 , RATE_1_5HZ = 1 << 2 , RATE_3HZ = 2 << 2 , RATE_7_5HZ = 3 << 2 , RATE_15HZ = 4 << 2 , RATE_30HZ = 5 << 2 , RATE_75HZ = 6 << 2 } |
| The output rate when used in continuous mode (datasheet p12). More... | |
| enum class | devices::magneto::MeasurementMode : uint8_t { NORMAL = 0 , POSITIVE_BIAS = 1 , NEGATIVE_BIAS = 2 } |
| The measurement mode as defined in datasheet p12, table6. More... | |
| enum class | devices::magneto::OperatingMode : uint8_t { CONTINUOUS = 0 , SINGLE = 1 , IDLE = 2 } |
| The operating mode of the chip as defined in datasheet p10, p14 table 12. More... | |
| enum class | devices::magneto::Gain : uint8_t { GAIN_0_88GA = 0 << 5 , GAIN_1_3GA = 1 << 5 , GAIN_1_9GA = 2 << 5 , GAIN_2_5GA = 3 << 5 , GAIN_4_0GA = 4 << 5 , GAIN_4_7GA = 5 << 5 , GAIN_5_6GA = 6 << 5 , GAIN_8_1GA = 7 << 5 } |
| The gain to set for the chip, as defined in datasheet p13, table9. More... | |
Functions | |
| float | devices::magneto::magnetic_heading (int16_t x, int16_t y) |
| Calculate the magnetic heading (heading measured clockwise from magnetic north) from X and Y magnetic fields. More... | |
API to handle HMC5883L 3-axis digital compass I2C chip.
Definition in file hmc5883l.h.