Now you can use NC as InterruptIn
Fork of X_NUCLEO_6180XA1 by
Components/VL6180X/vl6180x_platform.h@20:dd8390d615bf, 2015-10-28 (annotated)
- 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?
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 | 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 |