AKM AK9753 IR Sensor IC with I2C I/F
AK9753.h@0:2eb87b5feaab, 2017-12-27 (annotated)
- Committer:
- Rhyme
- Date:
- Wed Dec 27 08:29:16 2017 +0000
- Revision:
- 0:2eb87b5feaab
first working version, no documents yet
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Rhyme | 0:2eb87b5feaab | 1 | /************************************* |
Rhyme | 0:2eb87b5feaab | 2 | * AK9753 |
Rhyme | 0:2eb87b5feaab | 3 | * AKM Ultra-small IR Sensor IC with I2C I/F |
Rhyme | 0:2eb87b5feaab | 4 | **/ |
Rhyme | 0:2eb87b5feaab | 5 | #ifndef _AK9753_H_ |
Rhyme | 0:2eb87b5feaab | 6 | #define _AK9753_H_ |
Rhyme | 0:2eb87b5feaab | 7 | #include "mbed.h" |
Rhyme | 0:2eb87b5feaab | 8 | |
Rhyme | 0:2eb87b5feaab | 9 | class AK9753 |
Rhyme | 0:2eb87b5feaab | 10 | { |
Rhyme | 0:2eb87b5feaab | 11 | public: |
Rhyme | 0:2eb87b5feaab | 12 | /** |
Rhyme | 0:2eb87b5feaab | 13 | * AK9753 constructor |
Rhyme | 0:2eb87b5feaab | 14 | * |
Rhyme | 0:2eb87b5feaab | 15 | * @param sda SDA pin |
Rhyme | 0:2eb87b5feaab | 16 | * @param sdl SCL pin |
Rhyme | 0:2eb87b5feaab | 17 | * @param addr addr of the I2C peripheral |
Rhyme | 0:2eb87b5feaab | 18 | */ |
Rhyme | 0:2eb87b5feaab | 19 | AK9753(PinName sda, PinName scl, int addr); |
Rhyme | 0:2eb87b5feaab | 20 | |
Rhyme | 0:2eb87b5feaab | 21 | /** |
Rhyme | 0:2eb87b5feaab | 22 | * AK9753 destructor |
Rhyme | 0:2eb87b5feaab | 23 | */ |
Rhyme | 0:2eb87b5feaab | 24 | ~AK9753(); |
Rhyme | 0:2eb87b5feaab | 25 | |
Rhyme | 0:2eb87b5feaab | 26 | uint8_t getCompanyCode(void) ; |
Rhyme | 0:2eb87b5feaab | 27 | uint8_t getDeviceID(void) ; |
Rhyme | 0:2eb87b5feaab | 28 | bool dataReady(void) ; /* returns ST1[0], read ST2 to clear */ |
Rhyme | 0:2eb87b5feaab | 29 | bool dataOverRun(void) ; /* return ST1[1], read ST2, etc, to clear */ |
Rhyme | 0:2eb87b5feaab | 30 | uint8_t getINTST(void) ; /** return REG_INTST */ |
Rhyme | 0:2eb87b5feaab | 31 | uint8_t getST1(void) ; |
Rhyme | 0:2eb87b5feaab | 32 | int16_t getRawIR1(void) ; |
Rhyme | 0:2eb87b5feaab | 33 | float getIR1(void) ; |
Rhyme | 0:2eb87b5feaab | 34 | int16_t getRawIR2(void) ; |
Rhyme | 0:2eb87b5feaab | 35 | float getIR2(void) ; |
Rhyme | 0:2eb87b5feaab | 36 | int16_t getRawIR3(void) ; |
Rhyme | 0:2eb87b5feaab | 37 | float getIR3(void) ; |
Rhyme | 0:2eb87b5feaab | 38 | int16_t getRawIR4(void) ; |
Rhyme | 0:2eb87b5feaab | 39 | float getIR4(void) ; |
Rhyme | 0:2eb87b5feaab | 40 | int16_t getRawTMP(void) ; |
Rhyme | 0:2eb87b5feaab | 41 | float getTMP(void) ; |
Rhyme | 0:2eb87b5feaab | 42 | uint8_t getST2(void) ; |
Rhyme | 0:2eb87b5feaab | 43 | int16_t getETH13H(void) ; |
Rhyme | 0:2eb87b5feaab | 44 | int16_t getETH13L(void) ; |
Rhyme | 0:2eb87b5feaab | 45 | int16_t getETH24H(void) ; |
Rhyme | 0:2eb87b5feaab | 46 | int16_t getETH24L(void) ; |
Rhyme | 0:2eb87b5feaab | 47 | uint8_t getEHYS13(void) ; |
Rhyme | 0:2eb87b5feaab | 48 | uint8_t getEHYS24(void) ; |
Rhyme | 0:2eb87b5feaab | 49 | uint8_t getEINTEN(void) ; |
Rhyme | 0:2eb87b5feaab | 50 | uint8_t getECNTL1(void) ; |
Rhyme | 0:2eb87b5feaab | 51 | uint8_t getCNTL2(void) ; |
Rhyme | 0:2eb87b5feaab | 52 | |
Rhyme | 0:2eb87b5feaab | 53 | void setETH13H(int16_t value) ; |
Rhyme | 0:2eb87b5feaab | 54 | void setETH13L(int16_t value) ; |
Rhyme | 0:2eb87b5feaab | 55 | void setETH24H(int16_t value) ; |
Rhyme | 0:2eb87b5feaab | 56 | void setETH24L(int16_t value) ; |
Rhyme | 0:2eb87b5feaab | 57 | void setEHYS13(uint8_t value) ; |
Rhyme | 0:2eb87b5feaab | 58 | void setEHYS24(uint8_t value) ; |
Rhyme | 0:2eb87b5feaab | 59 | void setEINTEN(uint8_t value) ; |
Rhyme | 0:2eb87b5feaab | 60 | void setECNTL1(uint8_t value) ; |
Rhyme | 0:2eb87b5feaab | 61 | void software_reset(void) ; |
Rhyme | 0:2eb87b5feaab | 62 | |
Rhyme | 0:2eb87b5feaab | 63 | |
Rhyme | 0:2eb87b5feaab | 64 | private: |
Rhyme | 0:2eb87b5feaab | 65 | I2C m_i2c; |
Rhyme | 0:2eb87b5feaab | 66 | int m_addr; |
Rhyme | 0:2eb87b5feaab | 67 | int readRegs(int addr, uint8_t * data, int len); |
Rhyme | 0:2eb87b5feaab | 68 | int writeRegs(uint8_t * data, int len); |
Rhyme | 0:2eb87b5feaab | 69 | }; |
Rhyme | 0:2eb87b5feaab | 70 | |
Rhyme | 0:2eb87b5feaab | 71 | #endif /* _AK9752_H_ */ |