C++ Library for the PsiSwarm Robot - Version 0.8

Dependents:   PsiSwarm_V8_Blank_CPP Autonomia_RndmWlk

Fork of PsiSwarmV7_CPP by Psi Swarm Robot

Revision:
11:312663037b8c
Parent:
10:e58323951c08
Child:
12:878c6e9d9e60
--- a/sensors.cpp	Sun Oct 16 16:00:20 2016 +0000
+++ b/sensors.cpp	Sun Oct 16 21:06:15 2016 +0000
@@ -76,7 +76,7 @@
 
 float Sensors::get_temperature()
 {   
-    if(has_temperature_sensor)return IF_read_from_temperature_sensor();
+    if(has_temperature_sensor)return i2c_setup.IF_read_from_temperature_sensor();
     return 0;
 }
 
@@ -118,7 +118,7 @@
     if(index>7) return 0.0;
 
     //1.  Read the ADC value without IR emitter on; store in the background_ir_values[] array
-    background_ir_values [index] = IF_read_IR_adc_value(1, index );
+    background_ir_values [index] = i2c_setup.IF_read_IR_adc_value(1, index );
 
     //2.  Enable the relevant IR emitter by turning on its pulse output
     switch(index) {
@@ -126,19 +126,19 @@
         case 1:
         case 6:
         case 7:
-            IF_set_IR_emitter_output(0, 1);
+            i2c_setup.IF_set_IR_emitter_output(0, 1);
             break;
         case 2:
         case 3:
         case 4:
         case 5:
-            IF_set_IR_emitter_output(1, 1);
+            i2c_setup.IF_set_IR_emitter_output(1, 1);
             break;
     }
     wait_us(ir_pulse_delay);
 
     //3.  Read the ADC value now IR emitter is on; store in the illuminated_ir_values[] array
-    illuminated_ir_values [index] = IF_read_IR_adc_value (1, index );
+    illuminated_ir_values [index] = i2c_setup.IF_read_IR_adc_value (1, index );
 
     //4.  Turn off IR emitter
     switch(index) {
@@ -146,13 +146,13 @@
         case 1:
         case 6:
         case 7:
-            IF_set_IR_emitter_output(0, 0);
+            i2c_setup.IF_set_IR_emitter_output(0, 0);
             break;
         case 2:
         case 3:
         case 4:
         case 5:
-            IF_set_IR_emitter_output(1, 0);
+            i2c_setup.IF_set_IR_emitter_output(1, 0);
             break;
     }
 
@@ -208,7 +208,7 @@
 {
     ir_values_stored = 1;
     for(int i=0; i<8; i++) {
-        background_ir_values [i] = IF_read_IR_adc_value(1,i);
+        background_ir_values [i] = i2c_setup.IF_read_IR_adc_value(1,i);
     }
 }
 
@@ -216,22 +216,22 @@
 void Sensors::store_illuminated_raw_ir_values ( void )
 {
     //1.  Enable the front IR emitters and store the values
-    IF_set_IR_emitter_output(0, 1);
+    i2c_setup.IF_set_IR_emitter_output(0, 1);
     wait_us(ir_pulse_delay);
-    illuminated_ir_values [0] = IF_read_IR_adc_value(1,0);
-    illuminated_ir_values [1] = IF_read_IR_adc_value(1,1);
-    illuminated_ir_values [6] = IF_read_IR_adc_value(1,6);
-    illuminated_ir_values [7] = IF_read_IR_adc_value(1,7);
-    IF_set_IR_emitter_output(0, 0);
+    illuminated_ir_values [0] = i2c_setup.IF_read_IR_adc_value(1,0);
+    illuminated_ir_values [1] = i2c_setup.IF_read_IR_adc_value(1,1);
+    illuminated_ir_values [6] = i2c_setup.IF_read_IR_adc_value(1,6);
+    illuminated_ir_values [7] = i2c_setup.IF_read_IR_adc_value(1,7);
+    i2c_setup.IF_set_IR_emitter_output(0, 0);
 
     //2.  Enable the rear+side IR emitters and store the values
-    IF_set_IR_emitter_output(1, 1);
+    i2c_setup.IF_set_IR_emitter_output(1, 1);
     wait_us(ir_pulse_delay);
-    illuminated_ir_values [2] = IF_read_IR_adc_value(1,2);
-    illuminated_ir_values [3] = IF_read_IR_adc_value(1,3);
-    illuminated_ir_values [4] = IF_read_IR_adc_value(1,4);
-    illuminated_ir_values [5] = IF_read_IR_adc_value(1,5);
-    IF_set_IR_emitter_output(1, 0);
+    illuminated_ir_values [2] = i2c_setup.IF_read_IR_adc_value(1,2);
+    illuminated_ir_values [3] = i2c_setup.IF_read_IR_adc_value(1,3);
+    illuminated_ir_values [4] = i2c_setup.IF_read_IR_adc_value(1,4);
+    illuminated_ir_values [5] = i2c_setup.IF_read_IR_adc_value(1,5);
+    i2c_setup.IF_set_IR_emitter_output(1, 0);
 }
 
 // Converts a background and illuminated value into a distance
@@ -262,31 +262,31 @@
         case 1:
         case 6:
         case 7:
-            IF_set_IR_emitter_output(0, 1);
+            i2c_setup.IF_set_IR_emitter_output(0, 1);
             break;
         case 2:
         case 3:
         case 4:
         case 5:
-            IF_set_IR_emitter_output(1, 1);
+            i2c_setup.IF_set_IR_emitter_output(1, 1);
             break;
     }
     wait_us(ir_pulse_delay);
     //2.  Read the ADC value now IR emitter is on
-    unsigned short strong_value = IF_read_IR_adc_value( 1,index );
+    unsigned short strong_value = i2c_setup.IF_read_IR_adc_value( 1,index );
     //3.  Turn off IR emitter
     switch(index) {
         case 0:
         case 1:
         case 6:
         case 7:
-            IF_set_IR_emitter_output(0, 0);
+            i2c_setup.IF_set_IR_emitter_output(0, 0);
             break;
         case 2:
         case 3:
         case 4:
         case 5:
-            IF_set_IR_emitter_output(1, 0);
+            i2c_setup.IF_set_IR_emitter_output(1, 0);
             break;
     }
     return strong_value;
@@ -326,7 +326,7 @@
 {
     base_ir_values_stored = 1;
     for(int i=0; i<5; i++) {
-        background_base_ir_values [i] = IF_read_IR_adc_value(2,i);
+        background_base_ir_values [i] = i2c_setup.IF_read_IR_adc_value(2,i);
     }
 }
 
@@ -334,13 +334,13 @@
 void Sensors::store_illuminated_base_ir_values ( void )
 {
     //1.  Enable the base IR emitters and store the values
-    IF_set_IR_emitter_output(2, 1);
+    i2c_setup.IF_set_IR_emitter_output(2, 1);
     wait_us(base_ir_pulse_delay);
     for(int i=0; i<5; i++) {
-        illuminated_base_ir_values [i] = IF_read_IR_adc_value(2,i);
+        illuminated_base_ir_values [i] = i2c_setup.IF_read_IR_adc_value(2,i);
     }
 
-    IF_set_IR_emitter_output(2, 0);
+    i2c_setup.IF_set_IR_emitter_output(2, 0);
 }
 
 // Routine to store detected line position in a similar format to the used on 3Pi\m3Pi\PiSwarm