d
Fork of HMC5883L by
HMC5883L.h@1:17f3539e91b0, 2017-02-05 (annotated)
- Committer:
- fadi_lad
- Date:
- Sun Feb 05 23:07:34 2017 +0000
- Revision:
- 1:17f3539e91b0
- Parent:
- 0:cad18db1e431
V1 bracelet
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
gmatjuara | 0:cad18db1e431 | 1 | #ifndef HMC5883L_H |
gmatjuara | 0:cad18db1e431 | 2 | #define HMC5883L_H |
gmatjuara | 0:cad18db1e431 | 3 | |
gmatjuara | 0:cad18db1e431 | 4 | #include "mbed.h" |
gmatjuara | 0:cad18db1e431 | 5 | |
fadi_lad | 1:17f3539e91b0 | 6 | #define HMC5883L_IDENT_A 0x0A // In this case the identification register A is used to identify the devide. ASCII value H |
fadi_lad | 1:17f3539e91b0 | 7 | #define HMC5883L_I2C 0x1E // 7-bit address. 0x3C write, 0x3D read. |
fadi_lad | 1:17f3539e91b0 | 8 | #define HMC5883L_I2C_WRITE 0x3C // Same as (& 0xFE), ensure that the MSB bit is being set to zero (RW=0 -> Writing) |
fadi_lad | 1:17f3539e91b0 | 9 | #define HMC5883L_I2C_READ 0x3D // Same as (| 0x01), ensure that the MSB bit is being set to one (RW=1 -> Reading) |
gmatjuara | 0:cad18db1e431 | 10 | |
fadi_lad | 1:17f3539e91b0 | 11 | #define HMC5883L_CONFIG_A 0x00 |
fadi_lad | 1:17f3539e91b0 | 12 | #define HMC5883L_CONFIG_B 0x01 |
fadi_lad | 1:17f3539e91b0 | 13 | #define HMC5883L_MODE 0x02 |
fadi_lad | 1:17f3539e91b0 | 14 | #define HMC5883L_STATUS 0x09 |
gmatjuara | 0:cad18db1e431 | 15 | |
fadi_lad | 1:17f3539e91b0 | 16 | #define HMC5883L_X_MSB 0x03 |
fadi_lad | 1:17f3539e91b0 | 17 | #define HMC5883L_X_LSB 0x04 |
fadi_lad | 1:17f3539e91b0 | 18 | #define HMC5883L_Z_MSB 0x05 |
fadi_lad | 1:17f3539e91b0 | 19 | #define HMC5883L_Z_LSB 0x06 |
fadi_lad | 1:17f3539e91b0 | 20 | #define HMC5883L_Y_MSB 0x07 |
fadi_lad | 1:17f3539e91b0 | 21 | #define HMC5883L_Y_LSB 0x08 |
gmatjuara | 0:cad18db1e431 | 22 | |
gmatjuara | 0:cad18db1e431 | 23 | |
fadi_lad | 1:17f3539e91b0 | 24 | class HMC5883L |
fadi_lad | 1:17f3539e91b0 | 25 | { |
gmatjuara | 0:cad18db1e431 | 26 | |
gmatjuara | 0:cad18db1e431 | 27 | public: |
gmatjuara | 0:cad18db1e431 | 28 | |
gmatjuara | 0:cad18db1e431 | 29 | HMC5883L(PinName sda, PinName scl); |
fadi_lad | 1:17f3539e91b0 | 30 | float getMx(); |
fadi_lad | 1:17f3539e91b0 | 31 | float getMy(); |
fadi_lad | 1:17f3539e91b0 | 32 | float getMz(); |
fadi_lad | 1:17f3539e91b0 | 33 | private: |
fadi_lad | 1:17f3539e91b0 | 34 | void Write(char reg_address, char data); |
fadi_lad | 1:17f3539e91b0 | 35 | char Read(char data); |
fadi_lad | 1:17f3539e91b0 | 36 | void MultiByteRead(char address, char* output, int size); |
fadi_lad | 1:17f3539e91b0 | 37 | I2C i2c; |
gmatjuara | 0:cad18db1e431 | 38 | |
gmatjuara | 0:cad18db1e431 | 39 | }; |
gmatjuara | 0:cad18db1e431 | 40 | |
gmatjuara | 0:cad18db1e431 | 41 | #endif /* HMC5883L_H */ |
fadi_lad | 1:17f3539e91b0 | 42 |