Now you can use NC as InterruptIn

Dependencies:   X_NUCLEO_COMMON

Fork of X_NUCLEO_6180XA1 by ST

Revision:
10:4954b09b72d8
Parent:
8:f943a1fca15f
Child:
16:0d4776564733
--- a/Components/VL6180X/vl6180x_platform.h	Tue Sep 29 15:40:08 2015 +0200
+++ b/Components/VL6180X/vl6180x_platform.h	Tue Oct 06 09:03:10 2015 +0200
@@ -1,48 +1,42 @@
 /*******************************************************************************
-Copyright © 2014, STMicroelectronics International N.V.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-    * Redistributions of source code must retain the above copyright
-      notice, this list of conditions and the following disclaimer.
-    * Redistributions in binary form must reproduce the above copyright
-      notice, this list of conditions and the following disclaimer in the
-      documentation and/or other materials provided with the distribution.
-    * Neither the name of STMicroelectronics nor the
-      names of its contributors may be used to endorse or promote products
-      derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
-NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED. 
-IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+################################################################################
+#
+# This program is free software; you can redistribute it and/or modify it under
+# the terms of the GNU General Public License version 2 and only version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+#------------------------------------------------------------------------------
+#                             Imaging Division
+################################################################################
 ********************************************************************************/
 
 
-
-/* vl6180x_platform.h STM32 Nucelo F401 single device  using generic cci-i2c
- * trace via swo port some GnuArm eclipse toolset */
+/* vl6180x_platform.h STM32 Nucleo F401 single device  sample code project */
 
 #ifndef VL6180x_PLATFORM
 #define VL6180x_PLATFORM
 
+
 #include "vl6180x_def.h"
 
 
+#define VL6180x_SINGLE_DEVICE_DRIVER 	0
+#define VL6180x_RANGE_STATUS_ERRSTRING  1
+#define VL6180X_SAFE_POLLING_ENTER 		0
+#define VL6180X_LOG_ENABLE			    0
+
 
 #define VL6180x_DEV_DATA_ATTR
-
 #define ROMABLE_DATA
-/*  #define ROMABLE_DATA  __attribute__ ((section ("user_rom"))) */
-
 
 
 #if VL6180X_LOG_ENABLE
@@ -51,6 +45,7 @@
 #include "diag/trace.h"
 extern volatile uint32_t g_TickCnt;
 #define LOG_GET_TIME()  g_TickCnt
+//#define LOG_GET_TIME()  HAL_GetTick()
 #else
 /* these is nto stm32 vl6180x GNuArm eclpse build*/
 #define trace_printf(...) (void)0
@@ -74,29 +69,32 @@
     }while(0)
 
 #else /* VL6180X_LOG_ENABLE no logging */
-    void OnErrLog(void);
-    #define LOG_FUNCTION_START(...) (void)0
-    #define LOG_FUNCTION_END(...) (void)0
-    #define LOG_FUNCTION_END_FMT(...) (void)0
-    #define VL6180x_ErrLog(... ) OnErrLog()
+void OnErrLog(void);
+	#define LOG_FUNCTION_START(...) (void)0
+	#define LOG_FUNCTION_END(...) (void)0
+	#define LOG_FUNCTION_END_FMT(...) (void)0
+    #define VL6180x_ErrLog(... ) OnErrLog() //(void)0
 #endif
 
 
-	typedef struct MyVL6180Dev_t {
-			struct VL6180xDevData_t Data;
-			uint8_t I2cAddr;
-			uint8_t DevID;
+#if  VL6180x_SINGLE_DEVICE_DRIVER
+    #error "VL6180x_SINGLE_DEVICE_DRIVER must be set"
+#endif
+		
+struct MyVL6180Dev_t {
+		struct VL6180xDevData_t Data;
+		uint8_t I2cAddr;
+		//uint8_t DevID;
     
-		// misc flags for application 	
-			unsigned Present:1;
-			unsigned Ready:1;
-	}VL6180xDev_t;		
+	//misc flags for application 	
+    unsigned Present:1;
+    unsigned Ready:1;
+};
+typedef struct MyVL6180Dev_t *VL6180xDev_t;
 
+#define VL6180xDevDataGet(dev, field) (dev->Data.field)
+#define VL6180xDevDataSet(dev, field, data) (dev->Data.field)=(data)
 
-#define VL6180xDevDataGet(dev, field) (dev.Data.field)
-#define VL6180xDevDataSet(dev, field, data) (dev.Data.field)=(data)
-
-//#endif /* #else VL6180x_SINGLE_DEVICE_DRIVER */
 
 void VL6180x_PollDelay(VL6180xDev_t dev);