4 #include "vl53l0x_api.h"
13 #define MAX_VL53L0XS 12
14 #define SAMPLE_COUNT_AVG 0
16 typedef void(*ArgumenlessFunction)();
17 typedef bool(*BreakCondition)();
21 #if SAMPLE_COUNT_AVG > 0
22 uint16_t averageSamples[MAX_VL53L0XS][SAMPLE_COUNT_AVG];
23 uint8_t averageCounter[MAX_VL53L0XS];
26 uint16_t lastDistance[MAX_VL53L0XS];
27 uint32_t lastMeasurement[MAX_VL53L0XS];
29 uint8_t pins[MAX_VL53L0XS];
30 HardwareSerial * serial;
37 void errorVL(uint8_t sensorNumber, String message);
43 void print(String message,
bool eol =
false);
52 enum RangeProfile { DefaultMode, HighAccuracy, LongRange, HighSpeed };
57 VL53L0Xs(HardwareSerial * hardwareSerial = 0);
65 void add(uint8_t pin, uint8_t i2c_addr = 0x29);
72 void begin(
bool continuousMeasurement =
true,
boolean verbose =
false, uint8_t sensorNumber = 0xFF);
79 uint16_t
distance(uint8_t sensorNumber,
bool average =
false);
91 void reset(uint8_t sensorNumber = 0xFF);
97 void test(BreakCondition breakWhen = 0,
bool average =
false);
104 void error(String message);
Definition: mrm-lid1.h:20
void add(uint8_t pin, uint8_t i2c_addr=0x29)
Definition: mrm-lid1.cpp:10
void reset(uint8_t sensorNumber=0xFF)
Definition: mrm-lid1.cpp:269
void rangeProfileSet(RangeProfile value, uint8_t sensorNumber=0xFF)
Definition: mrm-lid1.cpp:216
void begin(bool continuousMeasurement=true, boolean verbose=false, uint8_t sensorNumber=0xFF)
Definition: mrm-lid1.cpp:37
RangeProfile
Definition: mrm-lid1.h:52
void test(BreakCondition breakWhen=0, bool average=false)
Definition: mrm-lid1.cpp:286
uint16_t distance(uint8_t sensorNumber, bool average=false)
Definition: mrm-lid1.cpp:121
VL53L0Xs(HardwareSerial *hardwareSerial=0)
Definition: mrm-lid1.cpp:304
Generic PAL device type that does link between API and platform abstraction layer.
Definition: vl53l0x_platform.h:58