Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Check_VL6180XA1_ToF
Fork of X_NUCLEO_6180XA1 by
Diff: vl6180x_platform.h
- Revision:
- 59:81afbb75311d
- Parent:
- 57:fa4c622b04a7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vl6180x_platform.h Sun Jan 28 02:07:05 2018 +0000 @@ -0,0 +1,105 @@ +/******************************************************************************* +################################################################################ +# +# 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 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 +//------- January 27th, 2018 by JH1PJL / K.Arai -------------------------------- +#define MY_LOG 0 + +#define VL6180X_DEV_DATA_ATTR +#define ROMABLE_DATA + + +#if VL6180X_LOG_ENABLE +/* dot not include non ansi here trace was a case :( */ +#ifdef TRACE +#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 +#define LOG_GET_TIME() (int)0 /* add your code here expect to be an integer native (%d) type value */ +#endif + + + +#define LOG_FUNCTION_START(fmt, ... ) \ + trace_printf("beg %s start @%d\t" fmt "\n", __func__, LOG_GET_TIME(), ##__VA_ARGS__) + +#define LOG_FUNCTION_END(status)\ + trace_printf("end %s @%d %d\n", __func__, LOG_GET_TIME(), (int)status) + +#define LOG_FUNCTION_END_FMT(status, fmt, ... )\ + trace_printf("End %s @%d %d\t"fmt"\n" , __func__, LOG_GET_TIME(), (int)status, ##__VA_ARGS__) + +#define VL6180X_ErrLog(msg, ... )\ + do {\ + trace_printf("ERR in %s line %d\n" msg, __func__, __LINE__, ##__VA_ARGS__);\ + } 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)0 +#endif + +//------- January 27th, 2018 by JH1PJL / K.Arai -------------------------------- +#if MY_LOG /* define printf as pc.printf in order to change the baudrate */ +//#ifdef MY_LOG /* define printf as pc.printf in order to change the baudrate */ + extern Serial pc; + #define printf(...) pc.printf(__VA_ARGS__) +#endif + +#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; +}; +typedef struct MyVL6180Dev_t *VL6180XDev_t; + +#define VL6180XDevDataGet(dev, field) (dev->Data.field) +#define VL6180XDevDataSet(dev, field, data) (dev->Data.field)=(data) + +#endif /* VL6180X_PLATFORM */