FastArduino v1.10
C++ library to build fast but small Arduino/AVR projects
Loading...
Searching...
No Matches
devices::vl53l0x::SequenceSteps Class Reference

Hold VL53L0X sequence steps to use for ranging. More...

#include <fastarduino/devices/vl53l0x_types.h>

Public Member Functions

constexpr SequenceSteps tcc () const
 Create a new SequenceSteps by adding TCC to steps of this instance. More...
 
constexpr SequenceSteps dss () const
 Create a new SequenceSteps by adding DSS to steps of this instance. More...
 
constexpr SequenceSteps msrc () const
 Create a new SequenceSteps by adding MSRC to steps of this instance. More...
 
constexpr SequenceSteps pre_range () const
 Create a new SequenceSteps by adding PRE-RANGE to steps of this instance. More...
 
constexpr SequenceSteps final_range () const
 Create a new SequenceSteps by adding FINAL-RANGE to steps of this instance. More...
 
constexpr SequenceSteps no_tcc () const
 Create a new SequenceSteps by removing TCC from steps of this instance. More...
 
constexpr SequenceSteps no_dss () const
 Create a new SequenceSteps by removing DSS from steps of this instance. More...
 
constexpr SequenceSteps no_msrc () const
 Create a new SequenceSteps by removing MSRC from steps of this instance. More...
 
constexpr SequenceSteps no_pre_range () const
 Create a new SequenceSteps by removing PRE-RANGE from steps of this instance. More...
 
constexpr SequenceSteps no_final_range () const
 Create a new SequenceSteps by removing FINAL-RANGE from steps of this instance. More...
 
uint8_t value () const
 Get steps of this instance as a byte. More...
 
bool is_tcc () const
 Indicate if this instance has TCC (Target Center Check) step. More...
 
bool is_dss () const
 Indicate if this instance has DSS (Dynamic SPAD Selection) step. More...
 
bool is_msrc () const
 Indicate if this instance has MSRC (Minimum Signal Rate Check) step. More...
 
bool is_pre_range () const
 Indicate if this instance has PRE-RANGE step. More...
 
bool is_final_range () const
 Indicate if this instance has FINAL-RANGE step. More...
 

Static Public Member Functions

static constexpr SequenceSteps create ()
 Create an empty step sequence for further adding individual steps. More...
 
static constexpr SequenceSteps all ()
 Create a full step sequence with all steps, with the possibility to remove steps you do not want: More...
 

Friends

template<typename MANAGER >
class VL53L0X
 

Detailed Description

Hold VL53L0X sequence steps to use for ranging.

This class is implemented using the "builder" pattern, demonstrated in following snippet:

// steps1 contains only pre-range and final-range steps
// steps2 contains all steps except TCC
Hold VL53L0X sequence steps to use for ranging.
constexpr SequenceSteps pre_range() const
Create a new SequenceSteps by adding PRE-RANGE to steps of this instance.
constexpr SequenceSteps no_tcc() const
Create a new SequenceSteps by removing TCC from steps of this instance.
static constexpr SequenceSteps all()
Create a full step sequence with all steps, with the possibility to remove steps you do not want:
constexpr SequenceSteps final_range() const
Create a new SequenceSteps by adding FINAL-RANGE to steps of this instance.
static constexpr SequenceSteps create()
Create an empty step sequence for further adding individual steps.

All builder methods are constexpr hence are typically evaluated at compile-time. Each step has an impact on minimal measurement time for ranging and on accuracy.

Note
Advised sequence to get good results shall include PRE-RANGE, FINAL-RANGE and DSS.
See also
VL53L0X::get_sequence_steps()
VL53L0X::set_sequence_steps()

Definition at line 583 of file vl53l0x_types.h.

Member Function Documentation

◆ create()

static constexpr SequenceSteps devices::vl53l0x::SequenceSteps::create ( )
inlinestaticconstexpr

Create an empty step sequence for further adding individual steps.

Definition at line 602 of file vl53l0x_types.h.

