Kenji Arai / 6180XA1_simple

Dependents:   Check_VL6180XA1_ToF

Fork of X_NUCLEO_6180XA1 by ST

Committer:
kenjiArai
Date:
Sun Jan 28 02:07:05 2018 +0000
Revision:
59:81afbb75311d
Parent:
Components/VL6180X/vl6180x_platform.h@57:fa4c622b04a7
use VL6180XA1 chip wothout  X-NUCLEO-6180XA1 Board. Simple way to use the chip.

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
Davidroid 57:fa4c622b04a7 25 #ifndef VL6180X_PLATFORM
Davidroid 57:fa4c622b04a7 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
Davidroid 57:fa4c622b04a7 32 #define VL6180X_SINGLE_DEVICE_DRIVER 0
Davidroid 57:fa4c622b04a7 33 #define VL6180X_RANGE_STATUS_ERRSTRING 1
davide.aliprandi@st.com 56:37d1736bd896 34 #define VL6180X_SAFE_POLLING_ENTER 0
gallonm 16:0d4776564733 35 #define VL6180X_LOG_ENABLE 0
kenjiArai 59:81afbb75311d 36 //------- January 27th, 2018 by JH1PJL / K.Arai --------------------------------
kenjiArai 59:81afbb75311d 37 #define MY_LOG 0
gallonm 1:1de1ea2994d9 38
Davidroid 57:fa4c622b04a7 39 #define VL6180X_DEV_DATA_ATTR
gallonm 1:1de1ea2994d9 40 #define ROMABLE_DATA
gallonm 1:1de1ea2994d9 41
gallonm 1:1de1ea2994d9 42
gallonm 1:1de1ea2994d9 43 #if VL6180X_LOG_ENABLE
gallonm 1:1de1ea2994d9 44 /* dot not include non ansi here trace was a case :( */
gallonm 1:1de1ea2994d9 45 #ifdef TRACE
gallonm 1:1de1ea2994d9 46 #include "diag/trace.h"
gallonm 1:1de1ea2994d9 47 extern volatile uint32_t g_TickCnt;
gallonm 1:1de1ea2994d9 48 #define LOG_GET_TIME() g_TickCnt
gallonm 10:4954b09b72d8 49 //#define LOG_GET_TIME() HAL_GetTick()
gallonm 1:1de1ea2994d9 50 #else
gallonm 1:1de1ea2994d9 51 /* these is nto stm32 vl6180x GNuArm eclpse build*/
gallonm 1:1de1ea2994d9 52 #define trace_printf(...) (void)0
gallonm 1:1de1ea2994d9 53 #define LOG_GET_TIME() (int)0 /* add your code here expect to be an integer native (%d) type value */
gallonm 1:1de1ea2994d9 54 #endif
gallonm 1:1de1ea2994d9 55
gallonm 1:1de1ea2994d9 56
gallonm 1:1de1ea2994d9 57
gallonm 1:1de1ea2994d9 58 #define LOG_FUNCTION_START(fmt, ... ) \
gallonm 1:1de1ea2994d9 59 trace_printf("beg %s start @%d\t" fmt "\n", __func__, LOG_GET_TIME(), ##__VA_ARGS__)
gallonm 1:1de1ea2994d9 60
gallonm 1:1de1ea2994d9 61 #define LOG_FUNCTION_END(status)\
davide.aliprandi@st.com 56:37d1736bd896 62 trace_printf("end %s @%d %d\n", __func__, LOG_GET_TIME(), (int)status)
gallonm 1:1de1ea2994d9 63
gallonm 1:1de1ea2994d9 64 #define LOG_FUNCTION_END_FMT(status, fmt, ... )\
davide.aliprandi@st.com 56:37d1736bd896 65 trace_printf("End %s @%d %d\t"fmt"\n" , __func__, LOG_GET_TIME(), (int)status, ##__VA_ARGS__)
gallonm 1:1de1ea2994d9 66
Davidroid 57:fa4c622b04a7 67 #define VL6180X_ErrLog(msg, ... )\
davide.aliprandi@st.com 56:37d1736bd896 68 do {\
gallonm 1:1de1ea2994d9 69 trace_printf("ERR in %s line %d\n" msg, __func__, __LINE__, ##__VA_ARGS__);\
davide.aliprandi@st.com 56:37d1736bd896 70 } while(0)
gallonm 1:1de1ea2994d9 71
gallonm 1:1de1ea2994d9 72 #else /* VL6180X_LOG_ENABLE no logging */
mapellil 19:39ea6bab0e5b 73 //void OnErrLog(void);
gallonm 20:dd8390d615bf 74 #define LOG_FUNCTION_START(...) (void)0
gallonm 20:dd8390d615bf 75 #define LOG_FUNCTION_END(...) (void)0
gallonm 20:dd8390d615bf 76 #define LOG_FUNCTION_END_FMT(...) (void)0
Davidroid 57:fa4c622b04a7 77 #define VL6180X_ErrLog(... ) //OnErrLog() //(void)0
gallonm 16:0d4776564733 78 #endif
gallonm 16:0d4776564733 79
kenjiArai 59:81afbb75311d 80 //------- January 27th, 2018 by JH1PJL / K.Arai --------------------------------
kenjiArai 59:81afbb75311d 81 #if MY_LOG /* define printf as pc.printf in order to change the baudrate */
kenjiArai 59:81afbb75311d 82 //#ifdef MY_LOG /* define printf as pc.printf in order to change the baudrate */
gallonm 16:0d4776564733 83 extern Serial pc;
gallonm 16:0d4776564733 84 #define printf(...) pc.printf(__VA_ARGS__)
gallonm 1:1de1ea2994d9 85 #endif
gallonm 1:1de1ea2994d9 86
Davidroid 57:fa4c622b04a7 87 #if VL6180X_SINGLE_DEVICE_DRIVER
Davidroid 57:fa4c622b04a7 88 #error "VL6180X_SINGLE_DEVICE_DRIVER must be set"
gallonm 10:4954b09b72d8 89 #endif
gallonm 10:4954b09b72d8 90
gallonm 10:4954b09b72d8 91 struct MyVL6180Dev_t {
Davidroid 57:fa4c622b04a7 92 struct VL6180XDevData_t Data;
gallonm 20:dd8390d615bf 93 uint8_t I2cAddr;
gallonm 20:dd8390d615bf 94 //uint8_t DevID;
licio.mapelli@st.com 8:f943a1fca15f 95
gallonm 20:dd8390d615bf 96 //misc flags for application
gallonm 10:4954b09b72d8 97 unsigned Present:1;
gallonm 10:4954b09b72d8 98 unsigned Ready:1;
gallonm 10:4954b09b72d8 99 };
Davidroid 57:fa4c622b04a7 100 typedef struct MyVL6180Dev_t *VL6180XDev_t;
gallonm 1:1de1ea2994d9 101
Davidroid 57:fa4c622b04a7 102 #define VL6180XDevDataGet(dev, field) (dev->Data.field)
Davidroid 57:fa4c622b04a7 103 #define VL6180XDevDataSet(dev, field, data) (dev->Data.field)=(data)
gallonm 1:1de1ea2994d9 104
Davidroid 57:fa4c622b04a7 105 #endif /* VL6180X_PLATFORM */