MAG3110 Three-Axis, Digital Magnetmeter
Dependents: test_MAG3110 testSensor
MAG3110.h@0:f9e4f54ab660, 2015-12-25 (annotated)
- Committer:
- Rhyme
- Date:
- Fri Dec 25 07:49:21 2015 +0000
- Revision:
- 0:f9e4f54ab660
First commit for MSS/MSU type
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:f9e4f54ab660 | 1 | /** |
Rhyme | 0:f9e4f54ab660 | 2 | * Xtrinsic MAG3110 Three-Axis, |
Rhyme | 0:f9e4f54ab660 | 3 | * Digital Magnetometer |
Rhyme | 0:f9e4f54ab660 | 4 | */ |
Rhyme | 0:f9e4f54ab660 | 5 | |
Rhyme | 0:f9e4f54ab660 | 6 | #ifndef _MAG3110_H_ |
Rhyme | 0:f9e4f54ab660 | 7 | #define _MAG3110_H_ |
Rhyme | 0:f9e4f54ab660 | 8 | |
Rhyme | 0:f9e4f54ab660 | 9 | #include "mbed.h" |
Rhyme | 0:f9e4f54ab660 | 10 | |
Rhyme | 0:f9e4f54ab660 | 11 | /** |
Rhyme | 0:f9e4f54ab660 | 12 | * |
Rhyme | 0:f9e4f54ab660 | 13 | */ |
Rhyme | 0:f9e4f54ab660 | 14 | |
Rhyme | 0:f9e4f54ab660 | 15 | class MAG3110 |
Rhyme | 0:f9e4f54ab660 | 16 | { |
Rhyme | 0:f9e4f54ab660 | 17 | public: |
Rhyme | 0:f9e4f54ab660 | 18 | /** |
Rhyme | 0:f9e4f54ab660 | 19 | * MAG3110 constructor |
Rhyme | 0:f9e4f54ab660 | 20 | * |
Rhyme | 0:f9e4f54ab660 | 21 | * @param sda SDA pin |
Rhyme | 0:f9e4f54ab660 | 22 | * @param scl SCL pin |
Rhyme | 0:f9e4f54ab660 | 23 | * @param addr 7bit address of the I2C peripheral |
Rhyme | 0:f9e4f54ab660 | 24 | */ |
Rhyme | 0:f9e4f54ab660 | 25 | MAG3110(PinName sda, PinName scl, int addr) ; |
Rhyme | 0:f9e4f54ab660 | 26 | |
Rhyme | 0:f9e4f54ab660 | 27 | ~MAG3110() ; |
Rhyme | 0:f9e4f54ab660 | 28 | |
Rhyme | 0:f9e4f54ab660 | 29 | /* |
Rhyme | 0:f9e4f54ab660 | 30 | * some member functions here (yet to be written) |
Rhyme | 0:f9e4f54ab660 | 31 | */ |
Rhyme | 0:f9e4f54ab660 | 32 | void standby() ; |
Rhyme | 0:f9e4f54ab660 | 33 | void activate() ; |
Rhyme | 0:f9e4f54ab660 | 34 | uint8_t getStatus() ; |
Rhyme | 0:f9e4f54ab660 | 35 | int16_t getX() ; |
Rhyme | 0:f9e4f54ab660 | 36 | int16_t getY() ; |
Rhyme | 0:f9e4f54ab660 | 37 | int16_t getZ() ; |
Rhyme | 0:f9e4f54ab660 | 38 | uint8_t getID() ; |
Rhyme | 0:f9e4f54ab660 | 39 | int16_t getOffsetX() ; |
Rhyme | 0:f9e4f54ab660 | 40 | int16_t getOffsetY() ; |
Rhyme | 0:f9e4f54ab660 | 41 | int16_t getOffsetZ() ; |
Rhyme | 0:f9e4f54ab660 | 42 | void setOffsetX(int16_t newOffset) ; |
Rhyme | 0:f9e4f54ab660 | 43 | void setOffsetY(int16_t newOffset) ; |
Rhyme | 0:f9e4f54ab660 | 44 | void setOffsetZ(int16_t newOffset) ; |
Rhyme | 0:f9e4f54ab660 | 45 | uint8_t getCtrlReg1() ; |
Rhyme | 0:f9e4f54ab660 | 46 | uint8_t getCtrlReg2() ; |
Rhyme | 0:f9e4f54ab660 | 47 | void setCtrlReg1(uint8_t newValue) ; |
Rhyme | 0:f9e4f54ab660 | 48 | void setCtrlReg2(uint8_t newValue) ; |
Rhyme | 0:f9e4f54ab660 | 49 | uint8_t getTemp() ; |
Rhyme | 0:f9e4f54ab660 | 50 | |
Rhyme | 0:f9e4f54ab660 | 51 | private: |
Rhyme | 0:f9e4f54ab660 | 52 | I2C m_i2c; |
Rhyme | 0:f9e4f54ab660 | 53 | int m_addr; |
Rhyme | 0:f9e4f54ab660 | 54 | void readRegs(int addr, uint8_t *data, int len) ; |
Rhyme | 0:f9e4f54ab660 | 55 | void writeRegs(uint8_t *data, int len) ; |
Rhyme | 0:f9e4f54ab660 | 56 | } ; |
Rhyme | 0:f9e4f54ab660 | 57 | #endif /* _MAG3110_H_ */ |