Dectection take 1. Fixed adaptation step. Detect based on a number of standard deviations away from the mean.

Dependencies:   SI1143 m3pi mbed

Fork of Proximity_Sensor_2_sense by DP

Revision:
3:0359b918f658
Parent:
2:8798491332ed
Child:
5:b77b678ed22f
--- a/main.cpp	Fri May 23 21:35:11 2014 +0000
+++ b/main.cpp	Wed Jun 04 23:13:05 2014 +0000
@@ -1,33 +1,49 @@
+
 #include "mbed.h"
 #include "SI1143.h"
 
-SI1143 sensor(p28, p27);
-InterruptIn prox_meas(p29);
-Serial bt(p13, p14);
+//DigitalOut enable(p30);
+
+Ticker timer;
+
+I2C* i2c = new I2C(p28, p27);
 
 DigitalOut led1(LED1);
 DigitalOut led2(LED2);
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 
-int sense1;
+//DigitalIn s2(p29);
+
+SI1143 sensor1(i2c, p30, p29, 0x01);
+SI1143 sensor2(i2c, p25, p26, 0x02); // p25, p26
+
+//InterruptIn prox_meas(p26); //26
+
+int sense1a, sense1b, sense2a, sense2b;
 
 void meas_int(){
     led1 = 1;
-    sense1 = sensor.read_ps1();
-    bt.printf("%d\r\n",sense1);
-    sensor.clear_int();
+    sense1a = sensor1.get_ps1(1);
+    sense1b = sensor1.get_ps2(1);
+    sense2a = sensor2.get_ps1(1);
+    sense2b = sensor2.get_ps2(1);
+    printf("%d,  %d,  %d,  %d;\r\n",sense1a, sense1b, sense2a, sense2b);
+    //printf("%d\r\n",sense2);
+    led1 = 0;
 }
 
 int main()
 {   
     // Setup the baseline
-    // sensor.bias(1,10);
-    wait(3);
-    //led2 = 0;
-    prox_meas.fall(&meas_int);
-    sensor.start_ps_auto();
-    
+    //sensor1.restart(i2c, 0x01);
+    //printf("%d    ",sensor1.adrs);
+    //sensor2.restart(i2c, 0x02);
+    //printf("%d\r\n",sensor2.adrs);    
+    led2 = 0;
+    wait(1);
+    timer.attach(&meas_int, 0.01);
+
     while(1)
     {
         // Read each led sensor
@@ -35,9 +51,6 @@
                 
         //Numeriacl output through terminal
         led1 = 0;
-        //printf("%d\r\n",sense1);
-        
-        //led2 = !led2;
-        //wait(.01);
+        led2 = 0;
     }
-}
+}
\ No newline at end of file