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 #include <stdio.h>
Charles MacNeill 5:89031b2f5316 16 #include <string.h>
Charles MacNeill 5:89031b2f5316 17 #include <stdarg.h>
Charles MacNeill 5:89031b2f5316 18 //#include <malloc.h>
Charles MacNeill 5:89031b2f5316 19 #include <vl53lx_platform_log.h>
Charles MacNeill 5:89031b2f5316 20 #include <vl53lx_platform_user_config.h>
Charles MacNeill 5:89031b2f5316 21
Charles MacNeill 5:89031b2f5316 22
Charles MacNeill 5:89031b2f5316 23 #ifdef VL53LX_LOG_ENABLE
Charles MacNeill 5:89031b2f5316 24
Charles MacNeill 5:89031b2f5316 25 char * _trace_filename = NULL;
Charles MacNeill 5:89031b2f5316 26 FILE *_tracefile = NULL;
Charles MacNeill 5:89031b2f5316 27
Charles MacNeill 5:89031b2f5316 28 uint32_t _trace_level = VL53LX_TRACE_LEVEL_WARNING;
Charles MacNeill 5:89031b2f5316 29 uint32_t _trace_modules = VL53LX_TRACE_MODULE_NONE;
Charles MacNeill 5:89031b2f5316 30 uint32_t _trace_functions = VL53LX_TRACE_FUNCTION_ALL;
Charles MacNeill 5:89031b2f5316 31
Charles MacNeill 5:89031b2f5316 32 int8_t VL53LX_trace_config(
Charles MacNeill 5:89031b2f5316 33 char *filename,
Charles MacNeill 5:89031b2f5316 34 uint32_t modules,
Charles MacNeill 5:89031b2f5316 35 uint32_t level,
Charles MacNeill 5:89031b2f5316 36 uint32_t functions)
Charles MacNeill 5:89031b2f5316 37 {
Charles MacNeill 5:89031b2f5316 38 int8_t status = 0;
Charles MacNeill 5:89031b2f5316 39
Charles MacNeill 5:89031b2f5316 40
Charles MacNeill 5:89031b2f5316 41
Charles MacNeill 5:89031b2f5316 42
Charles MacNeill 5:89031b2f5316 43
Charles MacNeill 5:89031b2f5316 44
Charles MacNeill 5:89031b2f5316 45
Charles MacNeill 5:89031b2f5316 46
Charles MacNeill 5:89031b2f5316 47
Charles MacNeill 5:89031b2f5316 48
Charles MacNeill 5:89031b2f5316 49
Charles MacNeill 5:89031b2f5316 50
Charles MacNeill 5:89031b2f5316 51
Charles MacNeill 5:89031b2f5316 52
Charles MacNeill 5:89031b2f5316 53
Charles MacNeill 5:89031b2f5316 54 if (((filename != NULL) && (_tracefile == NULL)) && strcmp(filename,""))
Charles MacNeill 5:89031b2f5316 55 {
Charles MacNeill 5:89031b2f5316 56 _tracefile = fopen(filename, "w+");
Charles MacNeill 5:89031b2f5316 57
Charles MacNeill 5:89031b2f5316 58
Charles MacNeill 5:89031b2f5316 59
Charles MacNeill 5:89031b2f5316 60 if ( _tracefile != NULL )
Charles MacNeill 5:89031b2f5316 61 {
Charles MacNeill 5:89031b2f5316 62 _trace_filename = (char*)malloc((strlen(filename) + 1) * sizeof(char));
Charles MacNeill 5:89031b2f5316 63 strcpy(_trace_filename, filename);
Charles MacNeill 5:89031b2f5316 64 }
Charles MacNeill 5:89031b2f5316 65 else
Charles MacNeill 5:89031b2f5316 66 {
Charles MacNeill 5:89031b2f5316 67 printf("VL53LX_trace_config(): failed to open log file (%s)\n", filename);
Charles MacNeill 5:89031b2f5316 68 status = 1;
Charles MacNeill 5:89031b2f5316 69 }
Charles MacNeill 5:89031b2f5316 70 }
Charles MacNeill 5:89031b2f5316 71
Charles MacNeill 5:89031b2f5316 72 _trace_modules = modules;
Charles MacNeill 5:89031b2f5316 73 _trace_level = level;
Charles MacNeill 5:89031b2f5316 74 _trace_functions = functions;
Charles MacNeill 5:89031b2f5316 75
Charles MacNeill 5:89031b2f5316 76 return status;
Charles MacNeill 5:89031b2f5316 77 }
Charles MacNeill 5:89031b2f5316 78
Charles MacNeill 5:89031b2f5316 79 void VL53LX_trace_print_module_function(uint32_t module, uint32_t level, uint32_t function, const char *format, ...)
Charles MacNeill 5:89031b2f5316 80 {
Charles MacNeill 5:89031b2f5316 81 if ( ((level <=_trace_level) && ((module & _trace_modules) > 0))
Charles MacNeill 5:89031b2f5316 82 || ((function & _trace_functions) > 0) )
Charles MacNeill 5:89031b2f5316 83 {
Charles MacNeill 5:89031b2f5316 84 va_list arg_list;
Charles MacNeill 5:89031b2f5316 85 char message[VL53LX_MAX_STRING_LENGTH];
Charles MacNeill 5:89031b2f5316 86
Charles MacNeill 5:89031b2f5316 87 va_start(arg_list, format);
Charles MacNeill 5:89031b2f5316 88 vsnprintf(message, VL53LX_MAX_STRING_LENGTH-1, format, arg_list);
Charles MacNeill 5:89031b2f5316 89 va_end(arg_list);
Charles MacNeill 5:89031b2f5316 90
Charles MacNeill 5:89031b2f5316 91 if (_tracefile != NULL)
Charles MacNeill 5:89031b2f5316 92 {
Charles MacNeill 5:89031b2f5316 93 fprintf(_tracefile, message);
Charles MacNeill 5:89031b2f5316 94 }
Charles MacNeill 5:89031b2f5316 95 else
Charles MacNeill 5:89031b2f5316 96 {
Charles MacNeill 5:89031b2f5316 97 printf(message);
Charles MacNeill 5:89031b2f5316 98 }
Charles MacNeill 5:89031b2f5316 99
Charles MacNeill 5:89031b2f5316 100
Charles MacNeill 5:89031b2f5316 101
Charles MacNeill 5:89031b2f5316 102
Charles MacNeill 5:89031b2f5316 103
Charles MacNeill 5:89031b2f5316 104 }
Charles MacNeill 5:89031b2f5316 105 }
Charles MacNeill 5:89031b2f5316 106
Charles MacNeill 5:89031b2f5316 107
Charles MacNeill 5:89031b2f5316 108 uint32_t VL53LX_get_trace_functions(void)
Charles MacNeill 5:89031b2f5316 109 {
Charles MacNeill 5:89031b2f5316 110 return _trace_functions;
Charles MacNeill 5:89031b2f5316 111 }
Charles MacNeill 5:89031b2f5316 112
Charles MacNeill 5:89031b2f5316 113
Charles MacNeill 5:89031b2f5316 114 void VL53LX_set_trace_functions(uint32_t function)
Charles MacNeill 5:89031b2f5316 115 {
Charles MacNeill 5:89031b2f5316 116 _trace_functions = function;
Charles MacNeill 5:89031b2f5316 117 }
Charles MacNeill 5:89031b2f5316 118
Charles MacNeill 5:89031b2f5316 119
Charles MacNeill 5:89031b2f5316 120 uint32_t VL53LX_clock(void)
Charles MacNeill 5:89031b2f5316 121 {
Charles MacNeill 5:89031b2f5316 122
Charles MacNeill 5:89031b2f5316 123 uint32_t tick_count_ms = (uint32_t)clock();
Charles MacNeill 5:89031b2f5316 124 return tick_count_ms;
Charles MacNeill 5:89031b2f5316 125 }
Charles MacNeill 5:89031b2f5316 126 #endif
Charles MacNeill 5:89031b2f5316 127