APM:Libraries
|
#include <AP_RangeFinder_VL53L0X.h>
Classes | |
struct | RegData |
struct | SequenceStepEnables |
struct | SequenceStepTimeouts |
Public Member Functions | |
void | update (void) |
Public Member Functions inherited from AP_RangeFinder_Backend | |
AP_RangeFinder_Backend (RangeFinder::RangeFinder_State &_state) | |
virtual | ~AP_RangeFinder_Backend (void) |
virtual void | handle_msg (mavlink_message_t *msg) |
void | update_pre_arm_check () |
enum Rotation | orientation () const |
uint16_t | distance_cm () const |
uint16_t | voltage_mv () const |
int16_t | max_distance_cm () const |
int16_t | min_distance_cm () const |
int16_t | ground_clearance_cm () const |
MAV_DISTANCE_SENSOR | get_mav_distance_sensor_type () const |
RangeFinder::RangeFinder_Status | status () const |
RangeFinder::RangeFinder_Type | type () const |
bool | has_data () const |
uint8_t | range_valid_count () const |
const Vector3f & | get_pos_offset () const |
Static Public Member Functions | |
static AP_RangeFinder_Backend * | detect (RangeFinder::RangeFinder_State &_state, AP_HAL::OwnPtr< AP_HAL::I2CDevice > dev) |
Protected Member Functions | |
virtual MAV_DISTANCE_SENSOR | _get_mav_distance_sensor_type () const override |
Protected Member Functions inherited from AP_RangeFinder_Backend | |
void | update_status () |
void | set_status (RangeFinder::RangeFinder_Status status) |
Private Types | |
enum | vcselPeriodType { VcselPeriodPreRange, VcselPeriodFinalRange } |
Private Member Functions | |
AP_RangeFinder_VL53L0X (RangeFinder::RangeFinder_State &_state, AP_HAL::OwnPtr< AP_HAL::I2CDevice > dev) | |
void | init () |
void | timer () |
bool | check_id (void) |
bool | get_reading (uint16_t &reading_cm) |
uint8_t | read_register (uint8_t reg) |
uint16_t | read_register16 (uint8_t reg) |
void | write_register (uint8_t reg, uint8_t value) |
void | write_register16 (uint8_t reg, uint16_t value) |
bool | get_SPAD_info (uint8_t *count, bool *type_is_aperture) |
void | getSequenceStepEnables (SequenceStepEnables *enables) |
uint32_t | getMeasurementTimingBudget (void) |
void | getSequenceStepTimeouts (SequenceStepEnables const *enables, SequenceStepTimeouts *timeouts) |
uint8_t | getVcselPulsePeriod (vcselPeriodType type) |
uint32_t | timeoutMclksToMicroseconds (uint16_t timeout_period_mclks, uint8_t vcsel_period_pclks) |
uint16_t | decodeTimeout (uint16_t reg_val) |
bool | setMeasurementTimingBudget (uint32_t budget_us) |
uint32_t | timeoutMicrosecondsToMclks (uint32_t timeout_period_us, uint8_t vcsel_period_pclks) |
uint16_t | encodeTimeout (uint16_t timeout_mclks) |
bool | performSingleRefCalibration (uint8_t vhv_init_byte) |
void | start_continuous (void) |
Private Attributes | |
AP_HAL::OwnPtr< AP_HAL::I2CDevice > | dev |
uint8_t | stop_variable |
uint32_t | measurement_timing_budget_us |
uint32_t | start_ms |
uint32_t | sum_mm |
uint32_t | counter |
Static Private Attributes | |
static const RegData | tuning_data [] |
Additional Inherited Members | |
Protected Attributes inherited from AP_RangeFinder_Backend | |
RangeFinder::RangeFinder_State & | state |
AP_HAL::Semaphore * | _sem |
Definition at line 7 of file AP_RangeFinder_VL53L0X.h.
|
private |
Enumerator | |
---|---|
VcselPeriodPreRange | |
VcselPeriodFinalRange |
Definition at line 61 of file AP_RangeFinder_VL53L0X.h.
|
private |
Definition at line 219 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by _get_mav_distance_sensor_type(), and detect().
|
inlineoverrideprotectedvirtual |
Implements AP_RangeFinder_Backend.
Definition at line 19 of file AP_RangeFinder_VL53L0X.h.
|
private |
Definition at line 257 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by _get_mav_distance_sensor_type(), and detect().
|
private |
Definition at line 357 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by getSequenceStepTimeouts().
|
static |
Definition at line 229 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by RangeFinder::detect_instance().
|
private |
Definition at line 455 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by setMeasurementTimingBudget().
|
private |
Definition at line 722 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by _get_mav_distance_sensor_type(), and timer().
|
private |
Definition at line 273 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by init().
|
private |
Definition at line 401 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by init().
|
private |
Definition at line 319 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by getMeasurementTimingBudget(), and setMeasurementTimingBudget().
|
private |
Definition at line 368 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by getMeasurementTimingBudget(), and setMeasurementTimingBudget().
|
private |
Definition at line 332 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by getSequenceStepTimeouts().
|
private |
Definition at line 559 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by _get_mav_distance_sensor_type(), and detect().
|
private |
Definition at line 684 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by init().
|
private |
Definition at line 750 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by get_reading(), get_SPAD_info(), getSequenceStepEnables(), getSequenceStepTimeouts(), getVcselPulsePeriod(), init(), and performSingleRefCalibration().
|
private |
Definition at line 757 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by get_reading(), and getSequenceStepTimeouts().
|
private |
Definition at line 482 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by init().
|
private |
Definition at line 705 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by get_reading(), and init().
|
private |
Definition at line 345 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by getSequenceStepTimeouts().
|
private |
Definition at line 444 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by setMeasurementTimingBudget().
|
private |
Definition at line 779 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by _get_mav_distance_sensor_type(), and init().
|
virtual |
Implements AP_RangeFinder_Backend.
Definition at line 767 of file AP_RangeFinder_VL53L0X.cpp.
|
private |
Definition at line 745 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by get_reading(), get_SPAD_info(), init(), performSingleRefCalibration(), and start_continuous().
|
private |
Definition at line 739 of file AP_RangeFinder_VL53L0X.cpp.
Referenced by init(), and setMeasurementTimingBudget().
|
private |
Definition at line 81 of file AP_RangeFinder_VL53L0X.h.
|
private |
Definition at line 35 of file AP_RangeFinder_VL53L0X.h.
Referenced by check_id(), detect(), init(), read_register(), read_register16(), write_register(), and write_register16().
|
private |
Definition at line 77 of file AP_RangeFinder_VL53L0X.h.
Referenced by getMeasurementTimingBudget(), init(), and setMeasurementTimingBudget().
|
private |
Definition at line 78 of file AP_RangeFinder_VL53L0X.h.
Referenced by get_reading(), and start_continuous().
|
private |
Definition at line 76 of file AP_RangeFinder_VL53L0X.h.
Referenced by init(), and start_continuous().
|
private |
Definition at line 80 of file AP_RangeFinder_VL53L0X.h.
|
staticprivate |
Definition at line 59 of file AP_RangeFinder_VL53L0X.h.
Referenced by init().