Browse Source

fix : Compatible with SAMD platform

linux-downey 7 years ago
parent
commit
56d2693342

+ 22 - 5
examples/continuous_ranging/continuous_ranging.ino

@@ -1,21 +1,28 @@
 #include "Seeed_vl53l0x.h"
 Seeed_vl53l0x VL53L0X;
 
+#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
+  #define SERIAL SerialUSB
+#else
+  #define SERIAL Serial
+#endif
+
+
 void setup()
 { 
 	VL53L0X_Error Status = VL53L0X_ERROR_NONE;
-	Serial.begin(115200);
+	SERIAL.begin(115200);
 	Status=VL53L0X.VL53L0X_common_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
 	VL53L0X.VL53L0X_continuous_ranging_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -24,8 +31,18 @@ void setup()
 
 void loop()
 {
-	VL53L0X_RangingMeasurementData_t RangingMeasurementData;
-	VL53L0X.PerformContinuousRangingMeasurement(&RangingMeasurementData);
+    VL53L0X_RangingMeasurementData_t RangingMeasurementData;
+    VL53L0X.PerformContinuousRangingMeasurement(&RangingMeasurementData);
+	if(RangingMeasurementData.RangeMilliMeter>=2000)
+	{
+		SERIAL.println("out of ranger");
+	}
+	else
+	{
+		SERIAL.print("distance::");
+    	SERIAL.println(RangingMeasurementData.RangeMilliMeter);
+	}
+    delay(100);
 }
 
 

+ 16 - 9
examples/high_accuracy_ranging/high_accuracy_ranging.ino

@@ -1,14 +1,21 @@
 #include "Seeed_vl53l0x.h"
 Seeed_vl53l0x VL53L0X;
 
+
+#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
+  #define SERIAL SerialUSB
+#else
+  #define SERIAL Serial
+#endif
+
 void setup()
 { 
 	VL53L0X_Error Status = VL53L0X_ERROR_NONE;
-	Serial.begin(115200);
+	SERIAL.begin(115200);
 	Status=VL53L0X.VL53L0X_common_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -17,7 +24,7 @@ void setup()
 
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -35,19 +42,19 @@ void loop()
 	{
 		if(RangingMeasurementData.RangeMilliMeter>=2000)
 		{
-			Serial.println("out of range!!");
+			SERIAL.println("out of range!!");
 		}
 		else
 		{
-			Serial.print("Measured distance:");
-			Serial.print(RangingMeasurementData.RangeMilliMeter);
-			Serial.println(" mm");
+			SERIAL.print("Measured distance:");
+			SERIAL.print(RangingMeasurementData.RangeMilliMeter);
+			SERIAL.println(" mm");
 		}
 	}
 	else
 	{
-		Serial.print("mesurement failed !! Status code =");
-		Serial.println(Status);
+		SERIAL.print("mesurement failed !! Status code =");
+		SERIAL.println(Status);
 	}
 	
 	delay(300);

+ 16 - 9
examples/high_speed_ranging/high_speed_ranging.ino

@@ -1,14 +1,21 @@
 #include "Seeed_vl53l0x.h"
 Seeed_vl53l0x VL53L0X;
 
+
+#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
+  #define SERIAL SerialUSB
+#else
+  #define SERIAL Serial
+#endif
+
 void setup()
 { 
 	VL53L0X_Error Status = VL53L0X_ERROR_NONE;
-	Serial.begin(115200);
+	SERIAL.begin(115200);
 	Status=VL53L0X.VL53L0X_common_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -17,7 +24,7 @@ void setup()
 	
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -35,19 +42,19 @@ void loop()
 	{
 		if(RangingMeasurementData.RangeMilliMeter>=2000)
 		{
-			Serial.println("out of range!!");
+			SERIAL.println("out of range!!");
 		}
 		else
 		{
-			Serial.print("Measured distance:");
-			Serial.print(RangingMeasurementData.RangeMilliMeter);
-			Serial.println(" mm");
+			SERIAL.print("Measured distance:");
+			SERIAL.print(RangingMeasurementData.RangeMilliMeter);
+			SERIAL.println(" mm");
 		}
 	}
 	else
 	{
-		Serial.print("mesurement failed !! Status code =");
-		Serial.println(Status);
+		SERIAL.print("mesurement failed !! Status code =");
+		SERIAL.println(Status);
 	}
 	
 	delay(300);

+ 16 - 9
examples/long_distance_ranging/long_distance_ranging.ino

@@ -1,14 +1,21 @@
 #include "Seeed_vl53l0x.h"
 Seeed_vl53l0x VL53L0X;
 
+#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
+  #define SERIAL SerialUSB
+#else
+  #define SERIAL Serial
+#endif
+
+
 void setup()
 { 
 	VL53L0X_Error Status = VL53L0X_ERROR_NONE;
-	Serial.begin(115200);
+	SERIAL.begin(115200);
 	Status=VL53L0X.VL53L0X_common_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -17,7 +24,7 @@ void setup()
 	
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -35,19 +42,19 @@ void loop()
 	{
 		if(RangingMeasurementData.RangeMilliMeter>=2000)
 		{
-			Serial.println("out of range!!");
+			SERIAL.println("out of range!!");
 		}
 		else
 		{
-			Serial.print("Measured distance:");
-			Serial.print(RangingMeasurementData.RangeMilliMeter);
-			Serial.println(" mm");
+			SERIAL.print("Measured distance:");
+			SERIAL.print(RangingMeasurementData.RangeMilliMeter);
+			SERIAL.println(" mm");
 		}
 	}
 	else
 	{
-		Serial.print("mesurement failed !! Status code =");
-		Serial.println(Status);
+		SERIAL.print("mesurement failed !! Status code =");
+		SERIAL.println(Status);
 	}
 	
 	delay(300);

+ 18 - 9
examples/single_ranging/single_ranging.ino

@@ -1,21 +1,30 @@
 #include "Seeed_vl53l0x.h"
 Seeed_vl53l0x VL53L0X;
 
+
+#ifdef ARDUINO_SAMD_VARIANT_COMPLIANCE
+  #define SERIAL SerialUSB
+#else
+  #define SERIAL Serial
+#endif
+
+
+
 void setup()
 { 
 	VL53L0X_Error Status = VL53L0X_ERROR_NONE;
-	Serial.begin(115200);
+	SERIAL.begin(115200);
 	Status=VL53L0X.VL53L0X_common_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
 	VL53L0X.VL53L0X_single_ranging_init();
 	if(VL53L0X_ERROR_NONE!=Status)
 	{
-		Serial.println("start vl53l0x mesurement failed!");
+		SERIAL.println("start vl53l0x mesurement failed!");
 		VL53L0X.print_pal_error(Status);
 		while(1);
 	}
@@ -33,19 +42,19 @@ void loop()
 	{
 		if(RangingMeasurementData.RangeMilliMeter>=2000)
 		{
-			Serial.println("out of range!!");
+			SERIAL.println("out of range!!");
 		}
 		else
 		{
-			Serial.print("Measured distance:");
-			Serial.print(RangingMeasurementData.RangeMilliMeter);
-			Serial.println(" mm");
+			SERIAL.print("Measured distance:");
+			SERIAL.print(RangingMeasurementData.RangeMilliMeter);
+			SERIAL.println(" mm");
 		}
 	}
 	else
 	{
-		Serial.print("mesurement failed !! Status code =");
-		Serial.println(Status);
+		SERIAL.print("mesurement failed !! Status code =");
+		SERIAL.println(Status);
 	}
 	
 	delay(300);

+ 13 - 13
src/Seeed_vl53l0x.cpp

@@ -43,10 +43,10 @@ void Seeed_vl53l0x::print_pal_error(VL53L0X_Error Status)
 {
 	char buf[VL53L0X_MAX_STRING_LENGTH];
     VL53L0X_GetPalErrorString(Status, buf);
-	Serial.print("API Status:");
-	Serial.print(Status);
-	Serial.print("API error string:");
-	Serial.println(buf);
+	// Serial.print("API Status:");
+	// Serial.print(Status);
+	// Serial.print("API error string:");
+	// Serial.println(buf);
 }
 
 /**@brief Print ranging status through param:pRangingMeasurementData
@@ -159,7 +159,7 @@ VL53L0X_Error Seeed_vl53l0x::check_version()
         pVersion->minor != VERSION_REQUIRED_MINOR ||
         pVersion->build != VERSION_REQUIRED_BUILD )
     {
-        Serial.println("VL53L0X API Version Error");
+        // Serial.println("VL53L0X API Version Error");
     }
     return Status;
 }
@@ -382,8 +382,8 @@ VL53L0X_Error Seeed_vl53l0x::PerformContinuousRangingMeasurement(VL53L0X_Ranging
     Status = VL53L0X_StartMeasurement(pMyDevice);
     if(VL53L0X_ERROR_NONE!=Status) return Status;
     
-    while(1)
-    {
+    // while(1)
+    // {
         while(1)
         {
             Status = VL53L0X_GetMeasurementDataReady(pMyDevice,&stat);
@@ -395,17 +395,17 @@ VL53L0X_Error Seeed_vl53l0x::PerformContinuousRangingMeasurement(VL53L0X_Ranging
         if(VL53L0X_ERROR_NONE!=Status) return Status;
         if(RangingMeasurementData->RangeMilliMeter>=2000)
         {
-            Serial.println("out of ranger");
+            // SerialUSB.println("out of ranger");
         }
         else 
         {
-            Serial.print("distance::");
-            Serial.println(RangingMeasurementData->RangeMilliMeter);
+            // SerialUSB.print("distance::");
+            // SerialUSB.println(RangingMeasurementData->RangeMilliMeter);
         }
 
         VL53L0X_ClearInterruptMask(pMyDevice, VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_NEW_SAMPLE_READY);
         VL53L0X_PollingDelay(pMyDevice);
-    }
+    // }
 
     /***************************************************stop_part************************/
     // Status = VL53L0X_StopMeasurement(pMyDevice);
@@ -438,8 +438,8 @@ VL53L0X_Error Seeed_vl53l0x::PerformSingleRangingMeasurement(VL53L0X_RangingMeas
              		RangingMeasurementData);
         milli_value_stop=millis();
 
-        Serial.print("time of mesurement: ");
-        Serial.println(milli_value_stop-milli_value_start);
+        // Serial.print("time of mesurement: ");
+        // Serial.println(milli_value_stop-milli_value_start);
 
         return Status;
     }