OB1203 basic mbed driver
Diff: OB1203.cpp
- Revision:
- 9:0c3d2eea1c79
- Parent:
- 8:6c19c052b053
- Child:
- 10:6703d2cdeabc
diff -r 6c19c052b053 -r 0c3d2eea1c79 OB1203.cpp --- a/OB1203.cpp Thu May 17 21:52:52 2018 +0000 +++ b/OB1203.cpp Fri Jun 01 13:17:30 2018 +0000 @@ -189,11 +189,24 @@ void OB1203::setPPGavg_and_rate() { char writeData[2]; - writeData[0] = ppg_avg; + writeData[0] = ppg_avg | 0x0A; //use standard LED max settings writeData[1] = ppg_pwidth | ppg_freq | ppg_rate; writeBlock(OB1203_ADDR,REG_PPG_AVG,writeData,2); } +void OB1203::setBioTrim() +{ + char writeData[1]; + writeData[0] = bio_trim; + writeBlock(OB1203_ADDR, REG_BIO_TRIM,writeData,1); +} + +void OB1203::setLEDTrim() +{ + char writeData[1]; + writeData[0] = led_trim; + writeBlock(OB1203_ADDR, REG_LED_TRIM,writeData,1); +} void OB1203::setDigitalCan() { @@ -257,6 +270,7 @@ ppg_ps_en = 1; ppg_ps_mode = PS_MODE; setOscTrim(); + setLEDTrim(); setMainConfig(); } @@ -283,6 +297,7 @@ ppg_ps_en = PPG_PS_ON; ppg_ps_mode = PS_MODE; setOscTrim(); + setLEDTrim(); setMainConfig(); } @@ -291,6 +306,7 @@ { reset(); ps_int_en = PS_INT_OFF; + ls_en = LS_OFF; setIntConfig(); char readData[1]; readBlock(OB1203_ADDR,REG_PS_INT_CFG_1,readData,1); @@ -302,6 +318,8 @@ setFifoConfig(); ppg_ps_mode = HR_MODE; setOscTrim(); + setBioTrim(); + setLEDTrim(); setMainConfig(); } @@ -309,6 +327,7 @@ { reset(); ps_int_en = PS_INT_OFF; + ls_en = LS_OFF; setIntConfig(); char readData[1]; readBlock(OB1203_ADDR,REG_PS_INT_CFG_1,readData,1); @@ -320,6 +339,8 @@ setFifoConfig(); ppg_ps_mode = SPO2_MODE; setOscTrim(); + setLEDTrim(); + setBioTrim(); setMainConfig(); }