OB1203 basic mbed driver
Diff: OB1203.cpp
- Revision:
- 16:d5fe5debb5d2
- Parent:
- 15:9bbac15f5e19
- Child:
- 19:a27b98998edf
--- a/OB1203.cpp Tue Jul 03 21:19:45 2018 +0000 +++ b/OB1203.cpp Fri Sep 28 21:54:57 2018 +0000 @@ -145,8 +145,8 @@ char writeData[4]; writeData[0] = (char) (ps_thres_hi & 0x000FF); writeData[1] = (char) ((ps_thres_hi & 0xFF00)>>8); - writeData[0] = (char) (ps_thres_lo & 0x000FF); - writeData[1] = (char) ((ps_thres_lo & 0xFF00)>>8); + writeData[2] = (char) (ps_thres_lo & 0x000FF); + writeData[3] = (char) ((ps_thres_lo & 0xFF00)>>8); writeBlock(OB1203_ADDR,REG_PS_THRES_HI,writeData,4); //default } @@ -300,13 +300,13 @@ writeBlock(OB1203_ADDR,REG_PS_MOV_AVG_HYS,writeData,1); setIntConfig(); setPSthresh(); - setPScurrent(); + setPScurrent(); setLSthresh(); ls_en = LS_ON; ppg_ps_en = PPG_PS_ON; ppg_ps_mode = PS_MODE; setLEDTrim(); - setMainConfig(); + setMainConfig(); } @@ -317,7 +317,7 @@ ls_en = LS_OFF; setIntConfig(); char readData[1]; - readBlock(OB1203_ADDR,REG_PS_INT_CFG_1,readData,1); + //readBlock(OB1203_ADDR,REG_PS_INT_CFG_1,readData,1); // pc.printf("int config 1 = %02X\r\n",readData[0]); setPPG_PSgain_cfg(); setPPGcurrent(); @@ -353,7 +353,7 @@ uint32_t OB1203::bytes2uint32(char *data, int start_byte) { //coverts a string of 3 bytes with LSB first into unsigned long MSB last - return uint32_t(data[start_byte+2])<<16 | uint32_t(data[start_byte+1])<<8 | uint32_t(data[start_byte]) ; + return ((uint32_t)data[start_byte+2])<<16 | ((uint32_t)data[start_byte+1])<<8 | ((uint32_t)data[start_byte]) ; } uint32_t OB1203::twoandhalfBytes2uint32(char *data, int start_byte)