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