The VL53L1CB proximity sensor, based on ST’s FlightSense™, Time-of-Flight technology.
Dependencies: X_NUCLEO_COMMON ST_INTERFACES
Dependents: VL53L1CB_noshield_1sensor_polls_auton VL53L1CB_noshield_1sensor_interrupt_auton X_NUCLEO_53L1A2
Based on VL53L1 library, this is a library for the VL53L1CB ToF chip.
Diff: src/vl53l1_platform_log.c
- Revision:
- 0:3ac96e360672
- Child:
- 18:0696efe39d08
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/vl53l1_platform_log.c Fri Nov 06 10:06:37 2020 +0000 @@ -0,0 +1,152 @@ + +/******************************************************************************* + This file is part of VL53L1 Platform + + Copyright (c) 2020, STMicroelectronics - All Rights Reserved + + License terms: BSD 3-clause "New" or "Revised" License. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + 3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + + + +#include <stdio.h> +#include <string.h> +#include <stdarg.h> +//#include <malloc.h> + +#include "vl53l1_platform_log.h" +#include "vl53l1_platform_user_config.h" + +#ifdef VL53L1_LOG_ENABLE + + char * _trace_filename = NULL; + FILE *_tracefile = NULL; + + uint32_t _trace_level = VL53L1_TRACE_LEVEL_WARNING; + uint32_t _trace_modules = VL53L1_TRACE_MODULE_NONE; + uint32_t _trace_functions = VL53L1_TRACE_FUNCTION_ALL; + + int8_t VL53L1_trace_config( + char *filename, + uint32_t modules, + uint32_t level, + uint32_t functions) + { + int8_t status = 0; + + + + + + + + + + + + + + + + if (((filename != NULL) && (_tracefile == NULL)) && strcmp(filename,"")) + { + _tracefile = fopen(filename, "w+"); + + + + if ( _tracefile != NULL ) + { + _trace_filename = (char*)malloc((strlen(filename) + 1) * sizeof(char)); + strcpy(_trace_filename, filename); + } + else + { + printf("VL53L1_trace_config(): failed to open log file (%s)\n", filename); + status = 1; + } + } + + _trace_modules = modules; + _trace_level = level; + _trace_functions = functions; + + return status; + } + + void VL53L1_trace_print_module_function(uint32_t module, uint32_t level, uint32_t function, const char *format, ...) + { + if ( ((level <=_trace_level) && ((module & _trace_modules) > 0)) + || ((function & _trace_functions) > 0) ) + { + va_list arg_list; + char message[VL53L1_MAX_STRING_LENGTH]; + + va_start(arg_list, format); + vsnprintf(message, VL53L1_MAX_STRING_LENGTH-1, format, arg_list); + va_end(arg_list); + + if (_tracefile != NULL) + { + fprintf(_tracefile, message); + } + else + { + printf(message); + } + + + + + + } + } + + + uint32_t VL53L1_get_trace_functions(void) + { + return _trace_functions; + } + + + void VL53L1_set_trace_functions(uint32_t function) + { + _trace_functions = function; + } + + + uint32_t VL53L1_clock(void) + { + + uint32_t tick_count_ms = (uint32_t)clock(); + return tick_count_ms; + } +#endif + +