IDT Optical Sensors / Mbed 2 deprecated OB1203_IDT

Dependencies:   mbed OB1203_example_driver

Revision:
5:ebe305e08430
Parent:
4:3aee2ca931b8
Child:
6:aaa2f8fb5123
--- a/main.cpp	Mon May 14 16:58:30 2018 +0000
+++ b/main.cpp	Mon May 14 18:49:12 2018 +0000
@@ -20,12 +20,12 @@
 int sample_delay = 25; //ms
 
 
-bool mode = 1; //0 for PS_LS, 1 for PPG
-bool meas_ps = 0;
+bool mode = 0; //0 for PS_LS, 1 for PPG
+bool meas_ps = 1;
 bool spo2 = 1; //0 for HR, 1 for SpO2
 bool intFlagged =0;
 bool afull = 1; //use Afull interrupt--otherwise PPG new data interrupt
-bool meas_temp = 0;
+bool meas_temp = 1;
 
 void defaultConfig()
 {
@@ -41,6 +41,7 @@
     ob1203.ls_en = LS_ON;
 
     ob1203.ps_sai_en = PS_SAI_OFF;
+//    ob1203.ps_sai_en = PS_SAI_ON;
     if(mode)
     {
         if (spo2)
@@ -130,7 +131,7 @@
     }
     else    
     {
-       ob1203.init_ps_rgb();
+       meas_ps ? ob1203.init_ps_rgb() : ob1203.init_rgb();
     }
 }
 
@@ -207,6 +208,7 @@
         
     intb.fall(&intEvent);
     t.start();
+
     while(1)
     {
         if(mode)
@@ -327,11 +329,15 @@
         else
         {
             wait_ms(sample_delay);
-            if(ob1203.dataIsNew())
+            if( meas_ps ? ob1203.psIsNew() : ob1203.lsIsNew() )
             {
-                valid = ob1203.get_ps_ls_data(ps_ls_data);
+                meas_ps ? valid = ob1203.get_ps_ls_data(ps_ls_data) : valid = ob1203.get_ls_data(ps_ls_data);
+                if (meas_temp) 
+                {
+                    ob1203.setMainConfig();
+                }
 //                pc.printf("%d %d %d %d %d %d\r\n",ps_ls_data[0],ps_ls_data[1],ps_ls_data[2],ps_ls_data[3],ps_ls_data[4],ps_ls_data[5]);
-                  pc.printf("%d %d %d %d %d %d %d\r\n",ps_ls_data[0],ps_ls_data[1],ps_ls_data[2],ps_ls_data[3],ps_ls_data[4],ps_ls_data[5],ps_ls_data[6]);
+                pc.printf("%d %d %d %d %d %d %d\r\n",ps_ls_data[0],ps_ls_data[1],ps_ls_data[2],ps_ls_data[3],ps_ls_data[4],ps_ls_data[5],ps_ls_data[6]);
             
             }
 //            else