Now you can use NC as InterruptIn
Fork of X_NUCLEO_6180XA1 by
Components/VL6180X/vl6180x_platform.h@10:4954b09b72d8, 2015-10-06 (annotated)
- Committer:
- gallonm
- Date:
- Tue Oct 06 09:03:10 2015 +0200
- Revision:
- 10:4954b09b72d8
- Parent:
- 8:f943a1fca15f
- Child:
- 16:0d4776564733
Fitted all api files (reinserted original api files)
Modified file platform.h and removed vl6180x_appcfg.h from the include
Modified value of the define SINGLE_DEVICE_DRIVER
Updated file stmpe1600_class.h
Fitted the ReadID function and I2C functions (read and write)
Updated file vl6180x_class.cpp
Introduced functions InitSensor and StartMeasurement
Fitted the constructor and the destructor of x_nucleo_6180xa1
Added the instance to create a singleton object
Introduced InitBoard function
Who changed what in which revision?
User | Revision | Line number | New 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 | 10:4954b09b72d8 | 34 | #define VL6180X_SAFE_POLLING_ENTER 0 |
gallonm | 10:4954b09b72d8 | 35 | #define VL6180X_LOG_ENABLE 0 |
gallonm | 10:4954b09b72d8 | 36 | |
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 */ |
gallonm | 10:4954b09b72d8 | 72 | void OnErrLog(void); |
gallonm | 10:4954b09b72d8 | 73 | #define LOG_FUNCTION_START(...) (void)0 |
gallonm | 10:4954b09b72d8 | 74 | #define LOG_FUNCTION_END(...) (void)0 |
gallonm | 10:4954b09b72d8 | 75 | #define LOG_FUNCTION_END_FMT(...) (void)0 |
gallonm | 10:4954b09b72d8 | 76 | #define VL6180x_ErrLog(... ) OnErrLog() //(void)0 |
gallonm | 1:1de1ea2994d9 | 77 | #endif |
gallonm | 1:1de1ea2994d9 | 78 | |
gallonm | 1:1de1ea2994d9 | 79 | |
gallonm | 10:4954b09b72d8 | 80 | #if VL6180x_SINGLE_DEVICE_DRIVER |
gallonm | 10:4954b09b72d8 | 81 | #error "VL6180x_SINGLE_DEVICE_DRIVER must be set" |
gallonm | 10:4954b09b72d8 | 82 | #endif |
gallonm | 10:4954b09b72d8 | 83 | |
gallonm | 10:4954b09b72d8 | 84 | struct MyVL6180Dev_t { |
gallonm | 10:4954b09b72d8 | 85 | struct VL6180xDevData_t Data; |
gallonm | 10:4954b09b72d8 | 86 | uint8_t I2cAddr; |
gallonm | 10:4954b09b72d8 | 87 | //uint8_t DevID; |
licio.mapelli@st.com | 8:f943a1fca15f | 88 | |
gallonm | 10:4954b09b72d8 | 89 | //misc flags for application |
gallonm | 10:4954b09b72d8 | 90 | unsigned Present:1; |
gallonm | 10:4954b09b72d8 | 91 | unsigned Ready:1; |
gallonm | 10:4954b09b72d8 | 92 | }; |
gallonm | 10:4954b09b72d8 | 93 | typedef struct MyVL6180Dev_t *VL6180xDev_t; |
gallonm | 1:1de1ea2994d9 | 94 | |
gallonm | 10:4954b09b72d8 | 95 | #define VL6180xDevDataGet(dev, field) (dev->Data.field) |
gallonm | 10:4954b09b72d8 | 96 | #define VL6180xDevDataSet(dev, field, data) (dev->Data.field)=(data) |
gallonm | 1:1de1ea2994d9 | 97 | |
gallonm | 1:1de1ea2994d9 | 98 | |
gallonm | 1:1de1ea2994d9 | 99 | void VL6180x_PollDelay(VL6180xDev_t dev); |
gallonm | 1:1de1ea2994d9 | 100 | |
gallonm | 1:1de1ea2994d9 | 101 | void DISP_ExecLoopBody(void); |
gallonm | 1:1de1ea2994d9 | 102 | #define VL6180x_PollDelay(dev) DISP_ExecLoopBody(); |
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 |