M5Unit-TOF 0.1.0 git rev:d9853ac
Loading...
Searching...
No Matches
m5::unit::UnitVL53L0X Class Reference

ToF unit. More...

#include <unit_VL53L0X.hpp>

Inheritance diagram for m5::unit::UnitVL53L0X:

Classes

struct  config_t
 Settings for begin. More...
 

Public Member Functions

 UnitVL53L0X (const uint8_t addr=DEFAULT_ADDRESS)
 
virtual bool begin () override
 
virtual void update (const bool force=false) override
 
bool softReset ()
 Software reset.
 
bool writeMode (const vl53l0x::Mode mode)
 Write the operation mode.
 
Settings for begin
config_t config () const
 Gets the configration.
 
void config (const config_t &cfg)
 Set the configration.
 
Measurement data by periodic
int16_t range () const
 Oldest measured range(mm)
 
bool valid () const
 Is valid oldest data?
 
vl53l0x::RangeStatus range_status () const
 Oldest measured range status.
 
vl53l0x::Mode mode () const
 Gets the inner mode.
 
Periodic measurement
bool startPeriodicMeasurement ()
 Start periodic measurement in the current settings.
 
bool startPeriodicMeasurement (const vl53l0x::Mode mode)
 Start periodic measurement.
 
bool stopPeriodicMeasurement ()
 Stop periodic measurement.
 
Single shot measurement
bool measureSingleshot (vl53l0x::Data &d)
 Measurement single shot in the current settings.
 
Signal range limit
bool readSignalRateLimit (float &mcps)
 Read the signal range limit.
 
bool writeSignalRateLimit (const float mcps)
 Write the signal range limit.
 
I2C Address
Warning
Handling warning
bool readI2CAddress (uint8_t &i2c_address)
 Read the I2C address.
 
bool changeI2CAddress (const uint8_t i2c_address)
 Change unit I2C address.
 

Protected Member Functions

bool start_periodic_measurement ()
 
bool start_periodic_measurement (const vl53l0x::Mode mode)
 
bool stop_periodic_measurement ()
 
bool read_data_ready_status ()
 
bool read_measurement (vl53l0x::Data &d)
 
bool write_default_values ()
 
bool perform_single_ref_calibration (bool VHV)
 
bool write_vcsel_period_range (const uint8_t pre_pclk, const uint8_t final_pclk)
 
bool soft_reset ()
 
bool write_default_settings ()
 
 M5_UNIT_COMPONENT_PERIODIC_MEASUREMENT_ADAPTER_HPP_BUILDER (UnitVL53L0X, vl53l0x::Data)
 

Protected Attributes

vl53l0x::Mode _mode {vl53l0x::Mode::Unknown}
 
uint8_t _stop {}
 
std::unique_ptr< m5::container::CircularBuffer< vl53l0x::Data > > _data {}
 
config_t _cfg {}
 

Detailed Description

ToF unit.

Member Function Documentation

◆ changeI2CAddress()

bool m5::unit::UnitVL53L0X::changeI2CAddress ( const uint8_t i2c_address)

Change unit I2C address.

Parameters
i2c_addressI2C address
Returns
True if successful

◆ measureSingleshot()

bool m5::unit::UnitVL53L0X::measureSingleshot ( vl53l0x::Data & d)

Measurement single shot in the current settings.

Parameters
[out]dataMeasuerd data
Returns
True if successful
Warning
During periodic detection runs, an error is returned
Processing is blocked until results are returned

◆ mode()

vl53l0x::Mode m5::unit::UnitVL53L0X::mode ( ) const
inline

Gets the inner mode.

@Properties

◆ range()

int16_t m5::unit::UnitVL53L0X::range ( ) const
inline

Oldest measured range(mm)

Warning
Returns a negative value if there is a range error or empty

◆ readI2CAddress()

bool m5::unit::UnitVL53L0X::readI2CAddress ( uint8_t & i2c_address)

Read the I2C address.

Parameters
i2c_address[out]I2C address
Returns
True if successful

◆ readSignalRateLimit()

bool m5::unit::UnitVL53L0X::readSignalRateLimit ( float & mcps)

Read the signal range limit.

Parameters
[out]mcpsvalue
Returns
True if successful

◆ startPeriodicMeasurement() [1/2]

bool m5::unit::UnitVL53L0X::startPeriodicMeasurement ( )
inline

Start periodic measurement in the current settings.

Returns
True if successful

◆ startPeriodicMeasurement() [2/2]

bool m5::unit::UnitVL53L0X::startPeriodicMeasurement ( const vl53l0x::Mode mode)
inline

Start periodic measurement.

Parameters
modeOperation mode
Returns
True if successful

◆ stopPeriodicMeasurement()

bool m5::unit::UnitVL53L0X::stopPeriodicMeasurement ( )
inline

Stop periodic measurement.

Returns
True if successful

◆ writeMode()

bool m5::unit::UnitVL53L0X::writeMode ( const vl53l0x::Mode mode)

Write the operation mode.

Parameters
modeOperation mode
Returns
True if successful

◆ writeSignalRateLimit()

bool m5::unit::UnitVL53L0X::writeSignalRateLimit ( const float mcps)

Write the signal range limit.

Parameters
mcpsvalue
Returns
True if successful