Now you can use NC as InterruptIn

Dependencies:   X_NUCLEO_COMMON

Fork of X_NUCLEO_6180XA1 by ST

Revision:
15:454710d17358
Parent:
14:0effa0bbf192
Child:
16:0d4776564733
--- a/x_nucleo_6180xa1.h	Mon Oct 19 13:54:17 2015 +0200
+++ b/x_nucleo_6180xa1.h	Tue Oct 20 16:44:28 2015 +0200
@@ -47,11 +47,11 @@
 #include "STMPE1600_class.h"
 #include "DevI2C.h"
 
-/** New device addresses */ //FIXME sistemare i nuovi indirizzi da assegnare ai sensori
+/** New device addresses */
 #define NEW_SENSOR_TOP_ADDRESS			0x10
-//#define NEW_SENSOR_LEFT_ADDRESS			0x33
-//#define NEW_SENSOR_BOTTOM_ADDRESS		0x34
-//#define NEW_SENSOR_RIGHT_ADDRESS		0x35
+#define NEW_SENSOR_BOTTOM_ADDRESS		0x11
+#define NEW_SENSOR_LEFT_ADDRESS			0x12
+#define NEW_SENSOR_RIGHT_ADDRESS		0x13
 
 /* Classes--------------------------------------------------------------------*/
 
@@ -61,25 +61,69 @@
 		X_NUCLEO_6180XA1(DevI2C *ext_i2c) : dev_i2c(ext_i2c)
     {
 			 gpio0_top=new STMPE1600DigiOut(*dev_i2c, GPIO_12);
-	     sensor_top=new VL6180X(*dev_i2c, *gpio0_top, PB_0); 
+			 sensor_top=new VL6180X(*dev_i2c, *gpio0_top, PB_0);
+			 gpio0_bottom=new STMPE1600DigiOut(*dev_i2c, GPIO_13);
+			 sensor_bottom=new VL6180X(*dev_i2c, *gpio0_bottom, PA_4);
+			 gpio0_left=new STMPE1600DigiOut(*dev_i2c, GPIO_14);
+			 sensor_left=new VL6180X(*dev_i2c, *gpio0_left, D13);
+			 gpio0_right=new STMPE1600DigiOut(*dev_i2c, GPIO_15);
+			 sensor_right=new VL6180X(*dev_i2c, *gpio0_right, PA_10);
 		}
 		
 		~X_NUCLEO_6180XA1()
     {
 			 if(gpio0_top!=NULL)
-			   delete[] gpio0_top;
+			 {
+			   delete gpio0_top;
+			   gpio0_top=NULL;
+			 }
 			 if(sensor_top!=NULL)
-			   delete[] sensor_top;
+			 {
+			   delete sensor_top;
+				 sensor_top=NULL;
+			 }
+			 if(gpio0_bottom!=NULL)
+			 {
+			   delete gpio0_bottom;
+			   gpio0_bottom=NULL;
+			 }
+			 if(sensor_bottom!=NULL)
+			 {
+			   delete sensor_bottom;
+				 sensor_bottom=NULL;
+			 }
+			 if(gpio0_left!=NULL)
+			 {
+				 delete gpio0_left;
+				 gpio0_left=NULL;
+			 }				 
+			 if(sensor_left!=NULL)
+			 {
+				 delete sensor_left;
+				 sensor_left=NULL;
+			 }
+			 if(gpio0_right!=NULL)
+			 {
+				 delete gpio0_right;
+				 gpio0_right=NULL;
+			 }
+			 if(sensor_right!=NULL)
+			 {
+				 delete sensor_right;
+				 sensor_right=NULL;
+			 }
 		}
 		  
 	  DevI2C *dev_i2c;	
 		STMPE1600DigiOut *gpio0_top;
+		STMPE1600DigiOut *gpio0_bottom;
+		STMPE1600DigiOut *gpio0_left;
+		STMPE1600DigiOut *gpio0_right;
 		VL6180X *sensor_top;
-		
-		//pin gpio1: bottom=PA4, left=D13, right=PA10
-		//VL6180X *vl6180x_left;
-		//VL6180X *vl6180x_bottom;
-		//VL6180X *vl6180x_right;
+		VL6180X *sensor_bottom;
+		VL6180X *sensor_left;
+		VL6180X *sensor_right;
+
 		//Display *display;
 		
 		static X_NUCLEO_6180XA1 *Instance(DevI2C *ext_i2c);