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:
charlesmn
Date:
Wed Jul 21 14:07:59 2021 +0000
Revision:
7:7f1bbf370283
Parent:
5:89031b2f5316
Moved vl53l3cx_class.cpp and .h to 53l3a2_RangingClass

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