I2C driver for HMC5583L digital compass sensor
hmc5583l.h@1:097089f0feb1, 2015-12-19 (annotated)
- Committer:
- sillevl
- Date:
- Sat Dec 19 10:40:55 2015 +0000
- Revision:
- 1:097089f0feb1
- Parent:
- 0:91f08ac76444
add constructor that accepts I2C object
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sillevl | 0:91f08ac76444 | 1 | |
sillevl | 0:91f08ac76444 | 2 | #pragma once |
sillevl | 0:91f08ac76444 | 3 | |
sillevl | 0:91f08ac76444 | 4 | #include "mbed.h" |
sillevl | 0:91f08ac76444 | 5 | |
sillevl | 0:91f08ac76444 | 6 | struct coord{ |
sillevl | 0:91f08ac76444 | 7 | int x; |
sillevl | 0:91f08ac76444 | 8 | int y; |
sillevl | 0:91f08ac76444 | 9 | int z; |
sillevl | 0:91f08ac76444 | 10 | }; |
sillevl | 0:91f08ac76444 | 11 | |
sillevl | 0:91f08ac76444 | 12 | class HMC5583L{ |
sillevl | 0:91f08ac76444 | 13 | public: |
sillevl | 1:097089f0feb1 | 14 | HMC5583L(PinName sda, PinName scl, int address = 0x3D); |
sillevl | 1:097089f0feb1 | 15 | HMC5583L(I2C &i2c, int address = 0x3D); |
sillevl | 0:91f08ac76444 | 16 | |
sillevl | 0:91f08ac76444 | 17 | coord getCompass(); |
sillevl | 0:91f08ac76444 | 18 | |
sillevl | 0:91f08ac76444 | 19 | protected: |
sillevl | 0:91f08ac76444 | 20 | int address; |
sillevl | 0:91f08ac76444 | 21 | I2C i2c; |
sillevl | 0:91f08ac76444 | 22 | |
sillevl | 0:91f08ac76444 | 23 | int regToInt(char msb, char lsb); |
sillevl | 0:91f08ac76444 | 24 | |
sillevl | 1:097089f0feb1 | 25 | private: |
sillevl | 1:097089f0feb1 | 26 | void initialize(); |
sillevl | 1:097089f0feb1 | 27 | |
sillevl | 0:91f08ac76444 | 28 | }; |