with the tof code

Dependencies:   mbed Servo ros_lib_kinetic

Revision:
4:36a04230554d
Parent:
3:df6160e2f6d9
Child:
5:bc5081f0c063
--- a/main.cpp	Thu Oct 24 14:37:51 2019 +0000
+++ b/main.cpp	Thu Nov 07 15:31:52 2019 +0000
@@ -4,61 +4,43 @@
 --------------------------------------------------------------------------------*/
 #include "mbed.h"
 #include "TOF.h"
+#include "Motor.h"
+#include "power.h"
 
 Serial pc(SERIAL_TX, SERIAL_RX, 9600);    // set-up serial to pc
 
 //TOF chip shutdown signals
-DigitalOut TOF1(PC_8);
-DigitalOut TOF3(PC_10);
-DigitalOut TOF5(PC_12);
-DigitalOut TOF7(PG_2);
-
-cAdafruit_VL6180X VL6180X(TOF1,TOF3,TOF5,TOF7);  //Define TOF sensor class and initialise devices
+DigitalOut TOF1(PC_8); 
+DigitalOut TOF4(PC_11); 
+DigitalOut TOF6(PC_12); 
+DigitalOut TOF7(PD_2);  
 
-/*--------------------------------------------------------------------------------
-Function name: ServiceTOF
-Input Parameters: address - address of target TOF sensor
-Output Parameters: range - distance measurement in mm
-Description: performs measurement routine on a given sensor
-----------------------------------------------------------------------------------*/
-uint8_t serviceTOF(uint8_t address){
-        
-        uint8_t range = 0;
-        
-        // poll the VL6180X till new sample ready
-        VL6180X.Poll_Range(address);
+//Class define
+cAdafruit_VL6180X VL6180X(TOF1,TOF4,TOF6,TOF7);  //Define TOF sensor class and initialise devices
+cPower cPower(VBATT, V5, V3);
 
-        // read range result
-        range = VL6180X.Read_Range(address);
-        
-        // clear the interrupt on VL6180X
-        VL6180X.Clear_Interrupts(address);
-        
-        return range;
-}
-
-/*--------------------------------------------------------------------------------
-Function name: main
-Input Parameters: N/A
-Output Parameters: N/A
-Description: Main programming loop
-----------------------------------------------------------------------------------*/
 int main()
 {
-    uint8_t TOFRange[4]; //Array to store TOF measurements 0-sensor1, 1-sensor3, 2-sensor5, 3-sensor7
+    uint8_t TOFRange[4]; //Array to store TOF measurements 0-sensor1, 1-sensor4, 2-sensor6, 3-sensor7
+    float power_levels[3]; //Array to voltage levels
     
     while(1) {
         
         //Perform TOF measurements
-        TOFRange[0] = serviceTOF(ADDR1);
-        TOFRange[1] = serviceTOF(ADDR2);
-        TOFRange[2] = serviceTOF(ADDR3);
-        TOFRange[3] = serviceTOF(ADDR4);
-                
+        TOFRange[0] = serviceTOF(VL6180X, ADDR1);
+        TOFRange[1] = serviceTOF(VL6180X, ADDR4);
+        TOFRange[2] = serviceTOF(VL6180X, ADDR6);
+        TOFRange[3] = serviceTOF(VL6180X, ADDR7);
+        
+        Check_for_obstacles(TOFRange);
+         
         //Send range to pc by serial
-        pc.printf("TOF1:%d TOF3: %d TOF5: %d TOF7: %d\r\n", TOFRange[0], TOFRange[1], TOFRange[2],TOFRange[3]);
+        //pc.printf("TOF1:%d TOF3: %d TOF5: %d TOF7: %d\r\n", TOFRange[0], TOFRange[1], TOFRange[2],TOFRange[3]);
         
-        //Short delay
-        wait(0.1);
+        power_levels[0] = cPower.monitor_battery();
+        power_levels[1] = cPower.monitor_5v_line();
+        power_levels[2] = cPower.monitor_3v3_line();
+        printf("BATT:%4.2f, 5V:%4.2f, 3v3:%4.2f\n\r", power_levels[0], power_levels[1], power_levels[2]);  
+
     }
 }
\ No newline at end of file