|
modm API documentation
|
#include <modm/driver/position/vl53l0.hpp>
Classes | |
| struct | Data |
| struct | TimeOverhead |
Public Typedefs | |
| typedef modm::Configuration< RangeStatus_t, RangeErrorCode, 0x0F, 3 > | RangeErrorCode_t |
| using | Control_t = modm::FlagsGroup< Start_t, MeasurementSequenceStep_t, InterruptConfig_t, InterruptClear_t, GpioConfig_t, InterruptStatus_t, RangeStatus_t, MSRCConfig_t > |
Public Types | |
| enum | Register : uint8_t |
| The addresses of the Configuration and Data Registers. | |
| enum | Start : uint8_t |
| SYSRANGE__START. | |
| enum | MeasurementSequenceStep : uint8_t |
| SYSTEM__SEQUENCE_CONFIG. | |
| enum | InterruptConfig : uint8_t |
| SYSTEM__INTERRUPT_CONFIG_GPIO. | |
| enum | InterruptClear : uint8_t |
| SYSTEM__INTERRUPT_CLEAR. | |
| enum | GpioConfig : uint8_t |
| enum | InterruptStatus : uint8_t |
| RESULT__INTERRUPT_STATUS_GPIO. | |
| enum | RangeStatus : uint8_t |
| RESULT__RANGE_STATUS. | |
| enum | RangeErrorCode : uint8_t |
| enum | MSRCConfig : uint8_t |
Public Member Functions | |
| MODM_FLAGS8 (Start) | |
| MODM_FLAGS8 (MeasurementSequenceStep) | |
| MODM_FLAGS8 (InterruptConfig) | |
| MODM_FLAGS8 (InterruptClear) | |
| MODM_FLAGS8 (GpioConfig) | |
| MODM_FLAGS8 (InterruptStatus) | |
| MODM_FLAGS8 (RangeStatus) | |
| MODM_FLAGS8 (MSRCConfig) | |
| Vl53l0 (Data &data, uint8_t address=0x29) | |
| Constructor, requires an vl53l0::Data object, sets address to default of 0x29. | |
| bool | ping () |
| bool | reset () |
| Soft reset of device. | |
| bool | initialize () |
| bool | setDeviceAddress (uint8_t address) |
| bool | readDistance () |
| Reads the distance and buffers the result. | |
| RangeErrorCode | getRangeError () |
| template<typename T > | |
| bool | updateRegister (Register reg, T setMask, T clearMask=T (0xff)) |
| Data & | getData () |
| the data object for this sensor. | |
| bool | setMaxMeasurementTime (uint32_t timeUs) |
| uint32_t | getMaxMeasurementTime () |
| Get the configured maximum measurement time. | |
| void | attachConfigurationHandler (I2c::ConfigurationHandler handler) |
| bool | read (uint8_t *buffer, std::size_t size) |
| Starts a write transaction and waits until finished. | |
| void | setAddress (uint8_t address) |
| bool | write (const uint8_t *buffer, std::size_t size) |
| Starts a write transaction and waits until finished. | |
| bool | writeRead (const uint8_t *writeBuffer, std::size_t writeSize, uint8_t *readBuffer, std::size_t readSize) |
| Starts a write-read transaction and waits until finished. | |
Protected Member Functions | |
| bool | isTransactionRunning () |
| bool | runTransaction () |
| Starts our own transaction and waits until finished. | |
| bool | startTransaction () |
| Starts the transaction with our own transaction object. | |
| bool | startTransaction (modm::I2cTransaction *transaction) |
| Starts the transaction with a separate transaction object. | |
| bool | wasTransactionSuccessful () |
Protected Attributes | |
| I2cWriteReadTransaction | transaction |
The class is build for single-shot measurements.
|
strong |
MSRC__CONFIG_CONTROL MSRC = "minimum signal rate check"
|
inheritedinline |
Attaches a configuration handler, which is called before a transaction, whenever the configuration has to be changed.
|
inheritedinlineprotected |
true when transaction is busy. | bool modm::Vl53l0< I2cMaster >::ping | ( | ) |
|
inheritedinline |
Sets a new address of the slave device.
| address | the slave address not yet shifted left (address < 128). |
| bool modm::Vl53l0< I2cMaster >::setDeviceAddress | ( | uint8_t | address | ) |
Set a new I2C address (< 128) for this device. The address is not permanent and must be set again after every device boot.
| bool modm::Vl53l0< I2cMaster >::setMaxMeasurementTime | ( | uint32_t | timeUs | ) |
Set the maximum measurement time.
Increasing this value will improve the accuracy. The default is ~30ms. ST recommends 2'000'000us = 200ms for high precision.
useful range of values: ~20'000us - 2'000'000us (20ms - 2s)
|
inheritedinlineprotected |
true when transaction did not return an error.