APM:Libraries
Macros | Enumerations | Variables
AP_RangeFinder_VL53L0X.cpp File Reference
#include "AP_RangeFinder_VL53L0X.h"
#include <utility>
#include <AP_HAL/AP_HAL.h>
#include <AP_HAL/utility/sparse-endian.h>
#include <stdio.h>
Include dependency graph for AP_RangeFinder_VL53L0X.cpp:

Go to the source code of this file.

Macros

#define decodeVcselPeriod(reg_val)   (((reg_val) + 1) << 1)
 
#define calcMacroPeriod(vcsel_period_pclks)   ((((uint32_t)2304 * (vcsel_period_pclks) * 1655) + 500) / 1000)
 

Enumerations

enum  regAddr {
  SYSRANGE_START = 0x00, SYSTEM_THRESH_HIGH = 0x0C, SYSTEM_THRESH_LOW = 0x0E, SYSTEM_SEQUENCE_CONFIG = 0x01,
  SYSTEM_RANGE_CONFIG = 0x09, SYSTEM_INTERMEASUREMENT_PERIOD = 0x04, SYSTEM_INTERRUPT_CONFIG_GPIO = 0x0A, GPIO_HV_MUX_ACTIVE_HIGH = 0x84,
  SYSTEM_INTERRUPT_CLEAR = 0x0B, RESULT_INTERRUPT_STATUS = 0x13, RESULT_RANGE_STATUS = 0x14, RESULT_CORE_AMBIENT_WINDOW_EVENTS_RTN = 0xBC,
  RESULT_CORE_RANGING_TOTAL_EVENTS_RTN = 0xC0, RESULT_CORE_AMBIENT_WINDOW_EVENTS_REF = 0xD0, RESULT_CORE_RANGING_TOTAL_EVENTS_REF = 0xD4, RESULT_PEAK_SIGNAL_RATE_REF = 0xB6,
  ALGO_PART_TO_PART_RANGE_OFFSET_MM = 0x28, I2C_SLAVE_DEVICE_ADDRESS = 0x8A, MSRC_CONFIG_CONTROL = 0x60, PRE_RANGE_CONFIG_MIN_SNR = 0x27,
  PRE_RANGE_CONFIG_VALID_PHASE_LOW = 0x56, PRE_RANGE_CONFIG_VALID_PHASE_HIGH = 0x57, PRE_RANGE_MIN_COUNT_RATE_RTN_LIMIT = 0x64, FINAL_RANGE_CONFIG_MIN_SNR = 0x67,
  FINAL_RANGE_CONFIG_VALID_PHASE_LOW = 0x47, FINAL_RANGE_CONFIG_VALID_PHASE_HIGH = 0x48, FINAL_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT = 0x44, PRE_RANGE_CONFIG_SIGMA_THRESH_HI = 0x61,
  PRE_RANGE_CONFIG_SIGMA_THRESH_LO = 0x62, PRE_RANGE_CONFIG_VCSEL_PERIOD = 0x50, PRE_RANGE_CONFIG_TIMEOUT_MACROP_HI = 0x51, PRE_RANGE_CONFIG_TIMEOUT_MACROP_LO = 0x52,
  SYSTEM_HISTOGRAM_BIN = 0x81, HISTOGRAM_CONFIG_INITIAL_PHASE_SELECT = 0x33, HISTOGRAM_CONFIG_READOUT_CTRL = 0x55, FINAL_RANGE_CONFIG_VCSEL_PERIOD = 0x70,
  FINAL_RANGE_CONFIG_TIMEOUT_MACROP_HI = 0x71, FINAL_RANGE_CONFIG_TIMEOUT_MACROP_LO = 0x72, CROSSTALK_COMPENSATION_PEAK_RATE_MCPS = 0x20, MSRC_CONFIG_TIMEOUT_MACROP = 0x46,
  SOFT_RESET_GO2_SOFT_RESET_N = 0xBF, IDENTIFICATION_MODEL_ID = 0xC0, IDENTIFICATION_REVISION_ID = 0xC2, OSC_CALIBRATE_VAL = 0xF8,
  GLOBAL_CONFIG_VCSEL_WIDTH = 0x32, GLOBAL_CONFIG_SPAD_ENABLES_REF_0 = 0xB0, GLOBAL_CONFIG_SPAD_ENABLES_REF_1 = 0xB1, GLOBAL_CONFIG_SPAD_ENABLES_REF_2 = 0xB2,
  GLOBAL_CONFIG_SPAD_ENABLES_REF_3 = 0xB3, GLOBAL_CONFIG_SPAD_ENABLES_REF_4 = 0xB4, GLOBAL_CONFIG_SPAD_ENABLES_REF_5 = 0xB5, GLOBAL_CONFIG_REF_EN_START_SELECT = 0xB6,
  DYNAMIC_SPAD_NUM_REQUESTED_REF_SPAD = 0x4E, DYNAMIC_SPAD_REF_EN_START_OFFSET = 0x4F, POWER_MANAGEMENT_GO1_POWER_FORCE = 0x80, VHV_CONFIG_PAD_SCL_SDA__EXTSUP_HV = 0x89,
  ALGO_PHASECAL_LIM = 0x30, ALGO_PHASECAL_CONFIG_TIMEOUT = 0x30
}
 

Variables

const AP_HAL::HALhal
 -*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*- More...
 

Macro Definition Documentation

◆ calcMacroPeriod

#define calcMacroPeriod (   vcsel_period_pclks)    ((((uint32_t)2304 * (vcsel_period_pclks) * 1655) + 500) / 1000)

◆ decodeVcselPeriod

#define decodeVcselPeriod (   reg_val)    (((reg_val) + 1) << 1)

Enumeration Type Documentation

◆ regAddr

enum regAddr
Enumerator
SYSRANGE_START 
SYSTEM_THRESH_HIGH 
SYSTEM_THRESH_LOW 
SYSTEM_SEQUENCE_CONFIG 
SYSTEM_RANGE_CONFIG 
SYSTEM_INTERMEASUREMENT_PERIOD 
SYSTEM_INTERRUPT_CONFIG_GPIO 
GPIO_HV_MUX_ACTIVE_HIGH 
SYSTEM_INTERRUPT_CLEAR 
RESULT_INTERRUPT_STATUS 
RESULT_RANGE_STATUS 
RESULT_CORE_AMBIENT_WINDOW_EVENTS_RTN 
RESULT_CORE_RANGING_TOTAL_EVENTS_RTN 
RESULT_CORE_AMBIENT_WINDOW_EVENTS_REF 
RESULT_CORE_RANGING_TOTAL_EVENTS_REF 
RESULT_PEAK_SIGNAL_RATE_REF 
ALGO_PART_TO_PART_RANGE_OFFSET_MM 
I2C_SLAVE_DEVICE_ADDRESS 
MSRC_CONFIG_CONTROL 
PRE_RANGE_CONFIG_MIN_SNR 
PRE_RANGE_CONFIG_VALID_PHASE_LOW 
PRE_RANGE_CONFIG_VALID_PHASE_HIGH 
PRE_RANGE_MIN_COUNT_RATE_RTN_LIMIT 
FINAL_RANGE_CONFIG_MIN_SNR 
FINAL_RANGE_CONFIG_VALID_PHASE_LOW 
FINAL_RANGE_CONFIG_VALID_PHASE_HIGH 
FINAL_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT 
PRE_RANGE_CONFIG_SIGMA_THRESH_HI 
PRE_RANGE_CONFIG_SIGMA_THRESH_LO 
PRE_RANGE_CONFIG_VCSEL_PERIOD 
PRE_RANGE_CONFIG_TIMEOUT_MACROP_HI 
PRE_RANGE_CONFIG_TIMEOUT_MACROP_LO 
SYSTEM_HISTOGRAM_BIN 
HISTOGRAM_CONFIG_INITIAL_PHASE_SELECT 
HISTOGRAM_CONFIG_READOUT_CTRL 
FINAL_RANGE_CONFIG_VCSEL_PERIOD 
FINAL_RANGE_CONFIG_TIMEOUT_MACROP_HI 
FINAL_RANGE_CONFIG_TIMEOUT_MACROP_LO 
CROSSTALK_COMPENSATION_PEAK_RATE_MCPS 
MSRC_CONFIG_TIMEOUT_MACROP 
SOFT_RESET_GO2_SOFT_RESET_N 
IDENTIFICATION_MODEL_ID 
IDENTIFICATION_REVISION_ID 
OSC_CALIBRATE_VAL 
GLOBAL_CONFIG_VCSEL_WIDTH 
GLOBAL_CONFIG_SPAD_ENABLES_REF_0 
GLOBAL_CONFIG_SPAD_ENABLES_REF_1 
GLOBAL_CONFIG_SPAD_ENABLES_REF_2 
GLOBAL_CONFIG_SPAD_ENABLES_REF_3 
GLOBAL_CONFIG_SPAD_ENABLES_REF_4 
GLOBAL_CONFIG_SPAD_ENABLES_REF_5 
GLOBAL_CONFIG_REF_EN_START_SELECT 
DYNAMIC_SPAD_NUM_REQUESTED_REF_SPAD 
DYNAMIC_SPAD_REF_EN_START_OFFSET 
POWER_MANAGEMENT_GO1_POWER_FORCE 
VHV_CONFIG_PAD_SCL_SDA__EXTSUP_HV 
ALGO_PHASECAL_LIM 
ALGO_PHASECAL_CONFIG_TIMEOUT 

Definition at line 31 of file AP_RangeFinder_VL53L0X.cpp.

Variable Documentation

◆ hal

const AP_HAL::HAL& hal

-*- tab-width: 4; Mode: C++; c-basic-offset: 4; indent-tabs-mode: nil -*-

Definition at line 14 of file AC_PID_test.cpp.