Now you can use NC as InterruptIn

Dependencies:   X_NUCLEO_COMMON

Fork of X_NUCLEO_6180XA1 by ST

Committer:
gallonm
Date:
Wed Oct 28 13:07:59 2015 +0000
Revision:
20:dd8390d615bf
Parent:
19:39ea6bab0e5b
Removed PollDelay and introduced simply wait_ms function.; Updated file platform.h.; Fixed all FIXME.; Fixed error printing.; Updated x_nucleo_6180xa1.cpp file.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gallonm 1:1de1ea2994d9 1 /*******************************************************************************
gallonm 10:4954b09b72d8 2 ################################################################################
gallonm 10:4954b09b72d8 3 #
gallonm 10:4954b09b72d8 4 # This program is free software; you can redistribute it and/or modify it under
gallonm 10:4954b09b72d8 5 # the terms of the GNU General Public License version 2 and only version 2 as
gallonm 10:4954b09b72d8 6 # published by the Free Software Foundation.
gallonm 10:4954b09b72d8 7 #
gallonm 10:4954b09b72d8 8 # This program is distributed in the hope that it will be useful, but WITHOUT
gallonm 10:4954b09b72d8 9 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
gallonm 10:4954b09b72d8 10 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
gallonm 10:4954b09b72d8 11 # details.
gallonm 10:4954b09b72d8 12 #
gallonm 10:4954b09b72d8 13 # You should have received a copy of the GNU General Public License along with
gallonm 10:4954b09b72d8 14 # this program; if not, write to the Free Software Foundation, Inc.,
gallonm 10:4954b09b72d8 15 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
gallonm 10:4954b09b72d8 16 #
gallonm 10:4954b09b72d8 17 #------------------------------------------------------------------------------
gallonm 10:4954b09b72d8 18 # Imaging Division
gallonm 10:4954b09b72d8 19 ################################################################################
gallonm 1:1de1ea2994d9 20 ********************************************************************************/
gallonm 1:1de1ea2994d9 21
gallonm 1:1de1ea2994d9 22
gallonm 10:4954b09b72d8 23 /* vl6180x_platform.h STM32 Nucleo F401 single device sample code project */
gallonm 1:1de1ea2994d9 24
gallonm 1:1de1ea2994d9 25 #ifndef VL6180x_PLATFORM
gallonm 1:1de1ea2994d9 26 #define VL6180x_PLATFORM
gallonm 1:1de1ea2994d9 27
gallonm 10:4954b09b72d8 28
gallonm 1:1de1ea2994d9 29 #include "vl6180x_def.h"
gallonm 1:1de1ea2994d9 30
gallonm 1:1de1ea2994d9 31
gallonm 10:4954b09b72d8 32 #define VL6180x_SINGLE_DEVICE_DRIVER 0
gallonm 10:4954b09b72d8 33 #define VL6180x_RANGE_STATUS_ERRSTRING 1
gallonm 16:0d4776564733 34 #define VL6180X_SAFE_POLLING_ENTER 0
gallonm 16:0d4776564733 35 #define VL6180X_LOG_ENABLE 0
gallonm 20:dd8390d615bf 36 #define MY_LOG 1
gallonm 1:1de1ea2994d9 37
gallonm 1:1de1ea2994d9 38 #define VL6180x_DEV_DATA_ATTR
gallonm 1:1de1ea2994d9 39 #define ROMABLE_DATA
gallonm 1:1de1ea2994d9 40
gallonm 1:1de1ea2994d9 41
gallonm 1:1de1ea2994d9 42 #if VL6180X_LOG_ENABLE
gallonm 1:1de1ea2994d9 43 /* dot not include non ansi here trace was a case :( */
gallonm 1:1de1ea2994d9 44 #ifdef TRACE
gallonm 1:1de1ea2994d9 45 #include "diag/trace.h"
gallonm 1:1de1ea2994d9 46 extern volatile uint32_t g_TickCnt;
gallonm 1:1de1ea2994d9 47 #define LOG_GET_TIME() g_TickCnt
gallonm 10:4954b09b72d8 48 //#define LOG_GET_TIME() HAL_GetTick()
gallonm 1:1de1ea2994d9 49 #else
gallonm 1:1de1ea2994d9 50 /* these is nto stm32 vl6180x GNuArm eclpse build*/
gallonm 1:1de1ea2994d9 51 #define trace_printf(...) (void)0
gallonm 1:1de1ea2994d9 52 #define LOG_GET_TIME() (int)0 /* add your code here expect to be an integer native (%d) type value */
gallonm 1:1de1ea2994d9 53 #endif
gallonm 1:1de1ea2994d9 54
gallonm 1:1de1ea2994d9 55
gallonm 1:1de1ea2994d9 56
gallonm 1:1de1ea2994d9 57 #define LOG_FUNCTION_START(fmt, ... ) \
gallonm 1:1de1ea2994d9 58 trace_printf("beg %s start @%d\t" fmt "\n", __func__, LOG_GET_TIME(), ##__VA_ARGS__)
gallonm 1:1de1ea2994d9 59
gallonm 1:1de1ea2994d9 60 #define LOG_FUNCTION_END(status)\
gallonm 1:1de1ea2994d9 61 trace_printf("end %s @%d %d\n", __func__, LOG_GET_TIME(), (int)status)
gallonm 1:1de1ea2994d9 62
gallonm 1:1de1ea2994d9 63 #define LOG_FUNCTION_END_FMT(status, fmt, ... )\
gallonm 1:1de1ea2994d9 64 trace_printf("End %s @%d %d\t"fmt"\n" , __func__, LOG_GET_TIME(), (int)status, ##__VA_ARGS__)
gallonm 1:1de1ea2994d9 65
gallonm 1:1de1ea2994d9 66 #define VL6180x_ErrLog(msg, ... )\
gallonm 1:1de1ea2994d9 67 do{\
gallonm 1:1de1ea2994d9 68 trace_printf("ERR in %s line %d\n" msg, __func__, __LINE__, ##__VA_ARGS__);\
gallonm 1:1de1ea2994d9 69 }while(0)
gallonm 1:1de1ea2994d9 70
gallonm 1:1de1ea2994d9 71 #else /* VL6180X_LOG_ENABLE no logging */
mapellil 19:39ea6bab0e5b 72 //void OnErrLog(void);
gallonm 20:dd8390d615bf 73 #define LOG_FUNCTION_START(...) (void)0
gallonm 20:dd8390d615bf 74 #define LOG_FUNCTION_END(...) (void)0
gallonm 20:dd8390d615bf 75 #define LOG_FUNCTION_END_FMT(...) (void)0
mapellil 19:39ea6bab0e5b 76 #define VL6180x_ErrLog(... ) //OnErrLog() //(void)0
gallonm 16:0d4776564733 77 #endif
gallonm 16:0d4776564733 78
gallonm 16:0d4776564733 79
gallonm 20:dd8390d615bf 80 #ifdef MY_LOG /* define printf as pc.printf in order to change the baudrate */
gallonm 16:0d4776564733 81 extern Serial pc;
gallonm 16:0d4776564733 82 #define printf(...) pc.printf(__VA_ARGS__)
gallonm 1:1de1ea2994d9 83 #endif
gallonm 1:1de1ea2994d9 84
gallonm 1:1de1ea2994d9 85
gallonm 10:4954b09b72d8 86 #if VL6180x_SINGLE_DEVICE_DRIVER
gallonm 10:4954b09b72d8 87 #error "VL6180x_SINGLE_DEVICE_DRIVER must be set"
gallonm 10:4954b09b72d8 88 #endif
gallonm 10:4954b09b72d8 89
gallonm 10:4954b09b72d8 90 struct MyVL6180Dev_t {
gallonm 20:dd8390d615bf 91 struct VL6180xDevData_t Data;
gallonm 20:dd8390d615bf 92 uint8_t I2cAddr;
gallonm 20:dd8390d615bf 93 //uint8_t DevID;
licio.mapelli@st.com 8:f943a1fca15f 94
gallonm 20:dd8390d615bf 95 //misc flags for application
gallonm 10:4954b09b72d8 96 unsigned Present:1;
gallonm 10:4954b09b72d8 97 unsigned Ready:1;
gallonm 10:4954b09b72d8 98 };
gallonm 10:4954b09b72d8 99 typedef struct MyVL6180Dev_t *VL6180xDev_t;
gallonm 1:1de1ea2994d9 100
gallonm 10:4954b09b72d8 101 #define VL6180xDevDataGet(dev, field) (dev->Data.field)
gallonm 10:4954b09b72d8 102 #define VL6180xDevDataSet(dev, field, data) (dev->Data.field)=(data)
gallonm 1:1de1ea2994d9 103
gallonm 1:1de1ea2994d9 104
gallonm 1:1de1ea2994d9 105 #endif /* VL6180x_PLATFORM */
gallonm 1:1de1ea2994d9 106
gallonm 1:1de1ea2994d9 107
gallonm 1:1de1ea2994d9 108