Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of VL53L1X_Pololu by
VL53L1X.h
00001 #ifndef VL53L1X_H 00002 #define VL53L1X_H 00003 00004 #include "mbed.h" 00005 00006 class VL53L1X 00007 { 00008 public: 00009 Timer t; 00010 VL53L1X(PinName SDA, PinName SCL, PinName shutDown); 00011 00012 // register addresses from API vl53l1x_register_map.h 00013 enum regAddr : uint16_t 00014 { 00015 SOFT_RESET = 0x0000, 00016 I2C_SLAVE__DEVICE_ADDRESS = 0x0001, 00017 ANA_CONFIG__VHV_REF_SEL_VDDPIX = 0x0002, 00018 ANA_CONFIG__VHV_REF_SEL_VQUENCH = 0x0003, 00019 ANA_CONFIG__REG_AVDD1V2_SEL = 0x0004, 00020 ANA_CONFIG__FAST_OSC__TRIM = 0x0005, 00021 OSC_MEASURED__FAST_OSC__FREQUENCY = 0x0006, 00022 OSC_MEASURED__FAST_OSC__FREQUENCY_HI = 0x0006, 00023 OSC_MEASURED__FAST_OSC__FREQUENCY_LO = 0x0007, 00024 VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND = 0x0008, 00025 VHV_CONFIG__COUNT_THRESH = 0x0009, 00026 VHV_CONFIG__OFFSET = 0x000A, 00027 VHV_CONFIG__INIT = 0x000B, 00028 GLOBAL_CONFIG__SPAD_ENABLES_REF_0 = 0x000D, 00029 GLOBAL_CONFIG__SPAD_ENABLES_REF_1 = 0x000E, 00030 GLOBAL_CONFIG__SPAD_ENABLES_REF_2 = 0x000F, 00031 GLOBAL_CONFIG__SPAD_ENABLES_REF_3 = 0x0010, 00032 GLOBAL_CONFIG__SPAD_ENABLES_REF_4 = 0x0011, 00033 GLOBAL_CONFIG__SPAD_ENABLES_REF_5 = 0x0012, 00034 GLOBAL_CONFIG__REF_EN_START_SELECT = 0x0013, 00035 REF_SPAD_MAN__NUM_REQUESTED_REF_SPADS = 0x0014, 00036 REF_SPAD_MAN__REF_LOCATION = 0x0015, 00037 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS = 0x0016, 00038 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS_HI = 0x0016, 00039 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS_LO = 0x0017, 00040 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS = 0x0018, 00041 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS_HI = 0x0018, 00042 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS_LO = 0x0019, 00043 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS = 0x001A, 00044 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS_HI = 0x001A, 00045 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS_LO = 0x001B, 00046 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS = 0x001C, 00047 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS_HI = 0x001C, 00048 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS_LO = 0x001D, 00049 ALGO__PART_TO_PART_RANGE_OFFSET_MM = 0x001E, 00050 ALGO__PART_TO_PART_RANGE_OFFSET_MM_HI = 0x001E, 00051 ALGO__PART_TO_PART_RANGE_OFFSET_MM_LO = 0x001F, 00052 MM_CONFIG__INNER_OFFSET_MM = 0x0020, 00053 MM_CONFIG__INNER_OFFSET_MM_HI = 0x0020, 00054 MM_CONFIG__INNER_OFFSET_MM_LO = 0x0021, 00055 MM_CONFIG__OUTER_OFFSET_MM = 0x0022, 00056 MM_CONFIG__OUTER_OFFSET_MM_HI = 0x0022, 00057 MM_CONFIG__OUTER_OFFSET_MM_LO = 0x0023, 00058 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS = 0x0024, 00059 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS_HI = 0x0024, 00060 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS_LO = 0x0025, 00061 DEBUG__CTRL = 0x0026, 00062 TEST_MODE__CTRL = 0x0027, 00063 CLK_GATING__CTRL = 0x0028, 00064 NVM_BIST__CTRL = 0x0029, 00065 NVM_BIST__NUM_NVM_WORDS = 0x002A, 00066 NVM_BIST__START_ADDRESS = 0x002B, 00067 HOST_IF__STATUS = 0x002C, 00068 PAD_I2C_HV__CONFIG = 0x002D, 00069 PAD_I2C_HV__EXTSUP_CONFIG = 0x002E, 00070 GPIO_HV_PAD__CTRL = 0x002F, 00071 GPIO_HV_MUX__CTRL = 0x0030, 00072 GPIO__TIO_HV_STATUS = 0x0031, 00073 GPIO__FIO_HV_STATUS = 0x0032, 00074 ANA_CONFIG__SPAD_SEL_PSWIDTH = 0x0033, 00075 ANA_CONFIG__VCSEL_PULSE_WIDTH_OFFSET = 0x0034, 00076 ANA_CONFIG__FAST_OSC__CONFIG_CTRL = 0x0035, 00077 SIGMA_ESTIMATOR__EFFECTIVE_PULSE_WIDTH_NS = 0x0036, 00078 SIGMA_ESTIMATOR__EFFECTIVE_AMBIENT_WIDTH_NS = 0x0037, 00079 SIGMA_ESTIMATOR__SIGMA_REF_MM = 0x0038, 00080 ALGO__CROSSTALK_COMPENSATION_VALID_HEIGHT_MM = 0x0039, 00081 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_0 = 0x003A, 00082 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_1 = 0x003B, 00083 ALGO__RANGE_IGNORE_THRESHOLD_MCPS = 0x003C, 00084 ALGO__RANGE_IGNORE_THRESHOLD_MCPS_HI = 0x003C, 00085 ALGO__RANGE_IGNORE_THRESHOLD_MCPS_LO = 0x003D, 00086 ALGO__RANGE_IGNORE_VALID_HEIGHT_MM = 0x003E, 00087 ALGO__RANGE_MIN_CLIP = 0x003F, 00088 ALGO__CONSISTENCY_CHECK__TOLERANCE = 0x0040, 00089 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_2 = 0x0041, 00090 SD_CONFIG__RESET_STAGES_MSB = 0x0042, 00091 SD_CONFIG__RESET_STAGES_LSB = 0x0043, 00092 GPH_CONFIG__STREAM_COUNT_UPDATE_VALUE = 0x0044, 00093 GLOBAL_CONFIG__STREAM_DIVIDER = 0x0045, 00094 SYSTEM__INTERRUPT_CONFIG_GPIO = 0x0046, 00095 CAL_CONFIG__VCSEL_START = 0x0047, 00096 CAL_CONFIG__REPEAT_RATE = 0x0048, 00097 CAL_CONFIG__REPEAT_RATE_HI = 0x0048, 00098 CAL_CONFIG__REPEAT_RATE_LO = 0x0049, 00099 GLOBAL_CONFIG__VCSEL_WIDTH = 0x004A, 00100 PHASECAL_CONFIG__TIMEOUT_MACROP = 0x004B, 00101 PHASECAL_CONFIG__TARGET = 0x004C, 00102 PHASECAL_CONFIG__OVERRIDE = 0x004D, 00103 DSS_CONFIG__ROI_MODE_CONTROL = 0x004F, 00104 SYSTEM__THRESH_RATE_HIGH = 0x0050, 00105 SYSTEM__THRESH_RATE_HIGH_HI = 0x0050, 00106 SYSTEM__THRESH_RATE_HIGH_LO = 0x0051, 00107 SYSTEM__THRESH_RATE_LOW = 0x0052, 00108 SYSTEM__THRESH_RATE_LOW_HI = 0x0052, 00109 SYSTEM__THRESH_RATE_LOW_LO = 0x0053, 00110 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT = 0x0054, 00111 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_HI = 0x0054, 00112 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_LO = 0x0055, 00113 DSS_CONFIG__MANUAL_BLOCK_SELECT = 0x0056, 00114 DSS_CONFIG__APERTURE_ATTENUATION = 0x0057, 00115 DSS_CONFIG__MAX_SPADS_LIMIT = 0x0058, 00116 DSS_CONFIG__MIN_SPADS_LIMIT = 0x0059, 00117 MM_CONFIG__TIMEOUT_MACROP_A = 0x005A, // added by Pololu for 16-bit accesses 00118 MM_CONFIG__TIMEOUT_MACROP_A_HI = 0x005A, 00119 MM_CONFIG__TIMEOUT_MACROP_A_LO = 0x005B, 00120 MM_CONFIG__TIMEOUT_MACROP_B = 0x005C, // added by Pololu for 16-bit accesses 00121 MM_CONFIG__TIMEOUT_MACROP_B_HI = 0x005C, 00122 MM_CONFIG__TIMEOUT_MACROP_B_LO = 0x005D, 00123 RANGE_CONFIG__TIMEOUT_MACROP_A = 0x005E, // added by Pololu for 16-bit accesses 00124 RANGE_CONFIG__TIMEOUT_MACROP_A_HI = 0x005E, 00125 RANGE_CONFIG__TIMEOUT_MACROP_A_LO = 0x005F, 00126 RANGE_CONFIG__VCSEL_PERIOD_A = 0x0060, 00127 RANGE_CONFIG__TIMEOUT_MACROP_B = 0x0061, // added by Pololu for 16-bit accesses 00128 RANGE_CONFIG__TIMEOUT_MACROP_B_HI = 0x0061, 00129 RANGE_CONFIG__TIMEOUT_MACROP_B_LO = 0x0062, 00130 RANGE_CONFIG__VCSEL_PERIOD_B = 0x0063, 00131 RANGE_CONFIG__SIGMA_THRESH = 0x0064, 00132 RANGE_CONFIG__SIGMA_THRESH_HI = 0x0064, 00133 RANGE_CONFIG__SIGMA_THRESH_LO = 0x0065, 00134 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS = 0x0066, 00135 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI = 0x0066, 00136 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO = 0x0067, 00137 RANGE_CONFIG__VALID_PHASE_LOW = 0x0068, 00138 RANGE_CONFIG__VALID_PHASE_HIGH = 0x0069, 00139 SYSTEM__INTERMEASUREMENT_PERIOD = 0x006C, 00140 SYSTEM__INTERMEASUREMENT_PERIOD_3 = 0x006C, 00141 SYSTEM__INTERMEASUREMENT_PERIOD_2 = 0x006D, 00142 SYSTEM__INTERMEASUREMENT_PERIOD_1 = 0x006E, 00143 SYSTEM__INTERMEASUREMENT_PERIOD_0 = 0x006F, 00144 SYSTEM__FRACTIONAL_ENABLE = 0x0070, 00145 SYSTEM__GROUPED_PARAMETER_HOLD_0 = 0x0071, 00146 SYSTEM__THRESH_HIGH = 0x0072, 00147 SYSTEM__THRESH_HIGH_HI = 0x0072, 00148 SYSTEM__THRESH_HIGH_LO = 0x0073, 00149 SYSTEM__THRESH_LOW = 0x0074, 00150 SYSTEM__THRESH_LOW_HI = 0x0074, 00151 SYSTEM__THRESH_LOW_LO = 0x0075, 00152 SYSTEM__ENABLE_XTALK_PER_QUADRANT = 0x0076, 00153 SYSTEM__SEED_CONFIG = 0x0077, 00154 SD_CONFIG__WOI_SD0 = 0x0078, 00155 SD_CONFIG__WOI_SD1 = 0x0079, 00156 SD_CONFIG__INITIAL_PHASE_SD0 = 0x007A, 00157 SD_CONFIG__INITIAL_PHASE_SD1 = 0x007B, 00158 SYSTEM__GROUPED_PARAMETER_HOLD_1 = 0x007C, 00159 SD_CONFIG__FIRST_ORDER_SELECT = 0x007D, 00160 SD_CONFIG__QUANTIFIER = 0x007E, 00161 ROI_CONFIG__USER_ROI_CENTRE_SPAD = 0x007F, 00162 ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE = 0x0080, 00163 SYSTEM__SEQUENCE_CONFIG = 0x0081, 00164 SYSTEM__GROUPED_PARAMETER_HOLD = 0x0082, 00165 POWER_MANAGEMENT__GO1_POWER_FORCE = 0x0083, 00166 SYSTEM__STREAM_COUNT_CTRL = 0x0084, 00167 FIRMWARE__ENABLE = 0x0085, 00168 SYSTEM__INTERRUPT_CLEAR = 0x0086, 00169 SYSTEM__MODE_START = 0x0087, 00170 RESULT__INTERRUPT_STATUS = 0x0088, 00171 RESULT__RANGE_STATUS = 0x0089, 00172 RESULT__REPORT_STATUS = 0x008A, 00173 RESULT__STREAM_COUNT = 0x008B, 00174 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x008C, 00175 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x008C, 00176 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x008D, 00177 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x008E, 00178 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x008E, 00179 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x008F, 00180 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0090, 00181 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0090, 00182 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0091, 00183 RESULT__SIGMA_SD0 = 0x0092, 00184 RESULT__SIGMA_SD0_HI = 0x0092, 00185 RESULT__SIGMA_SD0_LO = 0x0093, 00186 RESULT__PHASE_SD0 = 0x0094, 00187 RESULT__PHASE_SD0_HI = 0x0094, 00188 RESULT__PHASE_SD0_LO = 0x0095, 00189 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0096, 00190 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0096, 00191 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0097, 00192 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0098, 00193 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0098, 00194 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0099, 00195 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x009A, 00196 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x009A, 00197 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x009B, 00198 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x009C, 00199 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x009C, 00200 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x009D, 00201 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x009E, 00202 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x009E, 00203 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x009F, 00204 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x00A0, 00205 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x00A0, 00206 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x00A1, 00207 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x00A2, 00208 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x00A2, 00209 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x00A3, 00210 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x00A4, 00211 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x00A4, 00212 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x00A5, 00213 RESULT__SIGMA_SD1 = 0x00A6, 00214 RESULT__SIGMA_SD1_HI = 0x00A6, 00215 RESULT__SIGMA_SD1_LO = 0x00A7, 00216 RESULT__PHASE_SD1 = 0x00A8, 00217 RESULT__PHASE_SD1_HI = 0x00A8, 00218 RESULT__PHASE_SD1_LO = 0x00A9, 00219 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x00AA, 00220 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x00AA, 00221 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x00AB, 00222 RESULT__SPARE_0_SD1 = 0x00AC, 00223 RESULT__SPARE_0_SD1_HI = 0x00AC, 00224 RESULT__SPARE_0_SD1_LO = 0x00AD, 00225 RESULT__SPARE_1_SD1 = 0x00AE, 00226 RESULT__SPARE_1_SD1_HI = 0x00AE, 00227 RESULT__SPARE_1_SD1_LO = 0x00AF, 00228 RESULT__SPARE_2_SD1 = 0x00B0, 00229 RESULT__SPARE_2_SD1_HI = 0x00B0, 00230 RESULT__SPARE_2_SD1_LO = 0x00B1, 00231 RESULT__SPARE_3_SD1 = 0x00B2, 00232 RESULT__THRESH_INFO = 0x00B3, 00233 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x00B4, 00234 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x00B4, 00235 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x00B5, 00236 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x00B6, 00237 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x00B7, 00238 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x00B8, 00239 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x00B8, 00240 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x00B9, 00241 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x00BA, 00242 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x00BB, 00243 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x00BC, 00244 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x00BC, 00245 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x00BD, 00246 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x00BE, 00247 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x00BF, 00248 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x00C0, 00249 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x00C0, 00250 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x00C1, 00251 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x00C2, 00252 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x00C3, 00253 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x00C4, 00254 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x00C4, 00255 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x00C5, 00256 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x00C6, 00257 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x00C7, 00258 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x00C8, 00259 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x00C8, 00260 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x00C9, 00261 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x00CA, 00262 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x00CB, 00263 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x00CC, 00264 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x00CC, 00265 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x00CD, 00266 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x00CE, 00267 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x00CF, 00268 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x00D0, 00269 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x00D0, 00270 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x00D1, 00271 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x00D2, 00272 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x00D3, 00273 RESULT_CORE__SPARE_0 = 0x00D4, 00274 PHASECAL_RESULT__REFERENCE_PHASE = 0x00D6, 00275 PHASECAL_RESULT__REFERENCE_PHASE_HI = 0x00D6, 00276 PHASECAL_RESULT__REFERENCE_PHASE_LO = 0x00D7, 00277 PHASECAL_RESULT__VCSEL_START = 0x00D8, 00278 REF_SPAD_CHAR_RESULT__NUM_ACTUAL_REF_SPADS = 0x00D9, 00279 REF_SPAD_CHAR_RESULT__REF_LOCATION = 0x00DA, 00280 VHV_RESULT__COLDBOOT_STATUS = 0x00DB, 00281 VHV_RESULT__SEARCH_RESULT = 0x00DC, 00282 VHV_RESULT__LATEST_SETTING = 0x00DD, 00283 RESULT__OSC_CALIBRATE_VAL = 0x00DE, 00284 RESULT__OSC_CALIBRATE_VAL_HI = 0x00DE, 00285 RESULT__OSC_CALIBRATE_VAL_LO = 0x00DF, 00286 ANA_CONFIG__POWERDOWN_GO1 = 0x00E0, 00287 ANA_CONFIG__REF_BG_CTRL = 0x00E1, 00288 ANA_CONFIG__REGDVDD1V2_CTRL = 0x00E2, 00289 ANA_CONFIG__OSC_SLOW_CTRL = 0x00E3, 00290 TEST_MODE__STATUS = 0x00E4, 00291 FIRMWARE__SYSTEM_STATUS = 0x00E5, 00292 FIRMWARE__MODE_STATUS = 0x00E6, 00293 FIRMWARE__SECONDARY_MODE_STATUS = 0x00E7, 00294 FIRMWARE__CAL_REPEAT_RATE_COUNTER = 0x00E8, 00295 FIRMWARE__CAL_REPEAT_RATE_COUNTER_HI = 0x00E8, 00296 FIRMWARE__CAL_REPEAT_RATE_COUNTER_LO = 0x00E9, 00297 FIRMWARE__HISTOGRAM_BIN = 0x00EA, 00298 GPH__SYSTEM__THRESH_HIGH = 0x00EC, 00299 GPH__SYSTEM__THRESH_HIGH_HI = 0x00EC, 00300 GPH__SYSTEM__THRESH_HIGH_LO = 0x00ED, 00301 GPH__SYSTEM__THRESH_LOW = 0x00EE, 00302 GPH__SYSTEM__THRESH_LOW_HI = 0x00EE, 00303 GPH__SYSTEM__THRESH_LOW_LO = 0x00EF, 00304 GPH__SYSTEM__ENABLE_XTALK_PER_QUADRANT = 0x00F0, 00305 GPH__SPARE_0 = 0x00F1, 00306 GPH__SD_CONFIG__WOI_SD0 = 0x00F2, 00307 GPH__SD_CONFIG__WOI_SD1 = 0x00F3, 00308 GPH__SD_CONFIG__INITIAL_PHASE_SD0 = 0x00F4, 00309 GPH__SD_CONFIG__INITIAL_PHASE_SD1 = 0x00F5, 00310 GPH__SD_CONFIG__FIRST_ORDER_SELECT = 0x00F6, 00311 GPH__SD_CONFIG__QUANTIFIER = 0x00F7, 00312 GPH__ROI_CONFIG__USER_ROI_CENTRE_SPAD = 0x00F8, 00313 GPH__ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE = 0x00F9, 00314 GPH__SYSTEM__SEQUENCE_CONFIG = 0x00FA, 00315 GPH__GPH_ID = 0x00FB, 00316 SYSTEM__INTERRUPT_SET = 0x00FC, 00317 INTERRUPT_MANAGER__ENABLES = 0x00FD, 00318 INTERRUPT_MANAGER__CLEAR = 0x00FE, 00319 INTERRUPT_MANAGER__STATUS = 0x00FF, 00320 MCU_TO_HOST_BANK__WR_ACCESS_EN = 0x0100, 00321 POWER_MANAGEMENT__GO1_RESET_STATUS = 0x0101, 00322 PAD_STARTUP_MODE__VALUE_RO = 0x0102, 00323 PAD_STARTUP_MODE__VALUE_CTRL = 0x0103, 00324 PLL_PERIOD_US = 0x0104, 00325 PLL_PERIOD_US_3 = 0x0104, 00326 PLL_PERIOD_US_2 = 0x0105, 00327 PLL_PERIOD_US_1 = 0x0106, 00328 PLL_PERIOD_US_0 = 0x0107, 00329 INTERRUPT_SCHEDULER__DATA_OUT = 0x0108, 00330 INTERRUPT_SCHEDULER__DATA_OUT_3 = 0x0108, 00331 INTERRUPT_SCHEDULER__DATA_OUT_2 = 0x0109, 00332 INTERRUPT_SCHEDULER__DATA_OUT_1 = 0x010A, 00333 INTERRUPT_SCHEDULER__DATA_OUT_0 = 0x010B, 00334 NVM_BIST__COMPLETE = 0x010C, 00335 NVM_BIST__STATUS = 0x010D, 00336 IDENTIFICATION__MODEL_ID = 0x010F, 00337 IDENTIFICATION__MODULE_TYPE = 0x0110, 00338 IDENTIFICATION__REVISION_ID = 0x0111, 00339 IDENTIFICATION__MODULE_ID = 0x0112, 00340 IDENTIFICATION__MODULE_ID_HI = 0x0112, 00341 IDENTIFICATION__MODULE_ID_LO = 0x0113, 00342 ANA_CONFIG__FAST_OSC__TRIM_MAX = 0x0114, 00343 ANA_CONFIG__FAST_OSC__FREQ_SET = 0x0115, 00344 ANA_CONFIG__VCSEL_TRIM = 0x0116, 00345 ANA_CONFIG__VCSEL_SELION = 0x0117, 00346 ANA_CONFIG__VCSEL_SELION_MAX = 0x0118, 00347 PROTECTED_LASER_SAFETY__LOCK_BIT = 0x0119, 00348 LASER_SAFETY__KEY = 0x011A, 00349 LASER_SAFETY__KEY_RO = 0x011B, 00350 LASER_SAFETY__CLIP = 0x011C, 00351 LASER_SAFETY__MULT = 0x011D, 00352 GLOBAL_CONFIG__SPAD_ENABLES_RTN_0 = 0x011E, 00353 GLOBAL_CONFIG__SPAD_ENABLES_RTN_1 = 0x011F, 00354 GLOBAL_CONFIG__SPAD_ENABLES_RTN_2 = 0x0120, 00355 GLOBAL_CONFIG__SPAD_ENABLES_RTN_3 = 0x0121, 00356 GLOBAL_CONFIG__SPAD_ENABLES_RTN_4 = 0x0122, 00357 GLOBAL_CONFIG__SPAD_ENABLES_RTN_5 = 0x0123, 00358 GLOBAL_CONFIG__SPAD_ENABLES_RTN_6 = 0x0124, 00359 GLOBAL_CONFIG__SPAD_ENABLES_RTN_7 = 0x0125, 00360 GLOBAL_CONFIG__SPAD_ENABLES_RTN_8 = 0x0126, 00361 GLOBAL_CONFIG__SPAD_ENABLES_RTN_9 = 0x0127, 00362 GLOBAL_CONFIG__SPAD_ENABLES_RTN_10 = 0x0128, 00363 GLOBAL_CONFIG__SPAD_ENABLES_RTN_11 = 0x0129, 00364 GLOBAL_CONFIG__SPAD_ENABLES_RTN_12 = 0x012A, 00365 GLOBAL_CONFIG__SPAD_ENABLES_RTN_13 = 0x012B, 00366 GLOBAL_CONFIG__SPAD_ENABLES_RTN_14 = 0x012C, 00367 GLOBAL_CONFIG__SPAD_ENABLES_RTN_15 = 0x012D, 00368 GLOBAL_CONFIG__SPAD_ENABLES_RTN_16 = 0x012E, 00369 GLOBAL_CONFIG__SPAD_ENABLES_RTN_17 = 0x012F, 00370 GLOBAL_CONFIG__SPAD_ENABLES_RTN_18 = 0x0130, 00371 GLOBAL_CONFIG__SPAD_ENABLES_RTN_19 = 0x0131, 00372 GLOBAL_CONFIG__SPAD_ENABLES_RTN_20 = 0x0132, 00373 GLOBAL_CONFIG__SPAD_ENABLES_RTN_21 = 0x0133, 00374 GLOBAL_CONFIG__SPAD_ENABLES_RTN_22 = 0x0134, 00375 GLOBAL_CONFIG__SPAD_ENABLES_RTN_23 = 0x0135, 00376 GLOBAL_CONFIG__SPAD_ENABLES_RTN_24 = 0x0136, 00377 GLOBAL_CONFIG__SPAD_ENABLES_RTN_25 = 0x0137, 00378 GLOBAL_CONFIG__SPAD_ENABLES_RTN_26 = 0x0138, 00379 GLOBAL_CONFIG__SPAD_ENABLES_RTN_27 = 0x0139, 00380 GLOBAL_CONFIG__SPAD_ENABLES_RTN_28 = 0x013A, 00381 GLOBAL_CONFIG__SPAD_ENABLES_RTN_29 = 0x013B, 00382 GLOBAL_CONFIG__SPAD_ENABLES_RTN_30 = 0x013C, 00383 GLOBAL_CONFIG__SPAD_ENABLES_RTN_31 = 0x013D, 00384 ROI_CONFIG__MODE_ROI_CENTRE_SPAD = 0x013E, 00385 ROI_CONFIG__MODE_ROI_XY_SIZE = 0x013F, 00386 GO2_HOST_BANK_ACCESS__OVERRIDE = 0x0300, 00387 MCU_UTIL_MULTIPLIER__MULTIPLICAND = 0x0400, 00388 MCU_UTIL_MULTIPLIER__MULTIPLICAND_3 = 0x0400, 00389 MCU_UTIL_MULTIPLIER__MULTIPLICAND_2 = 0x0401, 00390 MCU_UTIL_MULTIPLIER__MULTIPLICAND_1 = 0x0402, 00391 MCU_UTIL_MULTIPLIER__MULTIPLICAND_0 = 0x0403, 00392 MCU_UTIL_MULTIPLIER__MULTIPLIER = 0x0404, 00393 MCU_UTIL_MULTIPLIER__MULTIPLIER_3 = 0x0404, 00394 MCU_UTIL_MULTIPLIER__MULTIPLIER_2 = 0x0405, 00395 MCU_UTIL_MULTIPLIER__MULTIPLIER_1 = 0x0406, 00396 MCU_UTIL_MULTIPLIER__MULTIPLIER_0 = 0x0407, 00397 MCU_UTIL_MULTIPLIER__PRODUCT_HI = 0x0408, 00398 MCU_UTIL_MULTIPLIER__PRODUCT_HI_3 = 0x0408, 00399 MCU_UTIL_MULTIPLIER__PRODUCT_HI_2 = 0x0409, 00400 MCU_UTIL_MULTIPLIER__PRODUCT_HI_1 = 0x040A, 00401 MCU_UTIL_MULTIPLIER__PRODUCT_HI_0 = 0x040B, 00402 MCU_UTIL_MULTIPLIER__PRODUCT_LO = 0x040C, 00403 MCU_UTIL_MULTIPLIER__PRODUCT_LO_3 = 0x040C, 00404 MCU_UTIL_MULTIPLIER__PRODUCT_LO_2 = 0x040D, 00405 MCU_UTIL_MULTIPLIER__PRODUCT_LO_1 = 0x040E, 00406 MCU_UTIL_MULTIPLIER__PRODUCT_LO_0 = 0x040F, 00407 MCU_UTIL_MULTIPLIER__START = 0x0410, 00408 MCU_UTIL_MULTIPLIER__STATUS = 0x0411, 00409 MCU_UTIL_DIVIDER__START = 0x0412, 00410 MCU_UTIL_DIVIDER__STATUS = 0x0413, 00411 MCU_UTIL_DIVIDER__DIVIDEND = 0x0414, 00412 MCU_UTIL_DIVIDER__DIVIDEND_3 = 0x0414, 00413 MCU_UTIL_DIVIDER__DIVIDEND_2 = 0x0415, 00414 MCU_UTIL_DIVIDER__DIVIDEND_1 = 0x0416, 00415 MCU_UTIL_DIVIDER__DIVIDEND_0 = 0x0417, 00416 MCU_UTIL_DIVIDER__DIVISOR = 0x0418, 00417 MCU_UTIL_DIVIDER__DIVISOR_3 = 0x0418, 00418 MCU_UTIL_DIVIDER__DIVISOR_2 = 0x0419, 00419 MCU_UTIL_DIVIDER__DIVISOR_1 = 0x041A, 00420 MCU_UTIL_DIVIDER__DIVISOR_0 = 0x041B, 00421 MCU_UTIL_DIVIDER__QUOTIENT = 0x041C, 00422 MCU_UTIL_DIVIDER__QUOTIENT_3 = 0x041C, 00423 MCU_UTIL_DIVIDER__QUOTIENT_2 = 0x041D, 00424 MCU_UTIL_DIVIDER__QUOTIENT_1 = 0x041E, 00425 MCU_UTIL_DIVIDER__QUOTIENT_0 = 0x041F, 00426 TIMER0__VALUE_IN = 0x0420, 00427 TIMER0__VALUE_IN_3 = 0x0420, 00428 TIMER0__VALUE_IN_2 = 0x0421, 00429 TIMER0__VALUE_IN_1 = 0x0422, 00430 TIMER0__VALUE_IN_0 = 0x0423, 00431 TIMER1__VALUE_IN = 0x0424, 00432 TIMER1__VALUE_IN_3 = 0x0424, 00433 TIMER1__VALUE_IN_2 = 0x0425, 00434 TIMER1__VALUE_IN_1 = 0x0426, 00435 TIMER1__VALUE_IN_0 = 0x0427, 00436 TIMER0__CTRL = 0x0428, 00437 TIMER1__CTRL = 0x0429, 00438 MCU_GENERAL_PURPOSE__GP_0 = 0x042C, 00439 MCU_GENERAL_PURPOSE__GP_1 = 0x042D, 00440 MCU_GENERAL_PURPOSE__GP_2 = 0x042E, 00441 MCU_GENERAL_PURPOSE__GP_3 = 0x042F, 00442 MCU_RANGE_CALC__CONFIG = 0x0430, 00443 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE = 0x0432, 00444 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE_HI = 0x0432, 00445 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE_LO = 0x0433, 00446 MCU_RANGE_CALC__SPARE_4 = 0x0434, 00447 MCU_RANGE_CALC__SPARE_4_3 = 0x0434, 00448 MCU_RANGE_CALC__SPARE_4_2 = 0x0435, 00449 MCU_RANGE_CALC__SPARE_4_1 = 0x0436, 00450 MCU_RANGE_CALC__SPARE_4_0 = 0x0437, 00451 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC = 0x0438, 00452 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC_HI = 0x0438, 00453 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC_LO = 0x0439, 00454 MCU_RANGE_CALC__ALGO_VCSEL_PERIOD = 0x043C, 00455 MCU_RANGE_CALC__SPARE_5 = 0x043D, 00456 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS = 0x043E, 00457 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS_HI = 0x043E, 00458 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS_LO = 0x043F, 00459 MCU_RANGE_CALC__ALGO_ACCUM_PHASE = 0x0440, 00460 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_3 = 0x0440, 00461 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_2 = 0x0441, 00462 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_1 = 0x0442, 00463 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_0 = 0x0443, 00464 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS = 0x0444, 00465 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_3 = 0x0444, 00466 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_2 = 0x0445, 00467 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_1 = 0x0446, 00468 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_0 = 0x0447, 00469 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS = 0x0448, 00470 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_3 = 0x0448, 00471 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_2 = 0x0449, 00472 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_1 = 0x044A, 00473 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_0 = 0x044B, 00474 MCU_RANGE_CALC__SPARE_6 = 0x044C, 00475 MCU_RANGE_CALC__SPARE_6_HI = 0x044C, 00476 MCU_RANGE_CALC__SPARE_6_LO = 0x044D, 00477 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD = 0x044E, 00478 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD_HI = 0x044E, 00479 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD_LO = 0x044F, 00480 MCU_RANGE_CALC__NUM_SPADS = 0x0450, 00481 MCU_RANGE_CALC__NUM_SPADS_HI = 0x0450, 00482 MCU_RANGE_CALC__NUM_SPADS_LO = 0x0451, 00483 MCU_RANGE_CALC__PHASE_OUTPUT = 0x0452, 00484 MCU_RANGE_CALC__PHASE_OUTPUT_HI = 0x0452, 00485 MCU_RANGE_CALC__PHASE_OUTPUT_LO = 0x0453, 00486 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS = 0x0454, 00487 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_3 = 0x0454, 00488 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_2 = 0x0455, 00489 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_1 = 0x0456, 00490 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_0 = 0x0457, 00491 MCU_RANGE_CALC__SPARE_7 = 0x0458, 00492 MCU_RANGE_CALC__SPARE_8 = 0x0459, 00493 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS = 0x045A, 00494 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS_HI = 0x045A, 00495 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS_LO = 0x045B, 00496 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS = 0x045C, 00497 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS_HI = 0x045C, 00498 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS_LO = 0x045D, 00499 MCU_RANGE_CALC__AMBIENT_RATE_MCPS = 0x045E, 00500 MCU_RANGE_CALC__AMBIENT_RATE_MCPS_HI = 0x045E, 00501 MCU_RANGE_CALC__AMBIENT_RATE_MCPS_LO = 0x045F, 00502 MCU_RANGE_CALC__XTALK = 0x0460, 00503 MCU_RANGE_CALC__XTALK_HI = 0x0460, 00504 MCU_RANGE_CALC__XTALK_LO = 0x0461, 00505 MCU_RANGE_CALC__CALC_STATUS = 0x0462, 00506 MCU_RANGE_CALC__DEBUG = 0x0463, 00507 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS = 0x0464, 00508 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_HI = 0x0464, 00509 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_LO = 0x0465, 00510 MCU_RANGE_CALC__SPARE_0 = 0x0468, 00511 MCU_RANGE_CALC__SPARE_1 = 0x0469, 00512 MCU_RANGE_CALC__SPARE_2 = 0x046A, 00513 MCU_RANGE_CALC__SPARE_3 = 0x046B, 00514 PATCH__CTRL = 0x0470, 00515 PATCH__JMP_ENABLES = 0x0472, 00516 PATCH__JMP_ENABLES_HI = 0x0472, 00517 PATCH__JMP_ENABLES_LO = 0x0473, 00518 PATCH__DATA_ENABLES = 0x0474, 00519 PATCH__DATA_ENABLES_HI = 0x0474, 00520 PATCH__DATA_ENABLES_LO = 0x0475, 00521 PATCH__OFFSET_0 = 0x0476, 00522 PATCH__OFFSET_0_HI = 0x0476, 00523 PATCH__OFFSET_0_LO = 0x0477, 00524 PATCH__OFFSET_1 = 0x0478, 00525 PATCH__OFFSET_1_HI = 0x0478, 00526 PATCH__OFFSET_1_LO = 0x0479, 00527 PATCH__OFFSET_2 = 0x047A, 00528 PATCH__OFFSET_2_HI = 0x047A, 00529 PATCH__OFFSET_2_LO = 0x047B, 00530 PATCH__OFFSET_3 = 0x047C, 00531 PATCH__OFFSET_3_HI = 0x047C, 00532 PATCH__OFFSET_3_LO = 0x047D, 00533 PATCH__OFFSET_4 = 0x047E, 00534 PATCH__OFFSET_4_HI = 0x047E, 00535 PATCH__OFFSET_4_LO = 0x047F, 00536 PATCH__OFFSET_5 = 0x0480, 00537 PATCH__OFFSET_5_HI = 0x0480, 00538 PATCH__OFFSET_5_LO = 0x0481, 00539 PATCH__OFFSET_6 = 0x0482, 00540 PATCH__OFFSET_6_HI = 0x0482, 00541 PATCH__OFFSET_6_LO = 0x0483, 00542 PATCH__OFFSET_7 = 0x0484, 00543 PATCH__OFFSET_7_HI = 0x0484, 00544 PATCH__OFFSET_7_LO = 0x0485, 00545 PATCH__OFFSET_8 = 0x0486, 00546 PATCH__OFFSET_8_HI = 0x0486, 00547 PATCH__OFFSET_8_LO = 0x0487, 00548 PATCH__OFFSET_9 = 0x0488, 00549 PATCH__OFFSET_9_HI = 0x0488, 00550 PATCH__OFFSET_9_LO = 0x0489, 00551 PATCH__OFFSET_10 = 0x048A, 00552 PATCH__OFFSET_10_HI = 0x048A, 00553 PATCH__OFFSET_10_LO = 0x048B, 00554 PATCH__OFFSET_11 = 0x048C, 00555 PATCH__OFFSET_11_HI = 0x048C, 00556 PATCH__OFFSET_11_LO = 0x048D, 00557 PATCH__OFFSET_12 = 0x048E, 00558 PATCH__OFFSET_12_HI = 0x048E, 00559 PATCH__OFFSET_12_LO = 0x048F, 00560 PATCH__OFFSET_13 = 0x0490, 00561 PATCH__OFFSET_13_HI = 0x0490, 00562 PATCH__OFFSET_13_LO = 0x0491, 00563 PATCH__OFFSET_14 = 0x0492, 00564 PATCH__OFFSET_14_HI = 0x0492, 00565 PATCH__OFFSET_14_LO = 0x0493, 00566 PATCH__OFFSET_15 = 0x0494, 00567 PATCH__OFFSET_15_HI = 0x0494, 00568 PATCH__OFFSET_15_LO = 0x0495, 00569 PATCH__ADDRESS_0 = 0x0496, 00570 PATCH__ADDRESS_0_HI = 0x0496, 00571 PATCH__ADDRESS_0_LO = 0x0497, 00572 PATCH__ADDRESS_1 = 0x0498, 00573 PATCH__ADDRESS_1_HI = 0x0498, 00574 PATCH__ADDRESS_1_LO = 0x0499, 00575 PATCH__ADDRESS_2 = 0x049A, 00576 PATCH__ADDRESS_2_HI = 0x049A, 00577 PATCH__ADDRESS_2_LO = 0x049B, 00578 PATCH__ADDRESS_3 = 0x049C, 00579 PATCH__ADDRESS_3_HI = 0x049C, 00580 PATCH__ADDRESS_3_LO = 0x049D, 00581 PATCH__ADDRESS_4 = 0x049E, 00582 PATCH__ADDRESS_4_HI = 0x049E, 00583 PATCH__ADDRESS_4_LO = 0x049F, 00584 PATCH__ADDRESS_5 = 0x04A0, 00585 PATCH__ADDRESS_5_HI = 0x04A0, 00586 PATCH__ADDRESS_5_LO = 0x04A1, 00587 PATCH__ADDRESS_6 = 0x04A2, 00588 PATCH__ADDRESS_6_HI = 0x04A2, 00589 PATCH__ADDRESS_6_LO = 0x04A3, 00590 PATCH__ADDRESS_7 = 0x04A4, 00591 PATCH__ADDRESS_7_HI = 0x04A4, 00592 PATCH__ADDRESS_7_LO = 0x04A5, 00593 PATCH__ADDRESS_8 = 0x04A6, 00594 PATCH__ADDRESS_8_HI = 0x04A6, 00595 PATCH__ADDRESS_8_LO = 0x04A7, 00596 PATCH__ADDRESS_9 = 0x04A8, 00597 PATCH__ADDRESS_9_HI = 0x04A8, 00598 PATCH__ADDRESS_9_LO = 0x04A9, 00599 PATCH__ADDRESS_10 = 0x04AA, 00600 PATCH__ADDRESS_10_HI = 0x04AA, 00601 PATCH__ADDRESS_10_LO = 0x04AB, 00602 PATCH__ADDRESS_11 = 0x04AC, 00603 PATCH__ADDRESS_11_HI = 0x04AC, 00604 PATCH__ADDRESS_11_LO = 0x04AD, 00605 PATCH__ADDRESS_12 = 0x04AE, 00606 PATCH__ADDRESS_12_HI = 0x04AE, 00607 PATCH__ADDRESS_12_LO = 0x04AF, 00608 PATCH__ADDRESS_13 = 0x04B0, 00609 PATCH__ADDRESS_13_HI = 0x04B0, 00610 PATCH__ADDRESS_13_LO = 0x04B1, 00611 PATCH__ADDRESS_14 = 0x04B2, 00612 PATCH__ADDRESS_14_HI = 0x04B2, 00613 PATCH__ADDRESS_14_LO = 0x04B3, 00614 PATCH__ADDRESS_15 = 0x04B4, 00615 PATCH__ADDRESS_15_HI = 0x04B4, 00616 PATCH__ADDRESS_15_LO = 0x04B5, 00617 SPI_ASYNC_MUX__CTRL = 0x04C0, 00618 CLK__CONFIG = 0x04C4, 00619 GPIO_LV_MUX__CTRL = 0x04CC, 00620 GPIO_LV_PAD__CTRL = 0x04CD, 00621 PAD_I2C_LV__CONFIG = 0x04D0, 00622 PAD_STARTUP_MODE__VALUE_RO_GO1 = 0x04D4, 00623 HOST_IF__STATUS_GO1 = 0x04D5, 00624 MCU_CLK_GATING__CTRL = 0x04D8, 00625 TEST__BIST_ROM_CTRL = 0x04E0, 00626 TEST__BIST_ROM_RESULT = 0x04E1, 00627 TEST__BIST_ROM_MCU_SIG = 0x04E2, 00628 TEST__BIST_ROM_MCU_SIG_HI = 0x04E2, 00629 TEST__BIST_ROM_MCU_SIG_LO = 0x04E3, 00630 TEST__BIST_RAM_CTRL = 0x04E4, 00631 TEST__BIST_RAM_RESULT = 0x04E5, 00632 TEST__TMC = 0x04E8, 00633 TEST__PLL_BIST_MIN_THRESHOLD = 0x04F0, 00634 TEST__PLL_BIST_MIN_THRESHOLD_HI = 0x04F0, 00635 TEST__PLL_BIST_MIN_THRESHOLD_LO = 0x04F1, 00636 TEST__PLL_BIST_MAX_THRESHOLD = 0x04F2, 00637 TEST__PLL_BIST_MAX_THRESHOLD_HI = 0x04F2, 00638 TEST__PLL_BIST_MAX_THRESHOLD_LO = 0x04F3, 00639 TEST__PLL_BIST_COUNT_OUT = 0x04F4, 00640 TEST__PLL_BIST_COUNT_OUT_HI = 0x04F4, 00641 TEST__PLL_BIST_COUNT_OUT_LO = 0x04F5, 00642 TEST__PLL_BIST_GONOGO = 0x04F6, 00643 TEST__PLL_BIST_CTRL = 0x04F7, 00644 RANGING_CORE__DEVICE_ID = 0x0680, 00645 RANGING_CORE__REVISION_ID = 0x0681, 00646 RANGING_CORE__CLK_CTRL1 = 0x0683, 00647 RANGING_CORE__CLK_CTRL2 = 0x0684, 00648 RANGING_CORE__WOI_1 = 0x0685, 00649 RANGING_CORE__WOI_REF_1 = 0x0686, 00650 RANGING_CORE__START_RANGING = 0x0687, 00651 RANGING_CORE__LOW_LIMIT_1 = 0x0690, 00652 RANGING_CORE__HIGH_LIMIT_1 = 0x0691, 00653 RANGING_CORE__LOW_LIMIT_REF_1 = 0x0692, 00654 RANGING_CORE__HIGH_LIMIT_REF_1 = 0x0693, 00655 RANGING_CORE__QUANTIFIER_1_MSB = 0x0694, 00656 RANGING_CORE__QUANTIFIER_1_LSB = 0x0695, 00657 RANGING_CORE__QUANTIFIER_REF_1_MSB = 0x0696, 00658 RANGING_CORE__QUANTIFIER_REF_1_LSB = 0x0697, 00659 RANGING_CORE__AMBIENT_OFFSET_1_MSB = 0x0698, 00660 RANGING_CORE__AMBIENT_OFFSET_1_LSB = 0x0699, 00661 RANGING_CORE__AMBIENT_OFFSET_REF_1_MSB = 0x069A, 00662 RANGING_CORE__AMBIENT_OFFSET_REF_1_LSB = 0x069B, 00663 RANGING_CORE__FILTER_STRENGTH_1 = 0x069C, 00664 RANGING_CORE__FILTER_STRENGTH_REF_1 = 0x069D, 00665 RANGING_CORE__SIGNAL_EVENT_LIMIT_1_MSB = 0x069E, 00666 RANGING_CORE__SIGNAL_EVENT_LIMIT_1_LSB = 0x069F, 00667 RANGING_CORE__SIGNAL_EVENT_LIMIT_REF_1_MSB = 0x06A0, 00668 RANGING_CORE__SIGNAL_EVENT_LIMIT_REF_1_LSB = 0x06A1, 00669 RANGING_CORE__TIMEOUT_OVERALL_PERIODS_MSB = 0x06A4, 00670 RANGING_CORE__TIMEOUT_OVERALL_PERIODS_LSB = 0x06A5, 00671 RANGING_CORE__INVERT_HW = 0x06A6, 00672 RANGING_CORE__FORCE_HW = 0x06A7, 00673 RANGING_CORE__STATIC_HW_VALUE = 0x06A8, 00674 RANGING_CORE__FORCE_CONTINUOUS_AMBIENT = 0x06A9, 00675 RANGING_CORE__TEST_PHASE_SELECT_TO_FILTER = 0x06AA, 00676 RANGING_CORE__TEST_PHASE_SELECT_TO_TIMING_GEN = 0x06AB, 00677 RANGING_CORE__INITIAL_PHASE_VALUE_1 = 0x06AC, 00678 RANGING_CORE__INITIAL_PHASE_VALUE_REF_1 = 0x06AD, 00679 RANGING_CORE__FORCE_UP_IN = 0x06AE, 00680 RANGING_CORE__FORCE_DN_IN = 0x06AF, 00681 RANGING_CORE__STATIC_UP_VALUE_1 = 0x06B0, 00682 RANGING_CORE__STATIC_UP_VALUE_REF_1 = 0x06B1, 00683 RANGING_CORE__STATIC_DN_VALUE_1 = 0x06B2, 00684 RANGING_CORE__STATIC_DN_VALUE_REF_1 = 0x06B3, 00685 RANGING_CORE__MONITOR_UP_DN = 0x06B4, 00686 RANGING_CORE__INVERT_UP_DN = 0x06B5, 00687 RANGING_CORE__CPUMP_1 = 0x06B6, 00688 RANGING_CORE__CPUMP_2 = 0x06B7, 00689 RANGING_CORE__CPUMP_3 = 0x06B8, 00690 RANGING_CORE__OSC_1 = 0x06B9, 00691 RANGING_CORE__PLL_1 = 0x06BB, 00692 RANGING_CORE__PLL_2 = 0x06BC, 00693 RANGING_CORE__REFERENCE_1 = 0x06BD, 00694 RANGING_CORE__REFERENCE_3 = 0x06BF, 00695 RANGING_CORE__REFERENCE_4 = 0x06C0, 00696 RANGING_CORE__REFERENCE_5 = 0x06C1, 00697 RANGING_CORE__REGAVDD1V2 = 0x06C3, 00698 RANGING_CORE__CALIB_1 = 0x06C4, 00699 RANGING_CORE__CALIB_2 = 0x06C5, 00700 RANGING_CORE__CALIB_3 = 0x06C6, 00701 RANGING_CORE__TST_MUX_SEL1 = 0x06C9, 00702 RANGING_CORE__TST_MUX_SEL2 = 0x06CA, 00703 RANGING_CORE__TST_MUX = 0x06CB, 00704 RANGING_CORE__GPIO_OUT_TESTMUX = 0x06CC, 00705 RANGING_CORE__CUSTOM_FE = 0x06CD, 00706 RANGING_CORE__CUSTOM_FE_2 = 0x06CE, 00707 RANGING_CORE__SPAD_READOUT = 0x06CF, 00708 RANGING_CORE__SPAD_READOUT_1 = 0x06D0, 00709 RANGING_CORE__SPAD_READOUT_2 = 0x06D1, 00710 RANGING_CORE__SPAD_PS = 0x06D2, 00711 RANGING_CORE__LASER_SAFETY_2 = 0x06D4, 00712 RANGING_CORE__NVM_CTRL__MODE = 0x0780, 00713 RANGING_CORE__NVM_CTRL__PDN = 0x0781, 00714 RANGING_CORE__NVM_CTRL__PROGN = 0x0782, 00715 RANGING_CORE__NVM_CTRL__READN = 0x0783, 00716 RANGING_CORE__NVM_CTRL__PULSE_WIDTH_MSB = 0x0784, 00717 RANGING_CORE__NVM_CTRL__PULSE_WIDTH_LSB = 0x0785, 00718 RANGING_CORE__NVM_CTRL__HV_RISE_MSB = 0x0786, 00719 RANGING_CORE__NVM_CTRL__HV_RISE_LSB = 0x0787, 00720 RANGING_CORE__NVM_CTRL__HV_FALL_MSB = 0x0788, 00721 RANGING_CORE__NVM_CTRL__HV_FALL_LSB = 0x0789, 00722 RANGING_CORE__NVM_CTRL__TST = 0x078A, 00723 RANGING_CORE__NVM_CTRL__TESTREAD = 0x078B, 00724 RANGING_CORE__NVM_CTRL__DATAIN_MMM = 0x078C, 00725 RANGING_CORE__NVM_CTRL__DATAIN_LMM = 0x078D, 00726 RANGING_CORE__NVM_CTRL__DATAIN_LLM = 0x078E, 00727 RANGING_CORE__NVM_CTRL__DATAIN_LLL = 0x078F, 00728 RANGING_CORE__NVM_CTRL__DATAOUT_MMM = 0x0790, 00729 RANGING_CORE__NVM_CTRL__DATAOUT_LMM = 0x0791, 00730 RANGING_CORE__NVM_CTRL__DATAOUT_LLM = 0x0792, 00731 RANGING_CORE__NVM_CTRL__DATAOUT_LLL = 0x0793, 00732 RANGING_CORE__NVM_CTRL__ADDR = 0x0794, 00733 RANGING_CORE__NVM_CTRL__DATAOUT_ECC = 0x0795, 00734 RANGING_CORE__RET_SPAD_EN_0 = 0x0796, 00735 RANGING_CORE__RET_SPAD_EN_1 = 0x0797, 00736 RANGING_CORE__RET_SPAD_EN_2 = 0x0798, 00737 RANGING_CORE__RET_SPAD_EN_3 = 0x0799, 00738 RANGING_CORE__RET_SPAD_EN_4 = 0x079A, 00739 RANGING_CORE__RET_SPAD_EN_5 = 0x079B, 00740 RANGING_CORE__RET_SPAD_EN_6 = 0x079C, 00741 RANGING_CORE__RET_SPAD_EN_7 = 0x079D, 00742 RANGING_CORE__RET_SPAD_EN_8 = 0x079E, 00743 RANGING_CORE__RET_SPAD_EN_9 = 0x079F, 00744 RANGING_CORE__RET_SPAD_EN_10 = 0x07A0, 00745 RANGING_CORE__RET_SPAD_EN_11 = 0x07A1, 00746 RANGING_CORE__RET_SPAD_EN_12 = 0x07A2, 00747 RANGING_CORE__RET_SPAD_EN_13 = 0x07A3, 00748 RANGING_CORE__RET_SPAD_EN_14 = 0x07A4, 00749 RANGING_CORE__RET_SPAD_EN_15 = 0x07A5, 00750 RANGING_CORE__RET_SPAD_EN_16 = 0x07A6, 00751 RANGING_CORE__RET_SPAD_EN_17 = 0x07A7, 00752 RANGING_CORE__SPAD_SHIFT_EN = 0x07BA, 00753 RANGING_CORE__SPAD_DISABLE_CTRL = 0x07BB, 00754 RANGING_CORE__SPAD_EN_SHIFT_OUT_DEBUG = 0x07BC, 00755 RANGING_CORE__SPI_MODE = 0x07BD, 00756 RANGING_CORE__GPIO_DIR = 0x07BE, 00757 RANGING_CORE__VCSEL_PERIOD = 0x0880, 00758 RANGING_CORE__VCSEL_START = 0x0881, 00759 RANGING_CORE__VCSEL_STOP = 0x0882, 00760 RANGING_CORE__VCSEL_1 = 0x0885, 00761 RANGING_CORE__VCSEL_STATUS = 0x088D, 00762 RANGING_CORE__STATUS = 0x0980, 00763 RANGING_CORE__LASER_CONTINUITY_STATE = 0x0981, 00764 RANGING_CORE__RANGE_1_MMM = 0x0982, 00765 RANGING_CORE__RANGE_1_LMM = 0x0983, 00766 RANGING_CORE__RANGE_1_LLM = 0x0984, 00767 RANGING_CORE__RANGE_1_LLL = 0x0985, 00768 RANGING_CORE__RANGE_REF_1_MMM = 0x0986, 00769 RANGING_CORE__RANGE_REF_1_LMM = 0x0987, 00770 RANGING_CORE__RANGE_REF_1_LLM = 0x0988, 00771 RANGING_CORE__RANGE_REF_1_LLL = 0x0989, 00772 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_MMM = 0x098A, 00773 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LMM = 0x098B, 00774 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LLM = 0x098C, 00775 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LLL = 0x098D, 00776 RANGING_CORE__RANGING_TOTAL_EVENTS_1_MMM = 0x098E, 00777 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LMM = 0x098F, 00778 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LLM = 0x0990, 00779 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LLL = 0x0991, 00780 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_MMM = 0x0992, 00781 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LMM = 0x0993, 00782 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LLM = 0x0994, 00783 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LLL = 0x0995, 00784 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_MM = 0x0996, 00785 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_LM = 0x0997, 00786 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_LL = 0x0998, 00787 RANGING_CORE__AMBIENT_MISMATCH_MM = 0x0999, 00788 RANGING_CORE__AMBIENT_MISMATCH_LM = 0x099A, 00789 RANGING_CORE__AMBIENT_MISMATCH_LL = 0x099B, 00790 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_MMM = 0x099C, 00791 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LMM = 0x099D, 00792 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LLM = 0x099E, 00793 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LLL = 0x099F, 00794 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_MMM = 0x09A0, 00795 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LMM = 0x09A1, 00796 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LLM = 0x09A2, 00797 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LLL = 0x09A3, 00798 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_MMM = 0x09A4, 00799 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LMM = 0x09A5, 00800 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LLM = 0x09A6, 00801 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LLL = 0x09A7, 00802 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_MM = 0x09A8, 00803 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_LM = 0x09A9, 00804 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_LL = 0x09AA, 00805 RANGING_CORE__AMBIENT_MISMATCH_REF_MM = 0x09AB, 00806 RANGING_CORE__AMBIENT_MISMATCH_REF_LM = 0x09AC, 00807 RANGING_CORE__AMBIENT_MISMATCH_REF_LL = 0x09AD, 00808 RANGING_CORE__GPIO_CONFIG__A0 = 0x0A00, 00809 RANGING_CORE__RESET_CONTROL__A0 = 0x0A01, 00810 RANGING_CORE__INTR_MANAGER__A0 = 0x0A02, 00811 RANGING_CORE__POWER_FSM_TIME_OSC__A0 = 0x0A06, 00812 RANGING_CORE__VCSEL_ATEST__A0 = 0x0A07, 00813 RANGING_CORE__VCSEL_PERIOD_CLIPPED__A0 = 0x0A08, 00814 RANGING_CORE__VCSEL_STOP_CLIPPED__A0 = 0x0A09, 00815 RANGING_CORE__CALIB_2__A0 = 0x0A0A, 00816 RANGING_CORE__STOP_CONDITION__A0 = 0x0A0B, 00817 RANGING_CORE__STATUS_RESET__A0 = 0x0A0C, 00818 RANGING_CORE__READOUT_CFG__A0 = 0x0A0D, 00819 RANGING_CORE__WINDOW_SETTING__A0 = 0x0A0E, 00820 RANGING_CORE__VCSEL_DELAY__A0 = 0x0A1A, 00821 RANGING_CORE__REFERENCE_2__A0 = 0x0A1B, 00822 RANGING_CORE__REGAVDD1V2__A0 = 0x0A1D, 00823 RANGING_CORE__TST_MUX__A0 = 0x0A1F, 00824 RANGING_CORE__CUSTOM_FE_2__A0 = 0x0A20, 00825 RANGING_CORE__SPAD_READOUT__A0 = 0x0A21, 00826 RANGING_CORE__CPUMP_1__A0 = 0x0A22, 00827 RANGING_CORE__SPARE_REGISTER__A0 = 0x0A23, 00828 RANGING_CORE__VCSEL_CONT_STAGE5_BYPASS__A0 = 0x0A24, 00829 RANGING_CORE__RET_SPAD_EN_18 = 0x0A25, 00830 RANGING_CORE__RET_SPAD_EN_19 = 0x0A26, 00831 RANGING_CORE__RET_SPAD_EN_20 = 0x0A27, 00832 RANGING_CORE__RET_SPAD_EN_21 = 0x0A28, 00833 RANGING_CORE__RET_SPAD_EN_22 = 0x0A29, 00834 RANGING_CORE__RET_SPAD_EN_23 = 0x0A2A, 00835 RANGING_CORE__RET_SPAD_EN_24 = 0x0A2B, 00836 RANGING_CORE__RET_SPAD_EN_25 = 0x0A2C, 00837 RANGING_CORE__RET_SPAD_EN_26 = 0x0A2D, 00838 RANGING_CORE__RET_SPAD_EN_27 = 0x0A2E, 00839 RANGING_CORE__RET_SPAD_EN_28 = 0x0A2F, 00840 RANGING_CORE__RET_SPAD_EN_29 = 0x0A30, 00841 RANGING_CORE__RET_SPAD_EN_30 = 0x0A31, 00842 RANGING_CORE__RET_SPAD_EN_31 = 0x0A32, 00843 RANGING_CORE__REF_SPAD_EN_0__EWOK = 0x0A33, 00844 RANGING_CORE__REF_SPAD_EN_1__EWOK = 0x0A34, 00845 RANGING_CORE__REF_SPAD_EN_2__EWOK = 0x0A35, 00846 RANGING_CORE__REF_SPAD_EN_3__EWOK = 0x0A36, 00847 RANGING_CORE__REF_SPAD_EN_4__EWOK = 0x0A37, 00848 RANGING_CORE__REF_SPAD_EN_5__EWOK = 0x0A38, 00849 RANGING_CORE__REF_EN_START_SELECT = 0x0A39, 00850 RANGING_CORE__REGDVDD1V2_ATEST__EWOK = 0x0A41, 00851 SOFT_RESET_GO1 = 0x0B00, 00852 PRIVATE__PATCH_BASE_ADDR_RSLV = 0x0E00, 00853 PREV_SHADOW_RESULT__INTERRUPT_STATUS = 0x0ED0, 00854 PREV_SHADOW_RESULT__RANGE_STATUS = 0x0ED1, 00855 PREV_SHADOW_RESULT__REPORT_STATUS = 0x0ED2, 00856 PREV_SHADOW_RESULT__STREAM_COUNT = 0x0ED3, 00857 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0ED4, 00858 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0ED4, 00859 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0ED5, 00860 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0ED6, 00861 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0ED6, 00862 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0ED7, 00863 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0ED8, 00864 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0ED8, 00865 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0ED9, 00866 PREV_SHADOW_RESULT__SIGMA_SD0 = 0x0EDA, 00867 PREV_SHADOW_RESULT__SIGMA_SD0_HI = 0x0EDA, 00868 PREV_SHADOW_RESULT__SIGMA_SD0_LO = 0x0EDB, 00869 PREV_SHADOW_RESULT__PHASE_SD0 = 0x0EDC, 00870 PREV_SHADOW_RESULT__PHASE_SD0_HI = 0x0EDC, 00871 PREV_SHADOW_RESULT__PHASE_SD0_LO = 0x0EDD, 00872 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0EDE, 00873 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0EDE, 00874 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0EDF, 00875 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0EE0, 00876 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0EE0, 00877 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0EE1, 00878 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0EE2, 00879 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0EE2, 00880 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0EE3, 00881 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0EE4, 00882 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0EE4, 00883 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0EE5, 00884 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0EE6, 00885 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0EE6, 00886 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0EE7, 00887 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x0EE8, 00888 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x0EE8, 00889 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x0EE9, 00890 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x0EEA, 00891 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x0EEA, 00892 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x0EEB, 00893 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x0EEC, 00894 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x0EEC, 00895 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x0EED, 00896 PREV_SHADOW_RESULT__SIGMA_SD1 = 0x0EEE, 00897 PREV_SHADOW_RESULT__SIGMA_SD1_HI = 0x0EEE, 00898 PREV_SHADOW_RESULT__SIGMA_SD1_LO = 0x0EEF, 00899 PREV_SHADOW_RESULT__PHASE_SD1 = 0x0EF0, 00900 PREV_SHADOW_RESULT__PHASE_SD1_HI = 0x0EF0, 00901 PREV_SHADOW_RESULT__PHASE_SD1_LO = 0x0EF1, 00902 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x0EF2, 00903 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x0EF2, 00904 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x0EF3, 00905 PREV_SHADOW_RESULT__SPARE_0_SD1 = 0x0EF4, 00906 PREV_SHADOW_RESULT__SPARE_0_SD1_HI = 0x0EF4, 00907 PREV_SHADOW_RESULT__SPARE_0_SD1_LO = 0x0EF5, 00908 PREV_SHADOW_RESULT__SPARE_1_SD1 = 0x0EF6, 00909 PREV_SHADOW_RESULT__SPARE_1_SD1_HI = 0x0EF6, 00910 PREV_SHADOW_RESULT__SPARE_1_SD1_LO = 0x0EF7, 00911 PREV_SHADOW_RESULT__SPARE_2_SD1 = 0x0EF8, 00912 PREV_SHADOW_RESULT__SPARE_2_SD1_HI = 0x0EF8, 00913 PREV_SHADOW_RESULT__SPARE_2_SD1_LO = 0x0EF9, 00914 PREV_SHADOW_RESULT__SPARE_3_SD1 = 0x0EFA, 00915 PREV_SHADOW_RESULT__SPARE_3_SD1_HI = 0x0EFA, 00916 PREV_SHADOW_RESULT__SPARE_3_SD1_LO = 0x0EFB, 00917 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x0EFC, 00918 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x0EFC, 00919 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x0EFD, 00920 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x0EFE, 00921 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x0EFF, 00922 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x0F00, 00923 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x0F00, 00924 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x0F01, 00925 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x0F02, 00926 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x0F03, 00927 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x0F04, 00928 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x0F04, 00929 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x0F05, 00930 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x0F06, 00931 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x0F07, 00932 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x0F08, 00933 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x0F08, 00934 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x0F09, 00935 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x0F0A, 00936 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x0F0B, 00937 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x0F0C, 00938 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x0F0C, 00939 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x0F0D, 00940 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x0F0E, 00941 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x0F0F, 00942 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x0F10, 00943 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x0F10, 00944 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x0F11, 00945 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x0F12, 00946 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x0F13, 00947 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x0F14, 00948 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x0F14, 00949 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x0F15, 00950 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x0F16, 00951 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x0F17, 00952 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x0F18, 00953 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x0F18, 00954 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x0F19, 00955 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x0F1A, 00956 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x0F1B, 00957 PREV_SHADOW_RESULT_CORE__SPARE_0 = 0x0F1C, 00958 RESULT__DEBUG_STATUS = 0x0F20, 00959 RESULT__DEBUG_STAGE = 0x0F21, 00960 GPH__SYSTEM__THRESH_RATE_HIGH = 0x0F24, 00961 GPH__SYSTEM__THRESH_RATE_HIGH_HI = 0x0F24, 00962 GPH__SYSTEM__THRESH_RATE_HIGH_LO = 0x0F25, 00963 GPH__SYSTEM__THRESH_RATE_LOW = 0x0F26, 00964 GPH__SYSTEM__THRESH_RATE_LOW_HI = 0x0F26, 00965 GPH__SYSTEM__THRESH_RATE_LOW_LO = 0x0F27, 00966 GPH__SYSTEM__INTERRUPT_CONFIG_GPIO = 0x0F28, 00967 GPH__DSS_CONFIG__ROI_MODE_CONTROL = 0x0F2F, 00968 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT = 0x0F30, 00969 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_HI = 0x0F30, 00970 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_LO = 0x0F31, 00971 GPH__DSS_CONFIG__MANUAL_BLOCK_SELECT = 0x0F32, 00972 GPH__DSS_CONFIG__MAX_SPADS_LIMIT = 0x0F33, 00973 GPH__DSS_CONFIG__MIN_SPADS_LIMIT = 0x0F34, 00974 GPH__MM_CONFIG__TIMEOUT_MACROP_A_HI = 0x0F36, 00975 GPH__MM_CONFIG__TIMEOUT_MACROP_A_LO = 0x0F37, 00976 GPH__MM_CONFIG__TIMEOUT_MACROP_B_HI = 0x0F38, 00977 GPH__MM_CONFIG__TIMEOUT_MACROP_B_LO = 0x0F39, 00978 GPH__RANGE_CONFIG__TIMEOUT_MACROP_A_HI = 0x0F3A, 00979 GPH__RANGE_CONFIG__TIMEOUT_MACROP_A_LO = 0x0F3B, 00980 GPH__RANGE_CONFIG__VCSEL_PERIOD_A = 0x0F3C, 00981 GPH__RANGE_CONFIG__VCSEL_PERIOD_B = 0x0F3D, 00982 GPH__RANGE_CONFIG__TIMEOUT_MACROP_B_HI = 0x0F3E, 00983 GPH__RANGE_CONFIG__TIMEOUT_MACROP_B_LO = 0x0F3F, 00984 GPH__RANGE_CONFIG__SIGMA_THRESH = 0x0F40, 00985 GPH__RANGE_CONFIG__SIGMA_THRESH_HI = 0x0F40, 00986 GPH__RANGE_CONFIG__SIGMA_THRESH_LO = 0x0F41, 00987 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS = 0x0F42, 00988 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI = 0x0F42, 00989 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO = 0x0F43, 00990 GPH__RANGE_CONFIG__VALID_PHASE_LOW = 0x0F44, 00991 GPH__RANGE_CONFIG__VALID_PHASE_HIGH = 0x0F45, 00992 FIRMWARE__INTERNAL_STREAM_COUNT_DIV = 0x0F46, 00993 FIRMWARE__INTERNAL_STREAM_COUNTER_VAL = 0x0F47, 00994 DSS_CALC__ROI_CTRL = 0x0F54, 00995 DSS_CALC__SPARE_1 = 0x0F55, 00996 DSS_CALC__SPARE_2 = 0x0F56, 00997 DSS_CALC__SPARE_3 = 0x0F57, 00998 DSS_CALC__SPARE_4 = 0x0F58, 00999 DSS_CALC__SPARE_5 = 0x0F59, 01000 DSS_CALC__SPARE_6 = 0x0F5A, 01001 DSS_CALC__SPARE_7 = 0x0F5B, 01002 DSS_CALC__USER_ROI_SPAD_EN_0 = 0x0F5C, 01003 DSS_CALC__USER_ROI_SPAD_EN_1 = 0x0F5D, 01004 DSS_CALC__USER_ROI_SPAD_EN_2 = 0x0F5E, 01005 DSS_CALC__USER_ROI_SPAD_EN_3 = 0x0F5F, 01006 DSS_CALC__USER_ROI_SPAD_EN_4 = 0x0F60, 01007 DSS_CALC__USER_ROI_SPAD_EN_5 = 0x0F61, 01008 DSS_CALC__USER_ROI_SPAD_EN_6 = 0x0F62, 01009 DSS_CALC__USER_ROI_SPAD_EN_7 = 0x0F63, 01010 DSS_CALC__USER_ROI_SPAD_EN_8 = 0x0F64, 01011 DSS_CALC__USER_ROI_SPAD_EN_9 = 0x0F65, 01012 DSS_CALC__USER_ROI_SPAD_EN_10 = 0x0F66, 01013 DSS_CALC__USER_ROI_SPAD_EN_11 = 0x0F67, 01014 DSS_CALC__USER_ROI_SPAD_EN_12 = 0x0F68, 01015 DSS_CALC__USER_ROI_SPAD_EN_13 = 0x0F69, 01016 DSS_CALC__USER_ROI_SPAD_EN_14 = 0x0F6A, 01017 DSS_CALC__USER_ROI_SPAD_EN_15 = 0x0F6B, 01018 DSS_CALC__USER_ROI_SPAD_EN_16 = 0x0F6C, 01019 DSS_CALC__USER_ROI_SPAD_EN_17 = 0x0F6D, 01020 DSS_CALC__USER_ROI_SPAD_EN_18 = 0x0F6E, 01021 DSS_CALC__USER_ROI_SPAD_EN_19 = 0x0F6F, 01022 DSS_CALC__USER_ROI_SPAD_EN_20 = 0x0F70, 01023 DSS_CALC__USER_ROI_SPAD_EN_21 = 0x0F71, 01024 DSS_CALC__USER_ROI_SPAD_EN_22 = 0x0F72, 01025 DSS_CALC__USER_ROI_SPAD_EN_23 = 0x0F73, 01026 DSS_CALC__USER_ROI_SPAD_EN_24 = 0x0F74, 01027 DSS_CALC__USER_ROI_SPAD_EN_25 = 0x0F75, 01028 DSS_CALC__USER_ROI_SPAD_EN_26 = 0x0F76, 01029 DSS_CALC__USER_ROI_SPAD_EN_27 = 0x0F77, 01030 DSS_CALC__USER_ROI_SPAD_EN_28 = 0x0F78, 01031 DSS_CALC__USER_ROI_SPAD_EN_29 = 0x0F79, 01032 DSS_CALC__USER_ROI_SPAD_EN_30 = 0x0F7A, 01033 DSS_CALC__USER_ROI_SPAD_EN_31 = 0x0F7B, 01034 DSS_CALC__USER_ROI_0 = 0x0F7C, 01035 DSS_CALC__USER_ROI_1 = 0x0F7D, 01036 DSS_CALC__MODE_ROI_0 = 0x0F7E, 01037 DSS_CALC__MODE_ROI_1 = 0x0F7F, 01038 SIGMA_ESTIMATOR_CALC__SPARE_0 = 0x0F80, 01039 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS = 0x0F82, 01040 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS_HI = 0x0F82, 01041 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS_LO = 0x0F83, 01042 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF = 0x0F84, 01043 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_3 = 0x0F84, 01044 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_2 = 0x0F85, 01045 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_1 = 0x0F86, 01046 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_0 = 0x0F87, 01047 PHASECAL_RESULT__PHASE_OUTPUT_REF = 0x0F88, 01048 PHASECAL_RESULT__PHASE_OUTPUT_REF_HI = 0x0F88, 01049 PHASECAL_RESULT__PHASE_OUTPUT_REF_LO = 0x0F89, 01050 DSS_RESULT__TOTAL_RATE_PER_SPAD = 0x0F8A, 01051 DSS_RESULT__TOTAL_RATE_PER_SPAD_HI = 0x0F8A, 01052 DSS_RESULT__TOTAL_RATE_PER_SPAD_LO = 0x0F8B, 01053 DSS_RESULT__ENABLED_BLOCKS = 0x0F8C, 01054 DSS_RESULT__NUM_REQUESTED_SPADS = 0x0F8E, 01055 DSS_RESULT__NUM_REQUESTED_SPADS_HI = 0x0F8E, 01056 DSS_RESULT__NUM_REQUESTED_SPADS_LO = 0x0F8F, 01057 MM_RESULT__INNER_INTERSECTION_RATE = 0x0F92, 01058 MM_RESULT__INNER_INTERSECTION_RATE_HI = 0x0F92, 01059 MM_RESULT__INNER_INTERSECTION_RATE_LO = 0x0F93, 01060 MM_RESULT__OUTER_COMPLEMENT_RATE = 0x0F94, 01061 MM_RESULT__OUTER_COMPLEMENT_RATE_HI = 0x0F94, 01062 MM_RESULT__OUTER_COMPLEMENT_RATE_LO = 0x0F95, 01063 MM_RESULT__TOTAL_OFFSET = 0x0F96, 01064 MM_RESULT__TOTAL_OFFSET_HI = 0x0F96, 01065 MM_RESULT__TOTAL_OFFSET_LO = 0x0F97, 01066 XTALK_CALC__XTALK_FOR_ENABLED_SPADS = 0x0F98, 01067 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_3 = 0x0F98, 01068 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_2 = 0x0F99, 01069 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_1 = 0x0F9A, 01070 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_0 = 0x0F9B, 01071 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS = 0x0F9C, 01072 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_3 = 0x0F9C, 01073 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_2 = 0x0F9D, 01074 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_1 = 0x0F9E, 01075 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_0 = 0x0F9F, 01076 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS = 0x0FA0, 01077 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_3 = 0x0FA0, 01078 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_2 = 0x0FA1, 01079 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_1 = 0x0FA2, 01080 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_0 = 0x0FA3, 01081 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS = 0x0FA4, 01082 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_3 = 0x0FA4, 01083 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_2 = 0x0FA5, 01084 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_1 = 0x0FA6, 01085 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_0 = 0x0FA7, 01086 RANGE_RESULT__ACCUM_PHASE = 0x0FA8, 01087 RANGE_RESULT__ACCUM_PHASE_3 = 0x0FA8, 01088 RANGE_RESULT__ACCUM_PHASE_2 = 0x0FA9, 01089 RANGE_RESULT__ACCUM_PHASE_1 = 0x0FAA, 01090 RANGE_RESULT__ACCUM_PHASE_0 = 0x0FAB, 01091 RANGE_RESULT__OFFSET_CORRECTED_RANGE = 0x0FAC, 01092 RANGE_RESULT__OFFSET_CORRECTED_RANGE_HI = 0x0FAC, 01093 RANGE_RESULT__OFFSET_CORRECTED_RANGE_LO = 0x0FAD, 01094 SHADOW_PHASECAL_RESULT__VCSEL_START = 0x0FAE, 01095 SHADOW_RESULT__INTERRUPT_STATUS = 0x0FB0, 01096 SHADOW_RESULT__RANGE_STATUS = 0x0FB1, 01097 SHADOW_RESULT__REPORT_STATUS = 0x0FB2, 01098 SHADOW_RESULT__STREAM_COUNT = 0x0FB3, 01099 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FB4, 01100 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FB4, 01101 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FB5, 01102 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0FB6, 01103 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0FB6, 01104 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0FB7, 01105 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0FB8, 01106 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0FB8, 01107 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0FB9, 01108 SHADOW_RESULT__SIGMA_SD0 = 0x0FBA, 01109 SHADOW_RESULT__SIGMA_SD0_HI = 0x0FBA, 01110 SHADOW_RESULT__SIGMA_SD0_LO = 0x0FBB, 01111 SHADOW_RESULT__PHASE_SD0 = 0x0FBC, 01112 SHADOW_RESULT__PHASE_SD0_HI = 0x0FBC, 01113 SHADOW_RESULT__PHASE_SD0_LO = 0x0FBD, 01114 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0FBE, 01115 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0FBE, 01116 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0FBF, 01117 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0FC0, 01118 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0FC0, 01119 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0FC1, 01120 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FC2, 01121 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FC2, 01122 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FC3, 01123 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FC4, 01124 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FC4, 01125 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FC5, 01126 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0FC6, 01127 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0FC6, 01128 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0FC7, 01129 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x0FC8, 01130 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x0FC8, 01131 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x0FC9, 01132 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x0FCA, 01133 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x0FCA, 01134 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x0FCB, 01135 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x0FCC, 01136 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x0FCC, 01137 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x0FCD, 01138 SHADOW_RESULT__SIGMA_SD1 = 0x0FCE, 01139 SHADOW_RESULT__SIGMA_SD1_HI = 0x0FCE, 01140 SHADOW_RESULT__SIGMA_SD1_LO = 0x0FCF, 01141 SHADOW_RESULT__PHASE_SD1 = 0x0FD0, 01142 SHADOW_RESULT__PHASE_SD1_HI = 0x0FD0, 01143 SHADOW_RESULT__PHASE_SD1_LO = 0x0FD1, 01144 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x0FD2, 01145 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x0FD2, 01146 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x0FD3, 01147 SHADOW_RESULT__SPARE_0_SD1 = 0x0FD4, 01148 SHADOW_RESULT__SPARE_0_SD1_HI = 0x0FD4, 01149 SHADOW_RESULT__SPARE_0_SD1_LO = 0x0FD5, 01150 SHADOW_RESULT__SPARE_1_SD1 = 0x0FD6, 01151 SHADOW_RESULT__SPARE_1_SD1_HI = 0x0FD6, 01152 SHADOW_RESULT__SPARE_1_SD1_LO = 0x0FD7, 01153 SHADOW_RESULT__SPARE_2_SD1 = 0x0FD8, 01154 SHADOW_RESULT__SPARE_2_SD1_HI = 0x0FD8, 01155 SHADOW_RESULT__SPARE_2_SD1_LO = 0x0FD9, 01156 SHADOW_RESULT__SPARE_3_SD1 = 0x0FDA, 01157 SHADOW_RESULT__THRESH_INFO = 0x0FDB, 01158 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x0FDC, 01159 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x0FDC, 01160 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x0FDD, 01161 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x0FDE, 01162 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x0FDF, 01163 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x0FE0, 01164 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x0FE0, 01165 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x0FE1, 01166 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x0FE2, 01167 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x0FE3, 01168 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x0FE4, 01169 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x0FE4, 01170 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x0FE5, 01171 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x0FE6, 01172 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x0FE7, 01173 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x0FE8, 01174 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x0FE8, 01175 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x0FE9, 01176 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x0FEA, 01177 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x0FEB, 01178 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x0FEC, 01179 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x0FEC, 01180 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x0FED, 01181 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x0FEE, 01182 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x0FEF, 01183 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x0FF0, 01184 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x0FF0, 01185 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x0FF1, 01186 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x0FF2, 01187 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x0FF3, 01188 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x0FF4, 01189 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x0FF4, 01190 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x0FF5, 01191 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x0FF6, 01192 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x0FF7, 01193 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x0FF8, 01194 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x0FF8, 01195 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x0FF9, 01196 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x0FFA, 01197 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x0FFB, 01198 SHADOW_RESULT_CORE__SPARE_0 = 0x0FFC, 01199 SHADOW_PHASECAL_RESULT__REFERENCE_PHASE_HI = 0x0FFE, 01200 SHADOW_PHASECAL_RESULT__REFERENCE_PHASE_LO = 0x0FFF, 01201 }; 01202 01203 enum DistanceMode { Short, Medium, Long, Unknown }; 01204 01205 enum RangeStatus : uint8_t 01206 { 01207 RangeValid = 0, 01208 01209 // "sigma estimator check is above the internal defined threshold" 01210 // (sigma = standard deviation of measurement) 01211 SigmaFail = 1, 01212 01213 // "signal value is below the internal defined threshold" 01214 SignalFail = 2, 01215 01216 // "Target is below minimum detection threshold." 01217 RangeValidMinRangeClipped = 3, 01218 01219 // "phase is out of bounds" 01220 // (nothing detected in range; try a longer distance mode if applicable) 01221 OutOfBoundsFail = 4, 01222 01223 // "HW or VCSEL failure" 01224 HardwareFail = 5, 01225 01226 // "The Range is valid but the wraparound check has not been done." 01227 RangeValidNoWrapCheckFail = 6, 01228 01229 // "Wrapped target, not matching phases" 01230 // "no matching phase in other VCSEL period timing." 01231 WrapTargetFail = 7, 01232 01233 // "Internal algo underflow or overflow in lite ranging." 01234 // ProcessingFail = 8: not used in API 01235 01236 // "Specific to lite ranging." 01237 // should never occur with this lib (which uses low power auto ranging, 01238 // as the API does) 01239 XtalkSignalFail = 9, 01240 01241 // "1st interrupt when starting ranging in back to back mode. Ignore 01242 // data." 01243 // should never occur with this lib 01244 SynchronizationInt = 10, // (the API spells this "syncronisation") 01245 01246 // "All Range ok but object is result of multiple pulses merging together. 01247 // Used by RQL for merged pulse detection" 01248 // RangeValid MergedPulse = 11: not used in API 01249 01250 // "Used by RQL as different to phase fail." 01251 // TargetPresentLackOfSignal = 12: 01252 01253 // "Target is below minimum detection threshold." 01254 MinRangeFail = 13, 01255 01256 // "The reported range is invalid" 01257 // RangeInvalid = 14: can't actually be returned by API (range can never become negative, even after correction) 01258 01259 // "No Update." 01260 None = 255, 01261 }; 01262 01263 struct RangingData 01264 { 01265 uint16_t range_mm; 01266 RangeStatus range_status; 01267 float peak_signal_count_rate_MCPS; 01268 float ambient_count_rate_MCPS; 01269 }; 01270 01271 RangingData ranging_data; 01272 01273 uint8_t last_status; // status of last I2C transmission 01274 VL53L1X(); 01275 01276 void setAddress(uint8_t new_addr); 01277 uint8_t getAddress() { return address; } 01278 01279 bool init(bool io_2v8 = true); 01280 01281 void writeReg(uint16_t registerAddr, uint8_t data); 01282 void writeReg16Bit(uint16_t registerAddr, uint16_t data); 01283 void writeReg32Bit(uint16_t registerAddr, uint32_t data); 01284 uint8_t readReg(uint16_t registerAddr); 01285 uint16_t readReg16Bit(uint16_t registerAddr); 01286 uint32_t readReg32Bit(uint16_t registerAddr); 01287 01288 bool setDistanceMode(DistanceMode mode); 01289 DistanceMode getDistanceMode() { return distance_mode; } 01290 01291 bool setMeasurementTimingBudget(uint32_t budget_us); 01292 uint32_t getMeasurementTimingBudget(); 01293 01294 void startContinuous(uint32_t period_ms); 01295 void stopContinuous(); 01296 uint16_t read(bool blocking = true); 01297 uint16_t readRangeContinuousMillimeters(bool blocking = true) { return read(blocking); } // alias of read() 01298 01299 // check if sensor has new reading available 01300 // assumes interrupt is active low (GPIO_HV_MUX__CTRL bit 4 is 1) 01301 bool dataReady() { 01302 int isThereData = readReg(GPIO__TIO_HV_STATUS); 01303 // printf("%x\r\n", isThereData); 01304 return (isThereData & 0x01) == 0; 01305 } 01306 01307 static const char * rangeStatusToString(RangeStatus status); 01308 01309 void setTimeout(uint16_t timeout) { io_timeout = timeout; } 01310 uint16_t getTimeout() { return io_timeout; } 01311 bool timeoutOccurred(); 01312 01313 bool initReading(int addr, int timing_budget); 01314 void turnOff(void); 01315 void resetPin(void); 01316 void turnOn(void); 01317 int readFromOneSensor(void); 01318 01319 01320 01321 private: 01322 I2C _i2c; 01323 DigitalOut _shutDown; 01324 01325 // The Arduino two-wire interface uses a 7-bit number for the address, 01326 // and sets the last bit correctly based on reads and writes 01327 static const uint8_t AddressDefault = 0b0101001; 01328 01329 // value used in measurement timing budget calculations 01330 // assumes PresetMode is LOWPOWER_AUTONOMOUS 01331 // 01332 // vhv = LOWPOWER_AUTO_VHV_LOOP_DURATION_US + LOWPOWERAUTO_VHV_LOOP_BOUND 01333 // (tuning parm default) * LOWPOWER_AUTO_VHV_LOOP_DURATION_US 01334 // = 245 + 3 * 245 = 980 01335 // TimingGuard = LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING + 01336 // LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING + vhv 01337 // = 1448 + 2100 + 980 = 4528 01338 static const uint32_t TimingGuard = 4528; 01339 01340 // value in DSS_CONFIG__TARGET_TOTAL_RATE_MCPS register, used in DSS 01341 // calculations 01342 static const uint16_t TargetRate = 0x0A00; 01343 01344 // for storing values read from RESULT__RANGE_STATUS (0x0089) 01345 // through RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LOW 01346 // (0x0099) 01347 struct ResultBuffer 01348 { 01349 uint8_t range_status; 01350 // uint8_t report_status: not used 01351 uint8_t stream_count; 01352 uint16_t dss_actual_effective_spads_sd0; 01353 // uint16_t peak_signal_count_rate_mcps_sd0: not used 01354 uint16_t ambient_count_rate_mcps_sd0; 01355 // uint16_t sigma_sd0: not used 01356 // uint16_t phase_sd0: not used 01357 uint16_t final_crosstalk_corrected_range_mm_sd0; 01358 uint16_t peak_signal_count_rate_crosstalk_corrected_mcps_sd0; 01359 }; 01360 01361 // making this static would save RAM for multiple instances as long as there 01362 // aren't multiple sensors being read at the same time (e.g. on separate 01363 // I2C buses) 01364 ResultBuffer results; 01365 01366 bool didInitialize; 01367 01368 uint8_t address; 01369 01370 uint16_t io_timeout; 01371 bool did_timeout; 01372 uint16_t timeout_start_ms; 01373 01374 uint16_t fast_osc_frequency; 01375 uint16_t osc_calibrate_val; 01376 01377 bool calibrated; 01378 uint8_t saved_vhv_init; 01379 uint8_t saved_vhv_timeout; 01380 01381 DistanceMode distance_mode; 01382 01383 // Record the current time to check an upcoming timeout against 01384 void startTimeout() { timeout_start_ms = t.read()*1000; } 01385 01386 // Check if timeout is enabled (set to nonzero value) and has expired 01387 bool checkTimeoutExpired() {return (io_timeout > 0) && ((uint16_t)(t.read()*1000 - timeout_start_ms) > io_timeout); } 01388 01389 void setupManualCalibration(); 01390 void readResults(); 01391 void updateDSS(); 01392 void getRangingData(); 01393 01394 static uint32_t decodeTimeout(uint16_t reg_val); 01395 static uint16_t encodeTimeout(uint32_t timeout_mclks); 01396 static uint32_t timeoutMclksToMicroseconds(uint32_t timeout_mclks, uint32_t macro_period_us); 01397 static uint32_t timeoutMicrosecondsToMclks(uint32_t timeout_us, uint32_t macro_period_us); 01398 uint32_t calcMacroPeriod(uint8_t vcsel_period); 01399 01400 // Convert count rate from fixed point 9.7 format to float 01401 float countRateFixedToFloat(uint16_t count_rate_fixed) { return (float)count_rate_fixed / (1 << 7); } 01402 }; 01403 #endif
Generated on Sun Jul 17 2022 12:39:02 by
