MAX44000 Ambient and Infrared Proximity Sensor

Dependents:   test_MAX44000 testSensor PMK2022_Agriculture

Committer:
Rhyme
Date:
Tue Dec 15 01:15:52 2015 +0000
Revision:
0:c9c9e362ec57
Child:
1:e3d11ab4c524
First commit, no documentation yet

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:c9c9e362ec57 1 /**
Rhyme 0:c9c9e362ec57 2 * MAX44000
Rhyme 0:c9c9e362ec57 3 * Ambient and Infrared Proximity Sensor
Rhyme 0:c9c9e362ec57 4 * I2C 7bit address: 0x4A
Rhyme 0:c9c9e362ec57 5 *
Rhyme 0:c9c9e362ec57 6 */
Rhyme 0:c9c9e362ec57 7
Rhyme 0:c9c9e362ec57 8 #ifndef _MAX44000_H_
Rhyme 0:c9c9e362ec57 9 #define _MAX44000_H_
Rhyme 0:c9c9e362ec57 10
Rhyme 0:c9c9e362ec57 11 #include "mbed.h"
Rhyme 0:c9c9e362ec57 12
Rhyme 0:c9c9e362ec57 13
Rhyme 0:c9c9e362ec57 14
Rhyme 0:c9c9e362ec57 15 class MAX44000
Rhyme 0:c9c9e362ec57 16 {
Rhyme 0:c9c9e362ec57 17 public:
Rhyme 0:c9c9e362ec57 18 /**
Rhyme 0:c9c9e362ec57 19 * constructor
Rhyme 0:c9c9e362ec57 20 *
Rhyme 0:c9c9e362ec57 21 * @param sda SDA pin
Rhyme 0:c9c9e362ec57 22 * @param scl SCL pin
Rhyme 0:c9c9e362ec57 23 * @param addr address of the I2C peripheral
Rhyme 0:c9c9e362ec57 24 */
Rhyme 0:c9c9e362ec57 25 MAX44000(PinName sda, PinName scl, int addr) ;
Rhyme 0:c9c9e362ec57 26
Rhyme 0:c9c9e362ec57 27 ~MAX44000() ;
Rhyme 0:c9c9e362ec57 28
Rhyme 0:c9c9e362ec57 29 /*
Rhyme 0:c9c9e362ec57 30 * some member functions here (yet to be written)
Rhyme 0:c9c9e362ec57 31 */
Rhyme 0:c9c9e362ec57 32
Rhyme 0:c9c9e362ec57 33 void getIntStatus(uint8_t *data) ;
Rhyme 0:c9c9e362ec57 34 void getMainConfig(uint8_t *conf) ;
Rhyme 0:c9c9e362ec57 35 void setMainConfig(uint8_t newConf) ;
Rhyme 0:c9c9e362ec57 36 void getRxConfig(uint8_t *conf) ;
Rhyme 0:c9c9e362ec57 37 void setRxConfig(uint8_t newConf) ;
Rhyme 0:c9c9e362ec57 38 void getTxConfig(uint8_t *conf) ;
Rhyme 0:c9c9e362ec57 39 void setTxConfig(uint8_t newConf) ;
Rhyme 0:c9c9e362ec57 40 void getALS(uint8_t *ofl, uint16_t *value) ;
Rhyme 0:c9c9e362ec57 41 void getProx(uint8_t *value) ;
Rhyme 0:c9c9e362ec57 42 void getADC(uint8_t *ofl, uint16_t *als, uint8_t *prox) ;
Rhyme 0:c9c9e362ec57 43 void getUPTHR(uint16_t *thr) ;
Rhyme 0:c9c9e362ec57 44 void setUPTHR(uint16_t newThr) ;
Rhyme 0:c9c9e362ec57 45 void getLOTHR(uint16_t *thr) ;
Rhyme 0:c9c9e362ec57 46 void setLOTHR(uint16_t newThr) ;
Rhyme 0:c9c9e362ec57 47 void getTHRPT(uint8_t *data) ;
Rhyme 0:c9c9e362ec57 48 void setTHRPT(uint8_t newData) ;
Rhyme 0:c9c9e362ec57 49 void getPRXTHR_IND(uint8_t *value) ;
Rhyme 0:c9c9e362ec57 50 void setPRXTHR_IND(uint8_t newValue) ;
Rhyme 0:c9c9e362ec57 51 void getPRX_THR(uint8_t *data) ;
Rhyme 0:c9c9e362ec57 52 void setPRX_THR(uint8_t newValue) ;
Rhyme 0:c9c9e362ec57 53 void getTRM_GAING(uint8_t *data) ;
Rhyme 0:c9c9e362ec57 54 void setTRM_GAING(uint8_t newValue) ;
Rhyme 0:c9c9e362ec57 55 void getTRM_GAINIR(uint8_t *data) ;
Rhyme 0:c9c9e362ec57 56 void setTRM_GAINIR(uint8_t newValue) ;
Rhyme 0:c9c9e362ec57 57
Rhyme 0:c9c9e362ec57 58 private:
Rhyme 0:c9c9e362ec57 59 I2C m_i2c;
Rhyme 0:c9c9e362ec57 60 int m_addr;
Rhyme 0:c9c9e362ec57 61 void readRegs(int addr, uint8_t *data, int len) ;
Rhyme 0:c9c9e362ec57 62 void writeRegs(uint8_t *data, int len) ;
Rhyme 0:c9c9e362ec57 63 } ;
Rhyme 0:c9c9e362ec57 64 #endif /* _MAX44000_H_ */