◆ all()

static constexpr SequenceSteps devices::vl53l0x::SequenceSteps::all ( )
inlinestaticconstexpr

Create a full step sequence with all steps, with the possibility to remove steps you do not want:

  • TCC
  • DSS
  • MSRC
  • PRE-RANGE
  • FINAL-RANGE

Definition at line 615 of file vl53l0x_types.h.

◆ tcc()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::tcc ( ) const
inlineconstexpr

Create a new SequenceSteps by adding TCC to steps of this instance.

Definition at line 627 of file vl53l0x_types.h.

◆ dss()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::dss ( ) const
inlineconstexpr

Create a new SequenceSteps by adding DSS to steps of this instance.

Definition at line 635 of file vl53l0x_types.h.

◆ msrc()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::msrc ( ) const
inlineconstexpr

Create a new SequenceSteps by adding MSRC to steps of this instance.

Definition at line 643 of file vl53l0x_types.h.

◆ pre_range()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::pre_range ( ) const
inlineconstexpr

Create a new SequenceSteps by adding PRE-RANGE to steps of this instance.

Definition at line 651 of file vl53l0x_types.h.

◆ final_range()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::final_range ( ) const
inlineconstexpr

Create a new SequenceSteps by adding FINAL-RANGE to steps of this instance.

Definition at line 659 of file vl53l0x_types.h.

◆ no_tcc()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::no_tcc ( ) const
inlineconstexpr

Create a new SequenceSteps by removing TCC from steps of this instance.

Definition at line 667 of file vl53l0x_types.h.

◆ no_dss()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::no_dss ( ) const
inlineconstexpr

Create a new SequenceSteps by removing DSS from steps of this instance.

Definition at line 675 of file vl53l0x_types.h.

◆ no_msrc()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::no_msrc ( ) const
inlineconstexpr

Create a new SequenceSteps by removing MSRC from steps of this instance.

Definition at line 683 of file vl53l0x_types.h.

◆ no_pre_range()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::no_pre_range ( ) const
inlineconstexpr

Create a new SequenceSteps by removing PRE-RANGE from steps of this instance.

Definition at line 691 of file vl53l0x_types.h.

◆ no_final_range()

constexpr SequenceSteps devices::vl53l0x::SequenceSteps::no_final_range ( ) const
inlineconstexpr

Create a new SequenceSteps by removing FINAL-RANGE from steps of this instance.

Definition at line 699 of file vl53l0x_types.h.

◆ value()

uint8_t devices::vl53l0x::SequenceSteps::value ( ) const
inline

Get steps of this instance as a byte.

Definition at line 707 of file vl53l0x_types.h.

◆ is_tcc()

bool devices::vl53l0x::SequenceSteps::is_tcc ( ) const
inline

Indicate if this instance has TCC (Target Center Check) step.

Definition at line 715 of file vl53l0x_types.h.

◆ is_dss()

bool devices::vl53l0x::SequenceSteps::is_dss ( ) const
inline

Indicate if this instance has DSS (Dynamic SPAD Selection) step.

Definition at line 723 of file vl53l0x_types.h.

◆ is_msrc()

bool devices::vl53l0x::SequenceSteps::is_msrc ( ) const
inline

Indicate if this instance has MSRC (Minimum Signal Rate Check) step.

Definition at line 731 of file vl53l0x_types.h.

◆ is_pre_range()

bool devices::vl53l0x::SequenceSteps::is_pre_range ( ) const
inline

Indicate if this instance has PRE-RANGE step.

Definition at line 739 of file vl53l0x_types.h.

◆ is_final_range()

bool devices::vl53l0x::SequenceSteps::is_final_range ( ) const
inline

Indicate if this instance has FINAL-RANGE step.

Definition at line 747 of file vl53l0x_types.h.

Friends And Related Function Documentation

◆ VL53L0X

template<typename MANAGER >
friend class VL53L0X
friend

Definition at line 757 of file vl53l0x_types.h.


The documentation for this class was generated from the following file: