Rename library

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L3CX_NoShield_1Sensor_poll_Mb06x VL53L3_NoShield_1Sensor_polling_Mb63 X_NUCLEO_53L3A2 53L3A2_Ranging

Committer:
Charles MacNeill
Date:
Wed Jul 14 12:45:49 2021 +0100
Revision:
5:89031b2f5316
The class files now just are wrappers for the files in the "MODULES" directory.The porting directory includes the mbed interface

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Charles MacNeill 5:89031b2f5316 1
Charles MacNeill 5:89031b2f5316 2 /* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause */
Charles MacNeill 5:89031b2f5316 3 /******************************************************************************
Charles MacNeill 5:89031b2f5316 4 * Copyright (c) 2020, STMicroelectronics - All Rights Reserved
Charles MacNeill 5:89031b2f5316 5
Charles MacNeill 5:89031b2f5316 6 This file is part of VL53LX and is dual licensed,
Charles MacNeill 5:89031b2f5316 7 either GPL-2.0+
Charles MacNeill 5:89031b2f5316 8 or 'BSD 3-clause "New" or "Revised" License' , at your option.
Charles MacNeill 5:89031b2f5316 9 ******************************************************************************
Charles MacNeill 5:89031b2f5316 10 */
Charles MacNeill 5:89031b2f5316 11
Charles MacNeill 5:89031b2f5316 12
Charles MacNeill 5:89031b2f5316 13
Charles MacNeill 5:89031b2f5316 14
Charles MacNeill 5:89031b2f5316 15
Charles MacNeill 5:89031b2f5316 16 #ifndef _VL53LX_PLATFORM_LOG_H_
Charles MacNeill 5:89031b2f5316 17 #define _VL53LX_PLATFORM_LOG_H_
Charles MacNeill 5:89031b2f5316 18
Charles MacNeill 5:89031b2f5316 19
Charles MacNeill 5:89031b2f5316 20 #ifdef VL53LX_LOG_ENABLE
Charles MacNeill 5:89031b2f5316 21 #include "vl53lx_platform_user_config.h"
Charles MacNeill 5:89031b2f5316 22
Charles MacNeill 5:89031b2f5316 23 #ifdef _MSC_VER
Charles MacNeill 5:89031b2f5316 24 # define EWOKPLUS_EXPORTS __declspec(dllexport)
Charles MacNeill 5:89031b2f5316 25 #else
Charles MacNeill 5:89031b2f5316 26 # define EWOKPLUS_EXPORTS
Charles MacNeill 5:89031b2f5316 27 #endif
Charles MacNeill 5:89031b2f5316 28
Charles MacNeill 5:89031b2f5316 29 #include "vl53lx_types.h"
Charles MacNeill 5:89031b2f5316 30
Charles MacNeill 5:89031b2f5316 31 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 32 extern "C" {
Charles MacNeill 5:89031b2f5316 33 #endif
Charles MacNeill 5:89031b2f5316 34
Charles MacNeill 5:89031b2f5316 35 #include <time.h>
Charles MacNeill 5:89031b2f5316 36
Charles MacNeill 5:89031b2f5316 37
Charles MacNeill 5:89031b2f5316 38
Charles MacNeill 5:89031b2f5316 39 #define VL53LX_TRACE_LEVEL_NONE 0x00000000
Charles MacNeill 5:89031b2f5316 40 #define VL53LX_TRACE_LEVEL_ERRORS 0x00000001
Charles MacNeill 5:89031b2f5316 41 #define VL53LX_TRACE_LEVEL_WARNING 0x00000002
Charles MacNeill 5:89031b2f5316 42 #define VL53LX_TRACE_LEVEL_INFO 0x00000004
Charles MacNeill 5:89031b2f5316 43 #define VL53LX_TRACE_LEVEL_DEBUG 0x00000008
Charles MacNeill 5:89031b2f5316 44 #define VL53LX_TRACE_LEVEL_ALL 0x00000010
Charles MacNeill 5:89031b2f5316 45 #define VL53LX_TRACE_LEVEL_IGNORE 0x00000020
Charles MacNeill 5:89031b2f5316 46
Charles MacNeill 5:89031b2f5316 47 #define VL53LX_TRACE_FUNCTION_NONE 0x00000000
Charles MacNeill 5:89031b2f5316 48 #define VL53LX_TRACE_FUNCTION_I2C 0x00000001
Charles MacNeill 5:89031b2f5316 49 #define VL53LX_TRACE_FUNCTION_ALL 0x7fffffff
Charles MacNeill 5:89031b2f5316 50
Charles MacNeill 5:89031b2f5316 51 #define VL53LX_TRACE_MODULE_NONE 0x00000000
Charles MacNeill 5:89031b2f5316 52 #define VL53LX_TRACE_MODULE_API 0x00000001
Charles MacNeill 5:89031b2f5316 53 #define VL53LX_TRACE_MODULE_CORE 0x00000002
Charles MacNeill 5:89031b2f5316 54 #define VL53LX_TRACE_MODULE_PROTECTED 0x00000004
Charles MacNeill 5:89031b2f5316 55 #define VL53LX_TRACE_MODULE_HISTOGRAM 0x00000008
Charles MacNeill 5:89031b2f5316 56 #define VL53LX_TRACE_MODULE_REGISTERS 0x00000010
Charles MacNeill 5:89031b2f5316 57 #define VL53LX_TRACE_MODULE_PLATFORM 0x00000020
Charles MacNeill 5:89031b2f5316 58 #define VL53LX_TRACE_MODULE_NVM 0x00000040
Charles MacNeill 5:89031b2f5316 59 #define VL53LX_TRACE_MODULE_CALIBRATION_DATA 0x00000080
Charles MacNeill 5:89031b2f5316 60 #define VL53LX_TRACE_MODULE_NVM_DATA 0x00000100
Charles MacNeill 5:89031b2f5316 61 #define VL53LX_TRACE_MODULE_HISTOGRAM_DATA 0x00000200
Charles MacNeill 5:89031b2f5316 62 #define VL53LX_TRACE_MODULE_RANGE_RESULTS_DATA 0x00000400
Charles MacNeill 5:89031b2f5316 63 #define VL53LX_TRACE_MODULE_XTALK_DATA 0x00000800
Charles MacNeill 5:89031b2f5316 64 #define VL53LX_TRACE_MODULE_OFFSET_DATA 0x00001000
Charles MacNeill 5:89031b2f5316 65 #define VL53LX_TRACE_MODULE_DATA_INIT 0x00002000
Charles MacNeill 5:89031b2f5316 66 #define VL53LX_TRACE_MODULE_REF_SPAD_CHAR 0x00004000
Charles MacNeill 5:89031b2f5316 67 #define VL53LX_TRACE_MODULE_SPAD_RATE_MAP 0x00008000
Charles MacNeill 5:89031b2f5316 68 #define VL53LX_TRACE_MODULE_CUSTOMER_API 0x40000000
Charles MacNeill 5:89031b2f5316 69 #define VL53LX_TRACE_MODULE_ALL 0x7fffffff
Charles MacNeill 5:89031b2f5316 70
Charles MacNeill 5:89031b2f5316 71
Charles MacNeill 5:89031b2f5316 72 extern uint32_t _trace_level;
Charles MacNeill 5:89031b2f5316 73
Charles MacNeill 5:89031b2f5316 74
Charles MacNeill 5:89031b2f5316 75 EWOKPLUS_EXPORTS int8_t VL53LX_trace_config(
Charles MacNeill 5:89031b2f5316 76 char *filename,
Charles MacNeill 5:89031b2f5316 77 uint32_t modules,
Charles MacNeill 5:89031b2f5316 78 uint32_t level,
Charles MacNeill 5:89031b2f5316 79 uint32_t functions);
Charles MacNeill 5:89031b2f5316 80
Charles MacNeill 5:89031b2f5316 81
Charles MacNeill 5:89031b2f5316 82
Charles MacNeill 5:89031b2f5316 83 EWOKPLUS_EXPORTS void VL53LX_trace_print_module_function(
Charles MacNeill 5:89031b2f5316 84 uint32_t module,
Charles MacNeill 5:89031b2f5316 85 uint32_t level,
Charles MacNeill 5:89031b2f5316 86 uint32_t function,
Charles MacNeill 5:89031b2f5316 87 const char *format, ...);
Charles MacNeill 5:89031b2f5316 88
Charles MacNeill 5:89031b2f5316 89
Charles MacNeill 5:89031b2f5316 90
Charles MacNeill 5:89031b2f5316 91 uint32_t VL53LX_get_trace_functions(void);
Charles MacNeill 5:89031b2f5316 92
Charles MacNeill 5:89031b2f5316 93
Charles MacNeill 5:89031b2f5316 94
Charles MacNeill 5:89031b2f5316 95 void VL53LX_set_trace_functions(uint32_t function);
Charles MacNeill 5:89031b2f5316 96
Charles MacNeill 5:89031b2f5316 97
Charles MacNeill 5:89031b2f5316 98
Charles MacNeill 5:89031b2f5316 99
Charles MacNeill 5:89031b2f5316 100 uint32_t VL53LX_clock(void);
Charles MacNeill 5:89031b2f5316 101
Charles MacNeill 5:89031b2f5316 102 #define LOG_GET_TIME() \
Charles MacNeill 5:89031b2f5316 103 ((int)VL53LX_clock())
Charles MacNeill 5:89031b2f5316 104
Charles MacNeill 5:89031b2f5316 105 #define _LOG_TRACE_PRINT(module, level, function, ...) \
Charles MacNeill 5:89031b2f5316 106 VL53LX_trace_print_module_function(module, level, function, ##__VA_ARGS__);
Charles MacNeill 5:89031b2f5316 107
Charles MacNeill 5:89031b2f5316 108 #define _LOG_FUNCTION_START(module, fmt, ...) \
Charles MacNeill 5:89031b2f5316 109 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <START> %s "fmt"\n", LOG_GET_TIME(), __FUNCTION__, ##__VA_ARGS__);
Charles MacNeill 5:89031b2f5316 110
Charles MacNeill 5:89031b2f5316 111 #define _LOG_FUNCTION_END(module, status, ...)\
Charles MacNeill 5:89031b2f5316 112 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <END> %s %d\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
Charles MacNeill 5:89031b2f5316 113
Charles MacNeill 5:89031b2f5316 114 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)\
Charles MacNeill 5:89031b2f5316 115 VL53LX_trace_print_module_function(module, _trace_level, VL53LX_TRACE_FUNCTION_ALL, "%6ld <END> %s %d "fmt"\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
Charles MacNeill 5:89031b2f5316 116
Charles MacNeill 5:89031b2f5316 117 #define _LOG_GET_TRACE_FUNCTIONS()\
Charles MacNeill 5:89031b2f5316 118 VL53LX_get_trace_functions()
Charles MacNeill 5:89031b2f5316 119
Charles MacNeill 5:89031b2f5316 120 #define _LOG_SET_TRACE_FUNCTIONS(functions)\
Charles MacNeill 5:89031b2f5316 121 VL53LX_set_trace_functions(functions)
Charles MacNeill 5:89031b2f5316 122
Charles MacNeill 5:89031b2f5316 123 #define _LOG_STRING_BUFFER(x) char x[VL53LX_MAX_STRING_LENGTH]
Charles MacNeill 5:89031b2f5316 124
Charles MacNeill 5:89031b2f5316 125 #ifdef __cplusplus
Charles MacNeill 5:89031b2f5316 126 }
Charles MacNeill 5:89031b2f5316 127 #endif
Charles MacNeill 5:89031b2f5316 128
Charles MacNeill 5:89031b2f5316 129 #else
Charles MacNeill 5:89031b2f5316 130
Charles MacNeill 5:89031b2f5316 131 #define _LOG_TRACE_PRINT(module, level, function, ...)
Charles MacNeill 5:89031b2f5316 132 #define _LOG_FUNCTION_START(module, fmt, ...)
Charles MacNeill 5:89031b2f5316 133 #define _LOG_FUNCTION_END(module, status, ...)
Charles MacNeill 5:89031b2f5316 134 #define _LOG_FUNCTION_END_FMT(module, status, fmt, ...)
Charles MacNeill 5:89031b2f5316 135 #define _LOG_GET_TRACE_FUNCTIONS() 0
Charles MacNeill 5:89031b2f5316 136 #define _LOG_SET_TRACE_FUNCTIONS(functions)
Charles MacNeill 5:89031b2f5316 137 #define _LOG_STRING_BUFFER(x)
Charles MacNeill 5:89031b2f5316 138
Charles MacNeill 5:89031b2f5316 139 #endif
Charles MacNeill 5:89031b2f5316 140
Charles MacNeill 5:89031b2f5316 141 #endif
Charles MacNeill 5:89031b2f5316 142