Sample MBed program for use with ST XNucleo VL53L1CB board. Uses interrupts to cope with up to 3 sensors in autonomous mode. Includes MBed V6.4

Dependencies:   X_NUCLEO_53L1A2

Revision:
3:9104750d8780
Parent:
2:f0ec92af4b5f
--- a/main.cpp	Fri May 07 14:15:27 2021 +0000
+++ b/main.cpp	Sun Jun 13 14:40:21 2021 +0000
@@ -145,7 +145,7 @@
 int main()
 {   
     int status;
-    VL53L1 * Sensor;
+    VL53L1CB * Sensor;
     uint8_t ToFSensor = 1; // 0=Left, 1=Center(default), 2=Right
   
     //mbed compiler claims these are never used but they are.
@@ -211,11 +211,11 @@
             Dev->comms_type = 1;
     
            /* Device Initialization and setting */  
-            status = Sensor->vl53L1_DataInit();
-            status = Sensor->vl53L1_StaticInit();
-            status = Sensor->vl53L1_SetPresetMode(VL53L1_PRESETMODE_AUTONOMOUS);
-            status = Sensor->vl53L1_SetDistanceMode(VL53L1_DISTANCEMODE_LONG);
-            status = Sensor->vl53L1_SetMeasurementTimingBudgetMicroSeconds( 200 * 1000); 
+            status = Sensor->VL53L1CB_DataInit();
+            status = Sensor->VL53L1CB_StaticInit();
+            status = Sensor->VL53L1CB_SetPresetMode(VL53L1_PRESETMODE_AUTONOMOUS);
+            status = Sensor->VL53L1CB_SetDistanceMode(VL53L1_DISTANCEMODE_LONG);
+            status = Sensor->VL53L1CB_SetMeasurementTimingBudgetMicroSeconds( 200 * 1000); 
             
    
            // set the ranging and signal rate filter
@@ -228,7 +228,7 @@
             thresholdconfig.Rate.High = 0;
             thresholdconfig.Rate.Low = 0;
             thresholdconfig.IntrNoTarget = 0 ;// if 1 produce an interrupt even if there is no target found e.g out of range 
-            status = Sensor->vl53L1_SetThresholdConfig(&thresholdconfig);
+            status = Sensor->VL53L1CB_SetThresholdConfig(&thresholdconfig);
         }
         
         // create interrupt handlers for the three sensors and start measurements
@@ -237,7 +237,7 @@
             printf("starting interrupt centre\n");
             devCentre.i2c_slave_address = NEW_SENSOR_CENTRE_ADDRESS;
             int1 =  new WaitForMeasurement(CentreIntPin,&devCentre);    // create interrupt handler
-            status = board->sensor_centre->vl53L1_StartMeasurement();
+            status = board->sensor_centre->VL53L1CB_StartMeasurement();
         }
         
         if (board->sensor_left!= NULL )
@@ -245,7 +245,7 @@
             printf("starting interrupt left\n");
             devLeft.i2c_slave_address = NEW_SENSOR_LEFT_ADDRESS;
             int2 = new WaitForMeasurement(LeftIntPin,&devLeft);    // create interrupt handler
-            status = board->sensor_left->vl53L1_StartMeasurement();
+            status = board->sensor_left->VL53L1CB_StartMeasurement();
             printf("started interrupt left\n");
         }
 
@@ -254,7 +254,7 @@
             printf("starting interrupt right\n");
             devRight.i2c_slave_address = NEW_SENSOR_RIGHT_ADDRESS;
             int3 = new WaitForMeasurement(RightIntPin,&devRight);    // create interrupt handler
-            status = board->sensor_right->vl53L1_StartMeasurement();
+            status = board->sensor_right->VL53L1CB_StartMeasurement();
         }
         
         
@@ -275,24 +275,24 @@
             if ( int_centre_dropped != 0)
             {
                int_centre_dropped = 0;
-               status = board->sensor_centre->vl53L1_ClearInterruptAndStartMeasurement();
+               status = board->sensor_centre->VL53L1CB_ClearInterruptAndStartMeasurement();
             }
             
             if ( int_left_dropped != 0)               
             {
                int_left_dropped = 0;
-               status = board->sensor_left->vl53L1_ClearInterruptAndStartMeasurement();
+               status = board->sensor_left->VL53L1CB_ClearInterruptAndStartMeasurement();
             }
             
             if ( int_right_dropped != 0)            
             {
                int_right_dropped = 0;
-               status = board->sensor_right->vl53L1_ClearInterruptAndStartMeasurement();
+               status = board->sensor_right->VL53L1CB_ClearInterruptAndStartMeasurement();
             }
 
             if (int_right_result != 0) // interrupt seen on right sensor
             {
-                status = board->sensor_right->vl53L1_GetMultiRangingData( pMultiRangingData);
+                status = board->sensor_right->VL53L1CB_GetMultiRangingData( pMultiRangingData);
                 if ( status == 0)
                 {
                     print_results( devRight.i2c_slave_address, pMultiRangingData );
@@ -304,7 +304,7 @@
 
             if (int_left_result != 0)  // interrupt seen on left sensor
             {
-                status = board->sensor_left->vl53L1_GetMultiRangingData( pMultiRangingData);
+                status = board->sensor_left->VL53L1CB_GetMultiRangingData( pMultiRangingData);
                 if ( status == 0)
                 {
                     print_results( devLeft.i2c_slave_address, pMultiRangingData );
@@ -316,7 +316,7 @@
               
             if (int_centre_result != 0)
             {
-                status = board->sensor_centre->vl53L1_GetMultiRangingData( pMultiRangingData);
+                status = board->sensor_centre->VL53L1CB_GetMultiRangingData( pMultiRangingData);
                 if ( status == 0)
                 {
                     print_results( devCentre.i2c_slave_address, pMultiRangingData );