FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
|
API to handle Time-of-Flight ranging sensor VL53L0X I2C chip. More...
#include "../bits.h"
#include "../flash.h"
#include "../ios.h"
#include "../utilities.h"
#include "vl53l0x_registers.h"
Go to the source code of this file.
Classes | |
class | devices::vl53l0x::FixPoint9_7 |
Helper class to handle VL53L0X special fix-point 9.7 values. More... | |
class | devices::vl53l0x::DeviceStatus |
Status of device as retrieved by VL53L0X::get_range_status() . More... | |
class | devices::vl53l0x::GPIOSettings |
Settings for behavior of VL53L0X GPIO pin. More... | |
class | devices::vl53l0x::SPADReference |
Hold reference SPADs (Single Photon Avalanche Diode). More... | |
class | devices::vl53l0x::SequenceSteps |
Hold VL53L0X sequence steps to use for ranging. More... | |
class | devices::vl53l0x::SequenceStepsTimeout |
Hold VL53L0X sequence steps timeouts and other related settings used for ranging. More... | |
class | devices::vl53l0x::SPADInfo |
Hold SPAD information from VL53L0X device. More... | |
Namespaces | |
namespace | devices |
Defines all API for all external devices supported by FastArduino. | |
namespace | devices::vl53l0x |
Defines API for VL53L0X Time-of-Flight ranging sensor chip usage. | |
Enumerations | |
enum class | devices::vl53l0x::DeviceError : uint8_t { devices::vl53l0x::NONE = 0 , VCSEL_CONTINUITY_TEST_FAILURE = 1 , VCSEL_WATCHDOG_TEST_FAILURE = 2 , NO_VHV_VALUE_FOUND = 3 , MSRC_NO_TARGET = 4 , SNR_CHECK = 5 , RANGE_PHASE_CHECK = 6 , SIGMA_THRESHOLD_CHECK = 7 , TCC = 8 , PHASE_CONSISTENCY = 9 , MIN_CLIP = 10 , devices::vl53l0x::RANGE_COMPLETE = 11 , ALGO_UNDERFLOW = 12 , ALGO_OVERFLOW = 13 , RANGE_IGNORE_THRESHOLD = 14 , devices::vl53l0x::UNKNOWN = 15 } |
Possible error codes returned by VL53L0X device. More... | |
enum class | devices::vl53l0x::PowerMode : uint8_t { STANDBY = 0 , IDLE = 1 } |
Possible power modes of VL53L0X device as returned by VL53L0X::get_power_mode() . More... | |
enum class | devices::vl53l0x::GPIOFunction : uint8_t { devices::vl53l0x::DISABLED = 0x00 , devices::vl53l0x::LEVEL_LOW = 0x01 , devices::vl53l0x::LEVEL_HIGH = 0x02 , devices::vl53l0x::OUT_OF_WINDOW = 0x03 , devices::vl53l0x::SAMPLE_READY = 0x04 } |
Possible triggers for VL53L0X GPIO pin. More... | |
enum class | devices::vl53l0x::VcselPeriodType : uint8_t { PRE_RANGE = uint8_t(vl53l0x::Register::PRE_RANGE_CONFIG_VCSEL_PERIOD) , FINAL_RANGE = uint8_t(vl53l0x::Register::FINAL_RANGE_CONFIG_VCSEL_PERIOD) } |
Type of pulse period configured for VL53L0X device VCSEL (Vertical Cavity Surface Emitting Laser). More... | |
enum class | devices::vl53l0x::Profile : uint8_t { devices::vl53l0x::STANDARD = 0x00 , devices::vl53l0x::LONG_RANGE = 0x01 , devices::vl53l0x::STANDARD_ACCURATE = 0x02 , devices::vl53l0x::LONG_RANGE_ACCURATE = 0x03 , devices::vl53l0x::STANDARD_FAST = 0x04 , devices::vl53l0x::LONG_RANGE_FAST = 0x05 } |
Possible profiles of ranging for VL53L0X top-level API VL53L0X::begin() . More... | |
API to handle Time-of-Flight ranging sensor VL53L0X I2C chip.
This header defines all specific types used by VL53L0X device class. Note that most API here has been adapted and improved from official STMicroelectronics C-library API; this was necessary as the device datasheet does not describe the internals (registers) of the chip, the only way to understand how it works was thus to analyze the API source code.
Most types defined here have an associated operator<<
to display them clearly to an output stream.
Definition in file vl53l0x_types.h.