Library for use with VL53L0X, cut 1.1, based on mass-market API v1.1.
Dependencies: ST_INTERFACES X_NUCLEO_COMMON
Dependents: ConcorsoFinal HelloWorld_IHM01A1 m3pi_BT m3pi_LIDAR ... more
Fork of X_NUCLEO_53L0A1 by
X-NUCLEO-53L0A1 Proximity Sensor Expansion Board Firmware Package
Introduction
This firmware package includes Component Device Drivers and the Board Support Package for STMicroelectronics' X-NUCLEO-53L0A1 Proximity sensor expansion board based on VL53L0X.
Firmware Library
Class X_NUCLEO_53L0A1 is intended to represent the Proximity sensor expansion board with the same name.
The expansion board provides support for the following components:
- on-board VL53L0X proximity sensor,
- up to two additional VL53L0X Satellites,
- on-board 4-digit display
It is intentionally implemented as a singleton because only one X-NUCLEO-VL53L0A1 may be deployed at a time in a HW component stack. In order to get the singleton instance you have to call class method `Instance()`, e.g.:
// Sensors expansion board singleton instance static X_NUCLEO_53L0A1 *board = X_NUCLEO_53L0A1::Instance(device_i2c, A2, D8, D2);
Example Applications
- Hello World 53L0
- Display 53L0A1
- Display 53L0A1 Interrupts
- Display 53L0A1 with satellites
- 53L0A1 Satellites with Interrupts
- 53L0A1_HandGestureRecognition
The library and sample application code were tested against mbed revision 143, dated 26th May 2017.
Diff: Components/VL53L0X/vl53l0x_platform_log.h
- Revision:
- 16:27d3d95c8593
- Parent:
- 14:8320b5ff96fa
- Child:
- 17:f8187a3fa36e
--- a/Components/VL53L0X/vl53l0x_platform_log.h Mon Aug 07 14:30:21 2017 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*******************************************************************************
-Copyright © 2015, STMicroelectronics International N.V.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * 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.
- * Neither the name of STMicroelectronics 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, FITNESS FOR A PARTICULAR PURPOSE, AND
-NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED.
-IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. 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.
-********************************************************************************/
-
-
-#ifndef _VL53L0X_PLATFORM_LOG_H_
-#define _VL53L0X_PLATFORM_LOG_H_
-
-#include <stdio.h>
-#include <string.h>
-/* LOG Functions */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file vl53l0_platform_log.h
- *
- * @brief platform log function definition
- */
-
-//#define VL53L0X_LOG_ENABLE 0
-
-enum {
- TRACE_LEVEL_NONE,
- TRACE_LEVEL_ERRORS,
- TRACE_LEVEL_WARNING,
- TRACE_LEVEL_INFO,
- TRACE_LEVEL_DEBUG,
- TRACE_LEVEL_ALL,
- TRACE_LEVEL_IGNORE
-};
-
-enum {
- TRACE_FUNCTION_NONE = 0,
- TRACE_FUNCTION_I2C = 1,
- TRACE_FUNCTION_ALL = 0x7fffffff //all bits except sign
-};
-
-enum {
- TRACE_MODULE_NONE = 0x0,
- TRACE_MODULE_API = 0x1,
- TRACE_MODULE_PLATFORM = 0x2,
- TRACE_MODULE_ALL = 0x7fffffff //all bits except sign
-};
-
-
-#ifdef VL53L0X_LOG_ENABLE
-
-#include <sys/time.h>
-
-extern uint32_t _trace_level;
-
-
-
-int32_t VL53L0X_trace_config(char *filename, uint32_t modules, uint32_t level, uint32_t functions);
-
-void trace_print_module_function(uint32_t module, uint32_t level, uint32_t function, const char *format, ...);
-
-
-//extern FILE * log_file;
-
-#define LOG_GET_TIME() (int)clock()
-
-#define _LOG_FUNCTION_START(module, fmt, ... ) \
- trace_print_module_function(module, _trace_level, TRACE_FUNCTION_ALL, "%ld <START> %s "fmt"\n", LOG_GET_TIME(), __FUNCTION__, ##__VA_ARGS__);
-
-#define _LOG_FUNCTION_END(module, status, ... )\
- trace_print_module_function(module, _trace_level, TRACE_FUNCTION_ALL, "%ld <END> %s %d\n", LOG_GET_TIME(), __FUNCTION__, (int)status, ##__VA_ARGS__)
-
-#define _LOG_FUNCTION_END_FMT(module, status, fmt, ... )\
- trace_print_module_function(module, _trace_level, TRACE_FUNCTION_ALL, "%ld <END> %s %d "fmt"\n", LOG_GET_TIME(), __FUNCTION__, (int)status,##__VA_ARGS__)
-
-// __func__ is gcc only
-#define VL53L0X_ErrLog( fmt, ...) fprintf(stderr, "VL53L0X_ErrLog %s" fmt "\n", __func__, ##__VA_ARGS__)
-
-#else /* VL53L0X_LOG_ENABLE no logging */
- #define VL53L0X_ErrLog(...) (void)0
- #define _LOG_FUNCTION_START(module, fmt, ... ) (void)0
- #define _LOG_FUNCTION_END(module, status, ... ) (void)0
- #define _LOG_FUNCTION_END_FMT(module, status, fmt, ... ) (void)0
-#endif /* else */
-
-#define VL53L0X_COPYSTRING(str, ...) strcpy(str, ##__VA_ARGS__)
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _VL53L0X_PLATFORM_LOG_H_ */
-
-
-
-

X-NUCLEO-53L0A1 Ranging Sensor Expansion Board