Median of 3 filter for multiple time of flight sensors translated from arduino by pololu

Dependencies:   mbed

Dependents:   wheelchaircontrol wheelchaircontrol2 wheelchaircontrol3 wheelchaircontrol4 ... more

Committer:
jvfausto
Date:
Wed Jun 03 20:11:31 2020 +0000
Revision:
5:a75d46c735c7
Parent:
3:0d2f2f31469b
Update

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jvfausto 0:617f20c6b21d 1 #ifndef VL53L1X_H
jvfausto 0:617f20c6b21d 2 #define VL53L1X_H
jvfausto 0:617f20c6b21d 3
jvfausto 0:617f20c6b21d 4 #include "mbed.h"
jvfausto 0:617f20c6b21d 5
jvfausto 3:0d2f2f31469b 6 /* EXAMPLE CODE
jvfausto 3:0d2f2f31469b 7
jvfausto 3:0d2f2f31469b 8 #include "mbed.h"
jvfausto 3:0d2f2f31469b 9 #include "VL53L1X.h"
jvfausto 3:0d2f2f31469b 10
jvfausto 3:0d2f2f31469b 11 Serial pc(USBTX,USBRX, 115200);
jvfausto 3:0d2f2f31469b 12
jvfausto 3:0d2f2f31469b 13 VL53L1X sensor1(D4, D5, D6);
jvfausto 3:0d2f2f31469b 14 VL53L1X sensor2(D4, D5, D9);
jvfausto 3:0d2f2f31469b 15 VL53L1X sensor3(D4, D5, D10);
jvfausto 3:0d2f2f31469b 16 VL53L1X sensor4(D4, D5, D11);
jvfausto 3:0d2f2f31469b 17 VL53L1X sensor5(D4, D5, D12);
jvfausto 3:0d2f2f31469b 18 VL53L1X sensor6(D4, D5, D13);
jvfausto 3:0d2f2f31469b 19
jvfausto 3:0d2f2f31469b 20 int main()
jvfausto 3:0d2f2f31469b 21 {
jvfausto 3:0d2f2f31469b 22 sensor1.initReading(0x25,50000);
jvfausto 3:0d2f2f31469b 23 sensor2.initReading(0x27,50000);
jvfausto 3:0d2f2f31469b 24 sensor3.initReading(0x35,50000);
jvfausto 3:0d2f2f31469b 25 sensor4.initReading(0x39,50000);
jvfausto 3:0d2f2f31469b 26 sensor5.initReading(0x41,50000);
jvfausto 3:0d2f2f31469b 27 sensor6.initReading(0x43,50000);
jvfausto 3:0d2f2f31469b 28
jvfausto 3:0d2f2f31469b 29 while(1)
jvfausto 3:0d2f2f31469b 30 {
jvfausto 3:0d2f2f31469b 31 pc.printf("6,");
jvfausto 3:0d2f2f31469b 32 pc.printf("%d,", sensor1.readFromOneSensor());
jvfausto 3:0d2f2f31469b 33 pc.printf("%d,", sensor2.readFromOneSensor());
jvfausto 3:0d2f2f31469b 34 pc.printf("%d,", sensor3.readFromOneSensor());
jvfausto 3:0d2f2f31469b 35 pc.printf("%d,", sensor4.readFromOneSensor());
jvfausto 3:0d2f2f31469b 36 pc.printf("%d,", sensor5.readFromOneSensor());
jvfausto 3:0d2f2f31469b 37 pc.printf("%d", sensor6.readFromOneSensor());
jvfausto 3:0d2f2f31469b 38
jvfausto 3:0d2f2f31469b 39 pc.printf("\r\n");
jvfausto 3:0d2f2f31469b 40 }
jvfausto 3:0d2f2f31469b 41 }
jvfausto 3:0d2f2f31469b 42
jvfausto 3:0d2f2f31469b 43 */
jvfausto 3:0d2f2f31469b 44
jvfausto 3:0d2f2f31469b 45
jvfausto 0:617f20c6b21d 46 class VL53L1X
jvfausto 0:617f20c6b21d 47 {
jvfausto 0:617f20c6b21d 48 public:
jvfausto 0:617f20c6b21d 49 Timer t;
jvfausto 0:617f20c6b21d 50 VL53L1X(PinName SDA, PinName SCL, PinName shutDown);
jvfausto 0:617f20c6b21d 51
jvfausto 0:617f20c6b21d 52 // register addresses from API vl53l1x_register_map.h
jvfausto 0:617f20c6b21d 53 enum regAddr : uint16_t
jvfausto 0:617f20c6b21d 54 {
jvfausto 0:617f20c6b21d 55 SOFT_RESET = 0x0000,
jvfausto 0:617f20c6b21d 56 I2C_SLAVE__DEVICE_ADDRESS = 0x0001,
jvfausto 0:617f20c6b21d 57 ANA_CONFIG__VHV_REF_SEL_VDDPIX = 0x0002,
jvfausto 0:617f20c6b21d 58 ANA_CONFIG__VHV_REF_SEL_VQUENCH = 0x0003,
jvfausto 0:617f20c6b21d 59 ANA_CONFIG__REG_AVDD1V2_SEL = 0x0004,
jvfausto 0:617f20c6b21d 60 ANA_CONFIG__FAST_OSC__TRIM = 0x0005,
jvfausto 0:617f20c6b21d 61 OSC_MEASURED__FAST_OSC__FREQUENCY = 0x0006,
jvfausto 0:617f20c6b21d 62 OSC_MEASURED__FAST_OSC__FREQUENCY_HI = 0x0006,
jvfausto 0:617f20c6b21d 63 OSC_MEASURED__FAST_OSC__FREQUENCY_LO = 0x0007,
jvfausto 0:617f20c6b21d 64 VHV_CONFIG__TIMEOUT_MACROP_LOOP_BOUND = 0x0008,
jvfausto 0:617f20c6b21d 65 VHV_CONFIG__COUNT_THRESH = 0x0009,
jvfausto 0:617f20c6b21d 66 VHV_CONFIG__OFFSET = 0x000A,
jvfausto 0:617f20c6b21d 67 VHV_CONFIG__INIT = 0x000B,
jvfausto 0:617f20c6b21d 68 GLOBAL_CONFIG__SPAD_ENABLES_REF_0 = 0x000D,
jvfausto 0:617f20c6b21d 69 GLOBAL_CONFIG__SPAD_ENABLES_REF_1 = 0x000E,
jvfausto 0:617f20c6b21d 70 GLOBAL_CONFIG__SPAD_ENABLES_REF_2 = 0x000F,
jvfausto 0:617f20c6b21d 71 GLOBAL_CONFIG__SPAD_ENABLES_REF_3 = 0x0010,
jvfausto 0:617f20c6b21d 72 GLOBAL_CONFIG__SPAD_ENABLES_REF_4 = 0x0011,
jvfausto 0:617f20c6b21d 73 GLOBAL_CONFIG__SPAD_ENABLES_REF_5 = 0x0012,
jvfausto 0:617f20c6b21d 74 GLOBAL_CONFIG__REF_EN_START_SELECT = 0x0013,
jvfausto 0:617f20c6b21d 75 REF_SPAD_MAN__NUM_REQUESTED_REF_SPADS = 0x0014,
jvfausto 0:617f20c6b21d 76 REF_SPAD_MAN__REF_LOCATION = 0x0015,
jvfausto 0:617f20c6b21d 77 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS = 0x0016,
jvfausto 0:617f20c6b21d 78 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS_HI = 0x0016,
jvfausto 0:617f20c6b21d 79 ALGO__CROSSTALK_COMPENSATION_PLANE_OFFSET_KCPS_LO = 0x0017,
jvfausto 0:617f20c6b21d 80 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS = 0x0018,
jvfausto 0:617f20c6b21d 81 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS_HI = 0x0018,
jvfausto 0:617f20c6b21d 82 ALGO__CROSSTALK_COMPENSATION_X_PLANE_GRADIENT_KCPS_LO = 0x0019,
jvfausto 0:617f20c6b21d 83 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS = 0x001A,
jvfausto 0:617f20c6b21d 84 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS_HI = 0x001A,
jvfausto 0:617f20c6b21d 85 ALGO__CROSSTALK_COMPENSATION_Y_PLANE_GRADIENT_KCPS_LO = 0x001B,
jvfausto 0:617f20c6b21d 86 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS = 0x001C,
jvfausto 0:617f20c6b21d 87 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS_HI = 0x001C,
jvfausto 0:617f20c6b21d 88 REF_SPAD_CHAR__TOTAL_RATE_TARGET_MCPS_LO = 0x001D,
jvfausto 0:617f20c6b21d 89 ALGO__PART_TO_PART_RANGE_OFFSET_MM = 0x001E,
jvfausto 0:617f20c6b21d 90 ALGO__PART_TO_PART_RANGE_OFFSET_MM_HI = 0x001E,
jvfausto 0:617f20c6b21d 91 ALGO__PART_TO_PART_RANGE_OFFSET_MM_LO = 0x001F,
jvfausto 0:617f20c6b21d 92 MM_CONFIG__INNER_OFFSET_MM = 0x0020,
jvfausto 0:617f20c6b21d 93 MM_CONFIG__INNER_OFFSET_MM_HI = 0x0020,
jvfausto 0:617f20c6b21d 94 MM_CONFIG__INNER_OFFSET_MM_LO = 0x0021,
jvfausto 0:617f20c6b21d 95 MM_CONFIG__OUTER_OFFSET_MM = 0x0022,
jvfausto 0:617f20c6b21d 96 MM_CONFIG__OUTER_OFFSET_MM_HI = 0x0022,
jvfausto 0:617f20c6b21d 97 MM_CONFIG__OUTER_OFFSET_MM_LO = 0x0023,
jvfausto 0:617f20c6b21d 98 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS = 0x0024,
jvfausto 0:617f20c6b21d 99 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS_HI = 0x0024,
jvfausto 0:617f20c6b21d 100 DSS_CONFIG__TARGET_TOTAL_RATE_MCPS_LO = 0x0025,
jvfausto 0:617f20c6b21d 101 DEBUG__CTRL = 0x0026,
jvfausto 0:617f20c6b21d 102 TEST_MODE__CTRL = 0x0027,
jvfausto 0:617f20c6b21d 103 CLK_GATING__CTRL = 0x0028,
jvfausto 0:617f20c6b21d 104 NVM_BIST__CTRL = 0x0029,
jvfausto 0:617f20c6b21d 105 NVM_BIST__NUM_NVM_WORDS = 0x002A,
jvfausto 0:617f20c6b21d 106 NVM_BIST__START_ADDRESS = 0x002B,
jvfausto 0:617f20c6b21d 107 HOST_IF__STATUS = 0x002C,
jvfausto 0:617f20c6b21d 108 PAD_I2C_HV__CONFIG = 0x002D,
jvfausto 0:617f20c6b21d 109 PAD_I2C_HV__EXTSUP_CONFIG = 0x002E,
jvfausto 0:617f20c6b21d 110 GPIO_HV_PAD__CTRL = 0x002F,
jvfausto 0:617f20c6b21d 111 GPIO_HV_MUX__CTRL = 0x0030,
jvfausto 0:617f20c6b21d 112 GPIO__TIO_HV_STATUS = 0x0031,
jvfausto 0:617f20c6b21d 113 GPIO__FIO_HV_STATUS = 0x0032,
jvfausto 0:617f20c6b21d 114 ANA_CONFIG__SPAD_SEL_PSWIDTH = 0x0033,
jvfausto 0:617f20c6b21d 115 ANA_CONFIG__VCSEL_PULSE_WIDTH_OFFSET = 0x0034,
jvfausto 0:617f20c6b21d 116 ANA_CONFIG__FAST_OSC__CONFIG_CTRL = 0x0035,
jvfausto 0:617f20c6b21d 117 SIGMA_ESTIMATOR__EFFECTIVE_PULSE_WIDTH_NS = 0x0036,
jvfausto 0:617f20c6b21d 118 SIGMA_ESTIMATOR__EFFECTIVE_AMBIENT_WIDTH_NS = 0x0037,
jvfausto 0:617f20c6b21d 119 SIGMA_ESTIMATOR__SIGMA_REF_MM = 0x0038,
jvfausto 0:617f20c6b21d 120 ALGO__CROSSTALK_COMPENSATION_VALID_HEIGHT_MM = 0x0039,
jvfausto 0:617f20c6b21d 121 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_0 = 0x003A,
jvfausto 0:617f20c6b21d 122 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_1 = 0x003B,
jvfausto 0:617f20c6b21d 123 ALGO__RANGE_IGNORE_THRESHOLD_MCPS = 0x003C,
jvfausto 0:617f20c6b21d 124 ALGO__RANGE_IGNORE_THRESHOLD_MCPS_HI = 0x003C,
jvfausto 0:617f20c6b21d 125 ALGO__RANGE_IGNORE_THRESHOLD_MCPS_LO = 0x003D,
jvfausto 0:617f20c6b21d 126 ALGO__RANGE_IGNORE_VALID_HEIGHT_MM = 0x003E,
jvfausto 0:617f20c6b21d 127 ALGO__RANGE_MIN_CLIP = 0x003F,
jvfausto 0:617f20c6b21d 128 ALGO__CONSISTENCY_CHECK__TOLERANCE = 0x0040,
jvfausto 0:617f20c6b21d 129 SPARE_HOST_CONFIG__STATIC_CONFIG_SPARE_2 = 0x0041,
jvfausto 0:617f20c6b21d 130 SD_CONFIG__RESET_STAGES_MSB = 0x0042,
jvfausto 0:617f20c6b21d 131 SD_CONFIG__RESET_STAGES_LSB = 0x0043,
jvfausto 0:617f20c6b21d 132 GPH_CONFIG__STREAM_COUNT_UPDATE_VALUE = 0x0044,
jvfausto 0:617f20c6b21d 133 GLOBAL_CONFIG__STREAM_DIVIDER = 0x0045,
jvfausto 0:617f20c6b21d 134 SYSTEM__INTERRUPT_CONFIG_GPIO = 0x0046,
jvfausto 0:617f20c6b21d 135 CAL_CONFIG__VCSEL_START = 0x0047,
jvfausto 0:617f20c6b21d 136 CAL_CONFIG__REPEAT_RATE = 0x0048,
jvfausto 0:617f20c6b21d 137 CAL_CONFIG__REPEAT_RATE_HI = 0x0048,
jvfausto 0:617f20c6b21d 138 CAL_CONFIG__REPEAT_RATE_LO = 0x0049,
jvfausto 0:617f20c6b21d 139 GLOBAL_CONFIG__VCSEL_WIDTH = 0x004A,
jvfausto 0:617f20c6b21d 140 PHASECAL_CONFIG__TIMEOUT_MACROP = 0x004B,
jvfausto 0:617f20c6b21d 141 PHASECAL_CONFIG__TARGET = 0x004C,
jvfausto 0:617f20c6b21d 142 PHASECAL_CONFIG__OVERRIDE = 0x004D,
jvfausto 0:617f20c6b21d 143 DSS_CONFIG__ROI_MODE_CONTROL = 0x004F,
jvfausto 0:617f20c6b21d 144 SYSTEM__THRESH_RATE_HIGH = 0x0050,
jvfausto 0:617f20c6b21d 145 SYSTEM__THRESH_RATE_HIGH_HI = 0x0050,
jvfausto 0:617f20c6b21d 146 SYSTEM__THRESH_RATE_HIGH_LO = 0x0051,
jvfausto 0:617f20c6b21d 147 SYSTEM__THRESH_RATE_LOW = 0x0052,
jvfausto 0:617f20c6b21d 148 SYSTEM__THRESH_RATE_LOW_HI = 0x0052,
jvfausto 0:617f20c6b21d 149 SYSTEM__THRESH_RATE_LOW_LO = 0x0053,
jvfausto 0:617f20c6b21d 150 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT = 0x0054,
jvfausto 0:617f20c6b21d 151 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_HI = 0x0054,
jvfausto 0:617f20c6b21d 152 DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_LO = 0x0055,
jvfausto 0:617f20c6b21d 153 DSS_CONFIG__MANUAL_BLOCK_SELECT = 0x0056,
jvfausto 0:617f20c6b21d 154 DSS_CONFIG__APERTURE_ATTENUATION = 0x0057,
jvfausto 0:617f20c6b21d 155 DSS_CONFIG__MAX_SPADS_LIMIT = 0x0058,
jvfausto 0:617f20c6b21d 156 DSS_CONFIG__MIN_SPADS_LIMIT = 0x0059,
jvfausto 0:617f20c6b21d 157 MM_CONFIG__TIMEOUT_MACROP_A = 0x005A, // added by Pololu for 16-bit accesses
jvfausto 0:617f20c6b21d 158 MM_CONFIG__TIMEOUT_MACROP_A_HI = 0x005A,
jvfausto 0:617f20c6b21d 159 MM_CONFIG__TIMEOUT_MACROP_A_LO = 0x005B,
jvfausto 0:617f20c6b21d 160 MM_CONFIG__TIMEOUT_MACROP_B = 0x005C, // added by Pololu for 16-bit accesses
jvfausto 0:617f20c6b21d 161 MM_CONFIG__TIMEOUT_MACROP_B_HI = 0x005C,
jvfausto 0:617f20c6b21d 162 MM_CONFIG__TIMEOUT_MACROP_B_LO = 0x005D,
jvfausto 0:617f20c6b21d 163 RANGE_CONFIG__TIMEOUT_MACROP_A = 0x005E, // added by Pololu for 16-bit accesses
jvfausto 0:617f20c6b21d 164 RANGE_CONFIG__TIMEOUT_MACROP_A_HI = 0x005E,
jvfausto 0:617f20c6b21d 165 RANGE_CONFIG__TIMEOUT_MACROP_A_LO = 0x005F,
jvfausto 0:617f20c6b21d 166 RANGE_CONFIG__VCSEL_PERIOD_A = 0x0060,
jvfausto 0:617f20c6b21d 167 RANGE_CONFIG__TIMEOUT_MACROP_B = 0x0061, // added by Pololu for 16-bit accesses
jvfausto 0:617f20c6b21d 168 RANGE_CONFIG__TIMEOUT_MACROP_B_HI = 0x0061,
jvfausto 0:617f20c6b21d 169 RANGE_CONFIG__TIMEOUT_MACROP_B_LO = 0x0062,
jvfausto 0:617f20c6b21d 170 RANGE_CONFIG__VCSEL_PERIOD_B = 0x0063,
jvfausto 0:617f20c6b21d 171 RANGE_CONFIG__SIGMA_THRESH = 0x0064,
jvfausto 0:617f20c6b21d 172 RANGE_CONFIG__SIGMA_THRESH_HI = 0x0064,
jvfausto 0:617f20c6b21d 173 RANGE_CONFIG__SIGMA_THRESH_LO = 0x0065,
jvfausto 0:617f20c6b21d 174 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS = 0x0066,
jvfausto 0:617f20c6b21d 175 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI = 0x0066,
jvfausto 0:617f20c6b21d 176 RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO = 0x0067,
jvfausto 0:617f20c6b21d 177 RANGE_CONFIG__VALID_PHASE_LOW = 0x0068,
jvfausto 0:617f20c6b21d 178 RANGE_CONFIG__VALID_PHASE_HIGH = 0x0069,
jvfausto 0:617f20c6b21d 179 SYSTEM__INTERMEASUREMENT_PERIOD = 0x006C,
jvfausto 0:617f20c6b21d 180 SYSTEM__INTERMEASUREMENT_PERIOD_3 = 0x006C,
jvfausto 0:617f20c6b21d 181 SYSTEM__INTERMEASUREMENT_PERIOD_2 = 0x006D,
jvfausto 0:617f20c6b21d 182 SYSTEM__INTERMEASUREMENT_PERIOD_1 = 0x006E,
jvfausto 0:617f20c6b21d 183 SYSTEM__INTERMEASUREMENT_PERIOD_0 = 0x006F,
jvfausto 0:617f20c6b21d 184 SYSTEM__FRACTIONAL_ENABLE = 0x0070,
jvfausto 0:617f20c6b21d 185 SYSTEM__GROUPED_PARAMETER_HOLD_0 = 0x0071,
jvfausto 0:617f20c6b21d 186 SYSTEM__THRESH_HIGH = 0x0072,
jvfausto 0:617f20c6b21d 187 SYSTEM__THRESH_HIGH_HI = 0x0072,
jvfausto 0:617f20c6b21d 188 SYSTEM__THRESH_HIGH_LO = 0x0073,
jvfausto 0:617f20c6b21d 189 SYSTEM__THRESH_LOW = 0x0074,
jvfausto 0:617f20c6b21d 190 SYSTEM__THRESH_LOW_HI = 0x0074,
jvfausto 0:617f20c6b21d 191 SYSTEM__THRESH_LOW_LO = 0x0075,
jvfausto 0:617f20c6b21d 192 SYSTEM__ENABLE_XTALK_PER_QUADRANT = 0x0076,
jvfausto 0:617f20c6b21d 193 SYSTEM__SEED_CONFIG = 0x0077,
jvfausto 0:617f20c6b21d 194 SD_CONFIG__WOI_SD0 = 0x0078,
jvfausto 0:617f20c6b21d 195 SD_CONFIG__WOI_SD1 = 0x0079,
jvfausto 0:617f20c6b21d 196 SD_CONFIG__INITIAL_PHASE_SD0 = 0x007A,
jvfausto 0:617f20c6b21d 197 SD_CONFIG__INITIAL_PHASE_SD1 = 0x007B,
jvfausto 0:617f20c6b21d 198 SYSTEM__GROUPED_PARAMETER_HOLD_1 = 0x007C,
jvfausto 0:617f20c6b21d 199 SD_CONFIG__FIRST_ORDER_SELECT = 0x007D,
jvfausto 0:617f20c6b21d 200 SD_CONFIG__QUANTIFIER = 0x007E,
jvfausto 0:617f20c6b21d 201 ROI_CONFIG__USER_ROI_CENTRE_SPAD = 0x007F,
jvfausto 0:617f20c6b21d 202 ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE = 0x0080,
jvfausto 0:617f20c6b21d 203 SYSTEM__SEQUENCE_CONFIG = 0x0081,
jvfausto 0:617f20c6b21d 204 SYSTEM__GROUPED_PARAMETER_HOLD = 0x0082,
jvfausto 0:617f20c6b21d 205 POWER_MANAGEMENT__GO1_POWER_FORCE = 0x0083,
jvfausto 0:617f20c6b21d 206 SYSTEM__STREAM_COUNT_CTRL = 0x0084,
jvfausto 0:617f20c6b21d 207 FIRMWARE__ENABLE = 0x0085,
jvfausto 0:617f20c6b21d 208 SYSTEM__INTERRUPT_CLEAR = 0x0086,
jvfausto 0:617f20c6b21d 209 SYSTEM__MODE_START = 0x0087,
jvfausto 0:617f20c6b21d 210 RESULT__INTERRUPT_STATUS = 0x0088,
jvfausto 0:617f20c6b21d 211 RESULT__RANGE_STATUS = 0x0089,
jvfausto 0:617f20c6b21d 212 RESULT__REPORT_STATUS = 0x008A,
jvfausto 0:617f20c6b21d 213 RESULT__STREAM_COUNT = 0x008B,
jvfausto 0:617f20c6b21d 214 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x008C,
jvfausto 0:617f20c6b21d 215 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x008C,
jvfausto 0:617f20c6b21d 216 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x008D,
jvfausto 0:617f20c6b21d 217 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x008E,
jvfausto 0:617f20c6b21d 218 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x008E,
jvfausto 0:617f20c6b21d 219 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x008F,
jvfausto 0:617f20c6b21d 220 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0090,
jvfausto 0:617f20c6b21d 221 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0090,
jvfausto 0:617f20c6b21d 222 RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0091,
jvfausto 0:617f20c6b21d 223 RESULT__SIGMA_SD0 = 0x0092,
jvfausto 0:617f20c6b21d 224 RESULT__SIGMA_SD0_HI = 0x0092,
jvfausto 0:617f20c6b21d 225 RESULT__SIGMA_SD0_LO = 0x0093,
jvfausto 0:617f20c6b21d 226 RESULT__PHASE_SD0 = 0x0094,
jvfausto 0:617f20c6b21d 227 RESULT__PHASE_SD0_HI = 0x0094,
jvfausto 0:617f20c6b21d 228 RESULT__PHASE_SD0_LO = 0x0095,
jvfausto 0:617f20c6b21d 229 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0096,
jvfausto 0:617f20c6b21d 230 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0096,
jvfausto 0:617f20c6b21d 231 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0097,
jvfausto 0:617f20c6b21d 232 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0098,
jvfausto 0:617f20c6b21d 233 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0098,
jvfausto 0:617f20c6b21d 234 RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0099,
jvfausto 0:617f20c6b21d 235 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x009A,
jvfausto 0:617f20c6b21d 236 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x009A,
jvfausto 0:617f20c6b21d 237 RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x009B,
jvfausto 0:617f20c6b21d 238 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x009C,
jvfausto 0:617f20c6b21d 239 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x009C,
jvfausto 0:617f20c6b21d 240 RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x009D,
jvfausto 0:617f20c6b21d 241 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x009E,
jvfausto 0:617f20c6b21d 242 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x009E,
jvfausto 0:617f20c6b21d 243 RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x009F,
jvfausto 0:617f20c6b21d 244 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x00A0,
jvfausto 0:617f20c6b21d 245 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x00A0,
jvfausto 0:617f20c6b21d 246 RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x00A1,
jvfausto 0:617f20c6b21d 247 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x00A2,
jvfausto 0:617f20c6b21d 248 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x00A2,
jvfausto 0:617f20c6b21d 249 RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x00A3,
jvfausto 0:617f20c6b21d 250 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x00A4,
jvfausto 0:617f20c6b21d 251 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x00A4,
jvfausto 0:617f20c6b21d 252 RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x00A5,
jvfausto 0:617f20c6b21d 253 RESULT__SIGMA_SD1 = 0x00A6,
jvfausto 0:617f20c6b21d 254 RESULT__SIGMA_SD1_HI = 0x00A6,
jvfausto 0:617f20c6b21d 255 RESULT__SIGMA_SD1_LO = 0x00A7,
jvfausto 0:617f20c6b21d 256 RESULT__PHASE_SD1 = 0x00A8,
jvfausto 0:617f20c6b21d 257 RESULT__PHASE_SD1_HI = 0x00A8,
jvfausto 0:617f20c6b21d 258 RESULT__PHASE_SD1_LO = 0x00A9,
jvfausto 0:617f20c6b21d 259 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x00AA,
jvfausto 0:617f20c6b21d 260 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x00AA,
jvfausto 0:617f20c6b21d 261 RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x00AB,
jvfausto 0:617f20c6b21d 262 RESULT__SPARE_0_SD1 = 0x00AC,
jvfausto 0:617f20c6b21d 263 RESULT__SPARE_0_SD1_HI = 0x00AC,
jvfausto 0:617f20c6b21d 264 RESULT__SPARE_0_SD1_LO = 0x00AD,
jvfausto 0:617f20c6b21d 265 RESULT__SPARE_1_SD1 = 0x00AE,
jvfausto 0:617f20c6b21d 266 RESULT__SPARE_1_SD1_HI = 0x00AE,
jvfausto 0:617f20c6b21d 267 RESULT__SPARE_1_SD1_LO = 0x00AF,
jvfausto 0:617f20c6b21d 268 RESULT__SPARE_2_SD1 = 0x00B0,
jvfausto 0:617f20c6b21d 269 RESULT__SPARE_2_SD1_HI = 0x00B0,
jvfausto 0:617f20c6b21d 270 RESULT__SPARE_2_SD1_LO = 0x00B1,
jvfausto 0:617f20c6b21d 271 RESULT__SPARE_3_SD1 = 0x00B2,
jvfausto 0:617f20c6b21d 272 RESULT__THRESH_INFO = 0x00B3,
jvfausto 0:617f20c6b21d 273 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x00B4,
jvfausto 0:617f20c6b21d 274 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x00B4,
jvfausto 0:617f20c6b21d 275 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x00B5,
jvfausto 0:617f20c6b21d 276 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x00B6,
jvfausto 0:617f20c6b21d 277 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x00B7,
jvfausto 0:617f20c6b21d 278 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x00B8,
jvfausto 0:617f20c6b21d 279 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x00B8,
jvfausto 0:617f20c6b21d 280 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x00B9,
jvfausto 0:617f20c6b21d 281 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x00BA,
jvfausto 0:617f20c6b21d 282 RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x00BB,
jvfausto 0:617f20c6b21d 283 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x00BC,
jvfausto 0:617f20c6b21d 284 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x00BC,
jvfausto 0:617f20c6b21d 285 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x00BD,
jvfausto 0:617f20c6b21d 286 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x00BE,
jvfausto 0:617f20c6b21d 287 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x00BF,
jvfausto 0:617f20c6b21d 288 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x00C0,
jvfausto 0:617f20c6b21d 289 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x00C0,
jvfausto 0:617f20c6b21d 290 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x00C1,
jvfausto 0:617f20c6b21d 291 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x00C2,
jvfausto 0:617f20c6b21d 292 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x00C3,
jvfausto 0:617f20c6b21d 293 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x00C4,
jvfausto 0:617f20c6b21d 294 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x00C4,
jvfausto 0:617f20c6b21d 295 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x00C5,
jvfausto 0:617f20c6b21d 296 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x00C6,
jvfausto 0:617f20c6b21d 297 RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x00C7,
jvfausto 0:617f20c6b21d 298 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x00C8,
jvfausto 0:617f20c6b21d 299 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x00C8,
jvfausto 0:617f20c6b21d 300 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x00C9,
jvfausto 0:617f20c6b21d 301 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x00CA,
jvfausto 0:617f20c6b21d 302 RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x00CB,
jvfausto 0:617f20c6b21d 303 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x00CC,
jvfausto 0:617f20c6b21d 304 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x00CC,
jvfausto 0:617f20c6b21d 305 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x00CD,
jvfausto 0:617f20c6b21d 306 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x00CE,
jvfausto 0:617f20c6b21d 307 RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x00CF,
jvfausto 0:617f20c6b21d 308 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x00D0,
jvfausto 0:617f20c6b21d 309 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x00D0,
jvfausto 0:617f20c6b21d 310 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x00D1,
jvfausto 0:617f20c6b21d 311 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x00D2,
jvfausto 0:617f20c6b21d 312 RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x00D3,
jvfausto 0:617f20c6b21d 313 RESULT_CORE__SPARE_0 = 0x00D4,
jvfausto 0:617f20c6b21d 314 PHASECAL_RESULT__REFERENCE_PHASE = 0x00D6,
jvfausto 0:617f20c6b21d 315 PHASECAL_RESULT__REFERENCE_PHASE_HI = 0x00D6,
jvfausto 0:617f20c6b21d 316 PHASECAL_RESULT__REFERENCE_PHASE_LO = 0x00D7,
jvfausto 0:617f20c6b21d 317 PHASECAL_RESULT__VCSEL_START = 0x00D8,
jvfausto 0:617f20c6b21d 318 REF_SPAD_CHAR_RESULT__NUM_ACTUAL_REF_SPADS = 0x00D9,
jvfausto 0:617f20c6b21d 319 REF_SPAD_CHAR_RESULT__REF_LOCATION = 0x00DA,
jvfausto 0:617f20c6b21d 320 VHV_RESULT__COLDBOOT_STATUS = 0x00DB,
jvfausto 0:617f20c6b21d 321 VHV_RESULT__SEARCH_RESULT = 0x00DC,
jvfausto 0:617f20c6b21d 322 VHV_RESULT__LATEST_SETTING = 0x00DD,
jvfausto 0:617f20c6b21d 323 RESULT__OSC_CALIBRATE_VAL = 0x00DE,
jvfausto 0:617f20c6b21d 324 RESULT__OSC_CALIBRATE_VAL_HI = 0x00DE,
jvfausto 0:617f20c6b21d 325 RESULT__OSC_CALIBRATE_VAL_LO = 0x00DF,
jvfausto 0:617f20c6b21d 326 ANA_CONFIG__POWERDOWN_GO1 = 0x00E0,
jvfausto 0:617f20c6b21d 327 ANA_CONFIG__REF_BG_CTRL = 0x00E1,
jvfausto 0:617f20c6b21d 328 ANA_CONFIG__REGDVDD1V2_CTRL = 0x00E2,
jvfausto 0:617f20c6b21d 329 ANA_CONFIG__OSC_SLOW_CTRL = 0x00E3,
jvfausto 0:617f20c6b21d 330 TEST_MODE__STATUS = 0x00E4,
jvfausto 0:617f20c6b21d 331 FIRMWARE__SYSTEM_STATUS = 0x00E5,
jvfausto 0:617f20c6b21d 332 FIRMWARE__MODE_STATUS = 0x00E6,
jvfausto 0:617f20c6b21d 333 FIRMWARE__SECONDARY_MODE_STATUS = 0x00E7,
jvfausto 0:617f20c6b21d 334 FIRMWARE__CAL_REPEAT_RATE_COUNTER = 0x00E8,
jvfausto 0:617f20c6b21d 335 FIRMWARE__CAL_REPEAT_RATE_COUNTER_HI = 0x00E8,
jvfausto 0:617f20c6b21d 336 FIRMWARE__CAL_REPEAT_RATE_COUNTER_LO = 0x00E9,
jvfausto 0:617f20c6b21d 337 FIRMWARE__HISTOGRAM_BIN = 0x00EA,
jvfausto 0:617f20c6b21d 338 GPH__SYSTEM__THRESH_HIGH = 0x00EC,
jvfausto 0:617f20c6b21d 339 GPH__SYSTEM__THRESH_HIGH_HI = 0x00EC,
jvfausto 0:617f20c6b21d 340 GPH__SYSTEM__THRESH_HIGH_LO = 0x00ED,
jvfausto 0:617f20c6b21d 341 GPH__SYSTEM__THRESH_LOW = 0x00EE,
jvfausto 0:617f20c6b21d 342 GPH__SYSTEM__THRESH_LOW_HI = 0x00EE,
jvfausto 0:617f20c6b21d 343 GPH__SYSTEM__THRESH_LOW_LO = 0x00EF,
jvfausto 0:617f20c6b21d 344 GPH__SYSTEM__ENABLE_XTALK_PER_QUADRANT = 0x00F0,
jvfausto 0:617f20c6b21d 345 GPH__SPARE_0 = 0x00F1,
jvfausto 0:617f20c6b21d 346 GPH__SD_CONFIG__WOI_SD0 = 0x00F2,
jvfausto 0:617f20c6b21d 347 GPH__SD_CONFIG__WOI_SD1 = 0x00F3,
jvfausto 0:617f20c6b21d 348 GPH__SD_CONFIG__INITIAL_PHASE_SD0 = 0x00F4,
jvfausto 0:617f20c6b21d 349 GPH__SD_CONFIG__INITIAL_PHASE_SD1 = 0x00F5,
jvfausto 0:617f20c6b21d 350 GPH__SD_CONFIG__FIRST_ORDER_SELECT = 0x00F6,
jvfausto 0:617f20c6b21d 351 GPH__SD_CONFIG__QUANTIFIER = 0x00F7,
jvfausto 0:617f20c6b21d 352 GPH__ROI_CONFIG__USER_ROI_CENTRE_SPAD = 0x00F8,
jvfausto 0:617f20c6b21d 353 GPH__ROI_CONFIG__USER_ROI_REQUESTED_GLOBAL_XY_SIZE = 0x00F9,
jvfausto 0:617f20c6b21d 354 GPH__SYSTEM__SEQUENCE_CONFIG = 0x00FA,
jvfausto 0:617f20c6b21d 355 GPH__GPH_ID = 0x00FB,
jvfausto 0:617f20c6b21d 356 SYSTEM__INTERRUPT_SET = 0x00FC,
jvfausto 0:617f20c6b21d 357 INTERRUPT_MANAGER__ENABLES = 0x00FD,
jvfausto 0:617f20c6b21d 358 INTERRUPT_MANAGER__CLEAR = 0x00FE,
jvfausto 0:617f20c6b21d 359 INTERRUPT_MANAGER__STATUS = 0x00FF,
jvfausto 0:617f20c6b21d 360 MCU_TO_HOST_BANK__WR_ACCESS_EN = 0x0100,
jvfausto 0:617f20c6b21d 361 POWER_MANAGEMENT__GO1_RESET_STATUS = 0x0101,
jvfausto 0:617f20c6b21d 362 PAD_STARTUP_MODE__VALUE_RO = 0x0102,
jvfausto 0:617f20c6b21d 363 PAD_STARTUP_MODE__VALUE_CTRL = 0x0103,
jvfausto 0:617f20c6b21d 364 PLL_PERIOD_US = 0x0104,
jvfausto 0:617f20c6b21d 365 PLL_PERIOD_US_3 = 0x0104,
jvfausto 0:617f20c6b21d 366 PLL_PERIOD_US_2 = 0x0105,
jvfausto 0:617f20c6b21d 367 PLL_PERIOD_US_1 = 0x0106,
jvfausto 0:617f20c6b21d 368 PLL_PERIOD_US_0 = 0x0107,
jvfausto 0:617f20c6b21d 369 INTERRUPT_SCHEDULER__DATA_OUT = 0x0108,
jvfausto 0:617f20c6b21d 370 INTERRUPT_SCHEDULER__DATA_OUT_3 = 0x0108,
jvfausto 0:617f20c6b21d 371 INTERRUPT_SCHEDULER__DATA_OUT_2 = 0x0109,
jvfausto 0:617f20c6b21d 372 INTERRUPT_SCHEDULER__DATA_OUT_1 = 0x010A,
jvfausto 0:617f20c6b21d 373 INTERRUPT_SCHEDULER__DATA_OUT_0 = 0x010B,
jvfausto 0:617f20c6b21d 374 NVM_BIST__COMPLETE = 0x010C,
jvfausto 0:617f20c6b21d 375 NVM_BIST__STATUS = 0x010D,
jvfausto 0:617f20c6b21d 376 IDENTIFICATION__MODEL_ID = 0x010F,
jvfausto 0:617f20c6b21d 377 IDENTIFICATION__MODULE_TYPE = 0x0110,
jvfausto 0:617f20c6b21d 378 IDENTIFICATION__REVISION_ID = 0x0111,
jvfausto 0:617f20c6b21d 379 IDENTIFICATION__MODULE_ID = 0x0112,
jvfausto 0:617f20c6b21d 380 IDENTIFICATION__MODULE_ID_HI = 0x0112,
jvfausto 0:617f20c6b21d 381 IDENTIFICATION__MODULE_ID_LO = 0x0113,
jvfausto 0:617f20c6b21d 382 ANA_CONFIG__FAST_OSC__TRIM_MAX = 0x0114,
jvfausto 0:617f20c6b21d 383 ANA_CONFIG__FAST_OSC__FREQ_SET = 0x0115,
jvfausto 0:617f20c6b21d 384 ANA_CONFIG__VCSEL_TRIM = 0x0116,
jvfausto 0:617f20c6b21d 385 ANA_CONFIG__VCSEL_SELION = 0x0117,
jvfausto 0:617f20c6b21d 386 ANA_CONFIG__VCSEL_SELION_MAX = 0x0118,
jvfausto 0:617f20c6b21d 387 PROTECTED_LASER_SAFETY__LOCK_BIT = 0x0119,
jvfausto 0:617f20c6b21d 388 LASER_SAFETY__KEY = 0x011A,
jvfausto 0:617f20c6b21d 389 LASER_SAFETY__KEY_RO = 0x011B,
jvfausto 0:617f20c6b21d 390 LASER_SAFETY__CLIP = 0x011C,
jvfausto 0:617f20c6b21d 391 LASER_SAFETY__MULT = 0x011D,
jvfausto 0:617f20c6b21d 392 GLOBAL_CONFIG__SPAD_ENABLES_RTN_0 = 0x011E,
jvfausto 0:617f20c6b21d 393 GLOBAL_CONFIG__SPAD_ENABLES_RTN_1 = 0x011F,
jvfausto 0:617f20c6b21d 394 GLOBAL_CONFIG__SPAD_ENABLES_RTN_2 = 0x0120,
jvfausto 0:617f20c6b21d 395 GLOBAL_CONFIG__SPAD_ENABLES_RTN_3 = 0x0121,
jvfausto 0:617f20c6b21d 396 GLOBAL_CONFIG__SPAD_ENABLES_RTN_4 = 0x0122,
jvfausto 0:617f20c6b21d 397 GLOBAL_CONFIG__SPAD_ENABLES_RTN_5 = 0x0123,
jvfausto 0:617f20c6b21d 398 GLOBAL_CONFIG__SPAD_ENABLES_RTN_6 = 0x0124,
jvfausto 0:617f20c6b21d 399 GLOBAL_CONFIG__SPAD_ENABLES_RTN_7 = 0x0125,
jvfausto 0:617f20c6b21d 400 GLOBAL_CONFIG__SPAD_ENABLES_RTN_8 = 0x0126,
jvfausto 0:617f20c6b21d 401 GLOBAL_CONFIG__SPAD_ENABLES_RTN_9 = 0x0127,
jvfausto 0:617f20c6b21d 402 GLOBAL_CONFIG__SPAD_ENABLES_RTN_10 = 0x0128,
jvfausto 0:617f20c6b21d 403 GLOBAL_CONFIG__SPAD_ENABLES_RTN_11 = 0x0129,
jvfausto 0:617f20c6b21d 404 GLOBAL_CONFIG__SPAD_ENABLES_RTN_12 = 0x012A,
jvfausto 0:617f20c6b21d 405 GLOBAL_CONFIG__SPAD_ENABLES_RTN_13 = 0x012B,
jvfausto 0:617f20c6b21d 406 GLOBAL_CONFIG__SPAD_ENABLES_RTN_14 = 0x012C,
jvfausto 0:617f20c6b21d 407 GLOBAL_CONFIG__SPAD_ENABLES_RTN_15 = 0x012D,
jvfausto 0:617f20c6b21d 408 GLOBAL_CONFIG__SPAD_ENABLES_RTN_16 = 0x012E,
jvfausto 0:617f20c6b21d 409 GLOBAL_CONFIG__SPAD_ENABLES_RTN_17 = 0x012F,
jvfausto 0:617f20c6b21d 410 GLOBAL_CONFIG__SPAD_ENABLES_RTN_18 = 0x0130,
jvfausto 0:617f20c6b21d 411 GLOBAL_CONFIG__SPAD_ENABLES_RTN_19 = 0x0131,
jvfausto 0:617f20c6b21d 412 GLOBAL_CONFIG__SPAD_ENABLES_RTN_20 = 0x0132,
jvfausto 0:617f20c6b21d 413 GLOBAL_CONFIG__SPAD_ENABLES_RTN_21 = 0x0133,
jvfausto 0:617f20c6b21d 414 GLOBAL_CONFIG__SPAD_ENABLES_RTN_22 = 0x0134,
jvfausto 0:617f20c6b21d 415 GLOBAL_CONFIG__SPAD_ENABLES_RTN_23 = 0x0135,
jvfausto 0:617f20c6b21d 416 GLOBAL_CONFIG__SPAD_ENABLES_RTN_24 = 0x0136,
jvfausto 0:617f20c6b21d 417 GLOBAL_CONFIG__SPAD_ENABLES_RTN_25 = 0x0137,
jvfausto 0:617f20c6b21d 418 GLOBAL_CONFIG__SPAD_ENABLES_RTN_26 = 0x0138,
jvfausto 0:617f20c6b21d 419 GLOBAL_CONFIG__SPAD_ENABLES_RTN_27 = 0x0139,
jvfausto 0:617f20c6b21d 420 GLOBAL_CONFIG__SPAD_ENABLES_RTN_28 = 0x013A,
jvfausto 0:617f20c6b21d 421 GLOBAL_CONFIG__SPAD_ENABLES_RTN_29 = 0x013B,
jvfausto 0:617f20c6b21d 422 GLOBAL_CONFIG__SPAD_ENABLES_RTN_30 = 0x013C,
jvfausto 0:617f20c6b21d 423 GLOBAL_CONFIG__SPAD_ENABLES_RTN_31 = 0x013D,
jvfausto 0:617f20c6b21d 424 ROI_CONFIG__MODE_ROI_CENTRE_SPAD = 0x013E,
jvfausto 0:617f20c6b21d 425 ROI_CONFIG__MODE_ROI_XY_SIZE = 0x013F,
jvfausto 0:617f20c6b21d 426 GO2_HOST_BANK_ACCESS__OVERRIDE = 0x0300,
jvfausto 0:617f20c6b21d 427 MCU_UTIL_MULTIPLIER__MULTIPLICAND = 0x0400,
jvfausto 0:617f20c6b21d 428 MCU_UTIL_MULTIPLIER__MULTIPLICAND_3 = 0x0400,
jvfausto 0:617f20c6b21d 429 MCU_UTIL_MULTIPLIER__MULTIPLICAND_2 = 0x0401,
jvfausto 0:617f20c6b21d 430 MCU_UTIL_MULTIPLIER__MULTIPLICAND_1 = 0x0402,
jvfausto 0:617f20c6b21d 431 MCU_UTIL_MULTIPLIER__MULTIPLICAND_0 = 0x0403,
jvfausto 0:617f20c6b21d 432 MCU_UTIL_MULTIPLIER__MULTIPLIER = 0x0404,
jvfausto 0:617f20c6b21d 433 MCU_UTIL_MULTIPLIER__MULTIPLIER_3 = 0x0404,
jvfausto 0:617f20c6b21d 434 MCU_UTIL_MULTIPLIER__MULTIPLIER_2 = 0x0405,
jvfausto 0:617f20c6b21d 435 MCU_UTIL_MULTIPLIER__MULTIPLIER_1 = 0x0406,
jvfausto 0:617f20c6b21d 436 MCU_UTIL_MULTIPLIER__MULTIPLIER_0 = 0x0407,
jvfausto 0:617f20c6b21d 437 MCU_UTIL_MULTIPLIER__PRODUCT_HI = 0x0408,
jvfausto 0:617f20c6b21d 438 MCU_UTIL_MULTIPLIER__PRODUCT_HI_3 = 0x0408,
jvfausto 0:617f20c6b21d 439 MCU_UTIL_MULTIPLIER__PRODUCT_HI_2 = 0x0409,
jvfausto 0:617f20c6b21d 440 MCU_UTIL_MULTIPLIER__PRODUCT_HI_1 = 0x040A,
jvfausto 0:617f20c6b21d 441 MCU_UTIL_MULTIPLIER__PRODUCT_HI_0 = 0x040B,
jvfausto 0:617f20c6b21d 442 MCU_UTIL_MULTIPLIER__PRODUCT_LO = 0x040C,
jvfausto 0:617f20c6b21d 443 MCU_UTIL_MULTIPLIER__PRODUCT_LO_3 = 0x040C,
jvfausto 0:617f20c6b21d 444 MCU_UTIL_MULTIPLIER__PRODUCT_LO_2 = 0x040D,
jvfausto 0:617f20c6b21d 445 MCU_UTIL_MULTIPLIER__PRODUCT_LO_1 = 0x040E,
jvfausto 0:617f20c6b21d 446 MCU_UTIL_MULTIPLIER__PRODUCT_LO_0 = 0x040F,
jvfausto 0:617f20c6b21d 447 MCU_UTIL_MULTIPLIER__START = 0x0410,
jvfausto 0:617f20c6b21d 448 MCU_UTIL_MULTIPLIER__STATUS = 0x0411,
jvfausto 0:617f20c6b21d 449 MCU_UTIL_DIVIDER__START = 0x0412,
jvfausto 0:617f20c6b21d 450 MCU_UTIL_DIVIDER__STATUS = 0x0413,
jvfausto 0:617f20c6b21d 451 MCU_UTIL_DIVIDER__DIVIDEND = 0x0414,
jvfausto 0:617f20c6b21d 452 MCU_UTIL_DIVIDER__DIVIDEND_3 = 0x0414,
jvfausto 0:617f20c6b21d 453 MCU_UTIL_DIVIDER__DIVIDEND_2 = 0x0415,
jvfausto 0:617f20c6b21d 454 MCU_UTIL_DIVIDER__DIVIDEND_1 = 0x0416,
jvfausto 0:617f20c6b21d 455 MCU_UTIL_DIVIDER__DIVIDEND_0 = 0x0417,
jvfausto 0:617f20c6b21d 456 MCU_UTIL_DIVIDER__DIVISOR = 0x0418,
jvfausto 0:617f20c6b21d 457 MCU_UTIL_DIVIDER__DIVISOR_3 = 0x0418,
jvfausto 0:617f20c6b21d 458 MCU_UTIL_DIVIDER__DIVISOR_2 = 0x0419,
jvfausto 0:617f20c6b21d 459 MCU_UTIL_DIVIDER__DIVISOR_1 = 0x041A,
jvfausto 0:617f20c6b21d 460 MCU_UTIL_DIVIDER__DIVISOR_0 = 0x041B,
jvfausto 0:617f20c6b21d 461 MCU_UTIL_DIVIDER__QUOTIENT = 0x041C,
jvfausto 0:617f20c6b21d 462 MCU_UTIL_DIVIDER__QUOTIENT_3 = 0x041C,
jvfausto 0:617f20c6b21d 463 MCU_UTIL_DIVIDER__QUOTIENT_2 = 0x041D,
jvfausto 0:617f20c6b21d 464 MCU_UTIL_DIVIDER__QUOTIENT_1 = 0x041E,
jvfausto 0:617f20c6b21d 465 MCU_UTIL_DIVIDER__QUOTIENT_0 = 0x041F,
jvfausto 0:617f20c6b21d 466 TIMER0__VALUE_IN = 0x0420,
jvfausto 0:617f20c6b21d 467 TIMER0__VALUE_IN_3 = 0x0420,
jvfausto 0:617f20c6b21d 468 TIMER0__VALUE_IN_2 = 0x0421,
jvfausto 0:617f20c6b21d 469 TIMER0__VALUE_IN_1 = 0x0422,
jvfausto 0:617f20c6b21d 470 TIMER0__VALUE_IN_0 = 0x0423,
jvfausto 0:617f20c6b21d 471 TIMER1__VALUE_IN = 0x0424,
jvfausto 0:617f20c6b21d 472 TIMER1__VALUE_IN_3 = 0x0424,
jvfausto 0:617f20c6b21d 473 TIMER1__VALUE_IN_2 = 0x0425,
jvfausto 0:617f20c6b21d 474 TIMER1__VALUE_IN_1 = 0x0426,
jvfausto 0:617f20c6b21d 475 TIMER1__VALUE_IN_0 = 0x0427,
jvfausto 0:617f20c6b21d 476 TIMER0__CTRL = 0x0428,
jvfausto 0:617f20c6b21d 477 TIMER1__CTRL = 0x0429,
jvfausto 0:617f20c6b21d 478 MCU_GENERAL_PURPOSE__GP_0 = 0x042C,
jvfausto 0:617f20c6b21d 479 MCU_GENERAL_PURPOSE__GP_1 = 0x042D,
jvfausto 0:617f20c6b21d 480 MCU_GENERAL_PURPOSE__GP_2 = 0x042E,
jvfausto 0:617f20c6b21d 481 MCU_GENERAL_PURPOSE__GP_3 = 0x042F,
jvfausto 0:617f20c6b21d 482 MCU_RANGE_CALC__CONFIG = 0x0430,
jvfausto 0:617f20c6b21d 483 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE = 0x0432,
jvfausto 0:617f20c6b21d 484 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE_HI = 0x0432,
jvfausto 0:617f20c6b21d 485 MCU_RANGE_CALC__OFFSET_CORRECTED_RANGE_LO = 0x0433,
jvfausto 0:617f20c6b21d 486 MCU_RANGE_CALC__SPARE_4 = 0x0434,
jvfausto 0:617f20c6b21d 487 MCU_RANGE_CALC__SPARE_4_3 = 0x0434,
jvfausto 0:617f20c6b21d 488 MCU_RANGE_CALC__SPARE_4_2 = 0x0435,
jvfausto 0:617f20c6b21d 489 MCU_RANGE_CALC__SPARE_4_1 = 0x0436,
jvfausto 0:617f20c6b21d 490 MCU_RANGE_CALC__SPARE_4_0 = 0x0437,
jvfausto 0:617f20c6b21d 491 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC = 0x0438,
jvfausto 0:617f20c6b21d 492 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC_HI = 0x0438,
jvfausto 0:617f20c6b21d 493 MCU_RANGE_CALC__AMBIENT_DURATION_PRE_CALC_LO = 0x0439,
jvfausto 0:617f20c6b21d 494 MCU_RANGE_CALC__ALGO_VCSEL_PERIOD = 0x043C,
jvfausto 0:617f20c6b21d 495 MCU_RANGE_CALC__SPARE_5 = 0x043D,
jvfausto 0:617f20c6b21d 496 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS = 0x043E,
jvfausto 0:617f20c6b21d 497 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS_HI = 0x043E,
jvfausto 0:617f20c6b21d 498 MCU_RANGE_CALC__ALGO_TOTAL_PERIODS_LO = 0x043F,
jvfausto 0:617f20c6b21d 499 MCU_RANGE_CALC__ALGO_ACCUM_PHASE = 0x0440,
jvfausto 0:617f20c6b21d 500 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_3 = 0x0440,
jvfausto 0:617f20c6b21d 501 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_2 = 0x0441,
jvfausto 0:617f20c6b21d 502 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_1 = 0x0442,
jvfausto 0:617f20c6b21d 503 MCU_RANGE_CALC__ALGO_ACCUM_PHASE_0 = 0x0443,
jvfausto 0:617f20c6b21d 504 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS = 0x0444,
jvfausto 0:617f20c6b21d 505 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_3 = 0x0444,
jvfausto 0:617f20c6b21d 506 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_2 = 0x0445,
jvfausto 0:617f20c6b21d 507 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_1 = 0x0446,
jvfausto 0:617f20c6b21d 508 MCU_RANGE_CALC__ALGO_SIGNAL_EVENTS_0 = 0x0447,
jvfausto 0:617f20c6b21d 509 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS = 0x0448,
jvfausto 0:617f20c6b21d 510 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_3 = 0x0448,
jvfausto 0:617f20c6b21d 511 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_2 = 0x0449,
jvfausto 0:617f20c6b21d 512 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_1 = 0x044A,
jvfausto 0:617f20c6b21d 513 MCU_RANGE_CALC__ALGO_AMBIENT_EVENTS_0 = 0x044B,
jvfausto 0:617f20c6b21d 514 MCU_RANGE_CALC__SPARE_6 = 0x044C,
jvfausto 0:617f20c6b21d 515 MCU_RANGE_CALC__SPARE_6_HI = 0x044C,
jvfausto 0:617f20c6b21d 516 MCU_RANGE_CALC__SPARE_6_LO = 0x044D,
jvfausto 0:617f20c6b21d 517 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD = 0x044E,
jvfausto 0:617f20c6b21d 518 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD_HI = 0x044E,
jvfausto 0:617f20c6b21d 519 MCU_RANGE_CALC__ALGO_ADJUST_VCSEL_PERIOD_LO = 0x044F,
jvfausto 0:617f20c6b21d 520 MCU_RANGE_CALC__NUM_SPADS = 0x0450,
jvfausto 0:617f20c6b21d 521 MCU_RANGE_CALC__NUM_SPADS_HI = 0x0450,
jvfausto 0:617f20c6b21d 522 MCU_RANGE_CALC__NUM_SPADS_LO = 0x0451,
jvfausto 0:617f20c6b21d 523 MCU_RANGE_CALC__PHASE_OUTPUT = 0x0452,
jvfausto 0:617f20c6b21d 524 MCU_RANGE_CALC__PHASE_OUTPUT_HI = 0x0452,
jvfausto 0:617f20c6b21d 525 MCU_RANGE_CALC__PHASE_OUTPUT_LO = 0x0453,
jvfausto 0:617f20c6b21d 526 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS = 0x0454,
jvfausto 0:617f20c6b21d 527 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_3 = 0x0454,
jvfausto 0:617f20c6b21d 528 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_2 = 0x0455,
jvfausto 0:617f20c6b21d 529 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_1 = 0x0456,
jvfausto 0:617f20c6b21d 530 MCU_RANGE_CALC__RATE_PER_SPAD_MCPS_0 = 0x0457,
jvfausto 0:617f20c6b21d 531 MCU_RANGE_CALC__SPARE_7 = 0x0458,
jvfausto 0:617f20c6b21d 532 MCU_RANGE_CALC__SPARE_8 = 0x0459,
jvfausto 0:617f20c6b21d 533 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS = 0x045A,
jvfausto 0:617f20c6b21d 534 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS_HI = 0x045A,
jvfausto 0:617f20c6b21d 535 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_MCPS_LO = 0x045B,
jvfausto 0:617f20c6b21d 536 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS = 0x045C,
jvfausto 0:617f20c6b21d 537 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS_HI = 0x045C,
jvfausto 0:617f20c6b21d 538 MCU_RANGE_CALC__AVG_SIGNAL_RATE_MCPS_LO = 0x045D,
jvfausto 0:617f20c6b21d 539 MCU_RANGE_CALC__AMBIENT_RATE_MCPS = 0x045E,
jvfausto 0:617f20c6b21d 540 MCU_RANGE_CALC__AMBIENT_RATE_MCPS_HI = 0x045E,
jvfausto 0:617f20c6b21d 541 MCU_RANGE_CALC__AMBIENT_RATE_MCPS_LO = 0x045F,
jvfausto 0:617f20c6b21d 542 MCU_RANGE_CALC__XTALK = 0x0460,
jvfausto 0:617f20c6b21d 543 MCU_RANGE_CALC__XTALK_HI = 0x0460,
jvfausto 0:617f20c6b21d 544 MCU_RANGE_CALC__XTALK_LO = 0x0461,
jvfausto 0:617f20c6b21d 545 MCU_RANGE_CALC__CALC_STATUS = 0x0462,
jvfausto 0:617f20c6b21d 546 MCU_RANGE_CALC__DEBUG = 0x0463,
jvfausto 0:617f20c6b21d 547 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS = 0x0464,
jvfausto 0:617f20c6b21d 548 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_HI = 0x0464,
jvfausto 0:617f20c6b21d 549 MCU_RANGE_CALC__PEAK_SIGNAL_RATE_XTALK_CORR_MCPS_LO = 0x0465,
jvfausto 0:617f20c6b21d 550 MCU_RANGE_CALC__SPARE_0 = 0x0468,
jvfausto 0:617f20c6b21d 551 MCU_RANGE_CALC__SPARE_1 = 0x0469,
jvfausto 0:617f20c6b21d 552 MCU_RANGE_CALC__SPARE_2 = 0x046A,
jvfausto 0:617f20c6b21d 553 MCU_RANGE_CALC__SPARE_3 = 0x046B,
jvfausto 0:617f20c6b21d 554 PATCH__CTRL = 0x0470,
jvfausto 0:617f20c6b21d 555 PATCH__JMP_ENABLES = 0x0472,
jvfausto 0:617f20c6b21d 556 PATCH__JMP_ENABLES_HI = 0x0472,
jvfausto 0:617f20c6b21d 557 PATCH__JMP_ENABLES_LO = 0x0473,
jvfausto 0:617f20c6b21d 558 PATCH__DATA_ENABLES = 0x0474,
jvfausto 0:617f20c6b21d 559 PATCH__DATA_ENABLES_HI = 0x0474,
jvfausto 0:617f20c6b21d 560 PATCH__DATA_ENABLES_LO = 0x0475,
jvfausto 0:617f20c6b21d 561 PATCH__OFFSET_0 = 0x0476,
jvfausto 0:617f20c6b21d 562 PATCH__OFFSET_0_HI = 0x0476,
jvfausto 0:617f20c6b21d 563 PATCH__OFFSET_0_LO = 0x0477,
jvfausto 0:617f20c6b21d 564 PATCH__OFFSET_1 = 0x0478,
jvfausto 0:617f20c6b21d 565 PATCH__OFFSET_1_HI = 0x0478,
jvfausto 0:617f20c6b21d 566 PATCH__OFFSET_1_LO = 0x0479,
jvfausto 0:617f20c6b21d 567 PATCH__OFFSET_2 = 0x047A,
jvfausto 0:617f20c6b21d 568 PATCH__OFFSET_2_HI = 0x047A,
jvfausto 0:617f20c6b21d 569 PATCH__OFFSET_2_LO = 0x047B,
jvfausto 0:617f20c6b21d 570 PATCH__OFFSET_3 = 0x047C,
jvfausto 0:617f20c6b21d 571 PATCH__OFFSET_3_HI = 0x047C,
jvfausto 0:617f20c6b21d 572 PATCH__OFFSET_3_LO = 0x047D,
jvfausto 0:617f20c6b21d 573 PATCH__OFFSET_4 = 0x047E,
jvfausto 0:617f20c6b21d 574 PATCH__OFFSET_4_HI = 0x047E,
jvfausto 0:617f20c6b21d 575 PATCH__OFFSET_4_LO = 0x047F,
jvfausto 0:617f20c6b21d 576 PATCH__OFFSET_5 = 0x0480,
jvfausto 0:617f20c6b21d 577 PATCH__OFFSET_5_HI = 0x0480,
jvfausto 0:617f20c6b21d 578 PATCH__OFFSET_5_LO = 0x0481,
jvfausto 0:617f20c6b21d 579 PATCH__OFFSET_6 = 0x0482,
jvfausto 0:617f20c6b21d 580 PATCH__OFFSET_6_HI = 0x0482,
jvfausto 0:617f20c6b21d 581 PATCH__OFFSET_6_LO = 0x0483,
jvfausto 0:617f20c6b21d 582 PATCH__OFFSET_7 = 0x0484,
jvfausto 0:617f20c6b21d 583 PATCH__OFFSET_7_HI = 0x0484,
jvfausto 0:617f20c6b21d 584 PATCH__OFFSET_7_LO = 0x0485,
jvfausto 0:617f20c6b21d 585 PATCH__OFFSET_8 = 0x0486,
jvfausto 0:617f20c6b21d 586 PATCH__OFFSET_8_HI = 0x0486,
jvfausto 0:617f20c6b21d 587 PATCH__OFFSET_8_LO = 0x0487,
jvfausto 0:617f20c6b21d 588 PATCH__OFFSET_9 = 0x0488,
jvfausto 0:617f20c6b21d 589 PATCH__OFFSET_9_HI = 0x0488,
jvfausto 0:617f20c6b21d 590 PATCH__OFFSET_9_LO = 0x0489,
jvfausto 0:617f20c6b21d 591 PATCH__OFFSET_10 = 0x048A,
jvfausto 0:617f20c6b21d 592 PATCH__OFFSET_10_HI = 0x048A,
jvfausto 0:617f20c6b21d 593 PATCH__OFFSET_10_LO = 0x048B,
jvfausto 0:617f20c6b21d 594 PATCH__OFFSET_11 = 0x048C,
jvfausto 0:617f20c6b21d 595 PATCH__OFFSET_11_HI = 0x048C,
jvfausto 0:617f20c6b21d 596 PATCH__OFFSET_11_LO = 0x048D,
jvfausto 0:617f20c6b21d 597 PATCH__OFFSET_12 = 0x048E,
jvfausto 0:617f20c6b21d 598 PATCH__OFFSET_12_HI = 0x048E,
jvfausto 0:617f20c6b21d 599 PATCH__OFFSET_12_LO = 0x048F,
jvfausto 0:617f20c6b21d 600 PATCH__OFFSET_13 = 0x0490,
jvfausto 0:617f20c6b21d 601 PATCH__OFFSET_13_HI = 0x0490,
jvfausto 0:617f20c6b21d 602 PATCH__OFFSET_13_LO = 0x0491,
jvfausto 0:617f20c6b21d 603 PATCH__OFFSET_14 = 0x0492,
jvfausto 0:617f20c6b21d 604 PATCH__OFFSET_14_HI = 0x0492,
jvfausto 0:617f20c6b21d 605 PATCH__OFFSET_14_LO = 0x0493,
jvfausto 0:617f20c6b21d 606 PATCH__OFFSET_15 = 0x0494,
jvfausto 0:617f20c6b21d 607 PATCH__OFFSET_15_HI = 0x0494,
jvfausto 0:617f20c6b21d 608 PATCH__OFFSET_15_LO = 0x0495,
jvfausto 0:617f20c6b21d 609 PATCH__ADDRESS_0 = 0x0496,
jvfausto 0:617f20c6b21d 610 PATCH__ADDRESS_0_HI = 0x0496,
jvfausto 0:617f20c6b21d 611 PATCH__ADDRESS_0_LO = 0x0497,
jvfausto 0:617f20c6b21d 612 PATCH__ADDRESS_1 = 0x0498,
jvfausto 0:617f20c6b21d 613 PATCH__ADDRESS_1_HI = 0x0498,
jvfausto 0:617f20c6b21d 614 PATCH__ADDRESS_1_LO = 0x0499,
jvfausto 0:617f20c6b21d 615 PATCH__ADDRESS_2 = 0x049A,
jvfausto 0:617f20c6b21d 616 PATCH__ADDRESS_2_HI = 0x049A,
jvfausto 0:617f20c6b21d 617 PATCH__ADDRESS_2_LO = 0x049B,
jvfausto 0:617f20c6b21d 618 PATCH__ADDRESS_3 = 0x049C,
jvfausto 0:617f20c6b21d 619 PATCH__ADDRESS_3_HI = 0x049C,
jvfausto 0:617f20c6b21d 620 PATCH__ADDRESS_3_LO = 0x049D,
jvfausto 0:617f20c6b21d 621 PATCH__ADDRESS_4 = 0x049E,
jvfausto 0:617f20c6b21d 622 PATCH__ADDRESS_4_HI = 0x049E,
jvfausto 0:617f20c6b21d 623 PATCH__ADDRESS_4_LO = 0x049F,
jvfausto 0:617f20c6b21d 624 PATCH__ADDRESS_5 = 0x04A0,
jvfausto 0:617f20c6b21d 625 PATCH__ADDRESS_5_HI = 0x04A0,
jvfausto 0:617f20c6b21d 626 PATCH__ADDRESS_5_LO = 0x04A1,
jvfausto 0:617f20c6b21d 627 PATCH__ADDRESS_6 = 0x04A2,
jvfausto 0:617f20c6b21d 628 PATCH__ADDRESS_6_HI = 0x04A2,
jvfausto 0:617f20c6b21d 629 PATCH__ADDRESS_6_LO = 0x04A3,
jvfausto 0:617f20c6b21d 630 PATCH__ADDRESS_7 = 0x04A4,
jvfausto 0:617f20c6b21d 631 PATCH__ADDRESS_7_HI = 0x04A4,
jvfausto 0:617f20c6b21d 632 PATCH__ADDRESS_7_LO = 0x04A5,
jvfausto 0:617f20c6b21d 633 PATCH__ADDRESS_8 = 0x04A6,
jvfausto 0:617f20c6b21d 634 PATCH__ADDRESS_8_HI = 0x04A6,
jvfausto 0:617f20c6b21d 635 PATCH__ADDRESS_8_LO = 0x04A7,
jvfausto 0:617f20c6b21d 636 PATCH__ADDRESS_9 = 0x04A8,
jvfausto 0:617f20c6b21d 637 PATCH__ADDRESS_9_HI = 0x04A8,
jvfausto 0:617f20c6b21d 638 PATCH__ADDRESS_9_LO = 0x04A9,
jvfausto 0:617f20c6b21d 639 PATCH__ADDRESS_10 = 0x04AA,
jvfausto 0:617f20c6b21d 640 PATCH__ADDRESS_10_HI = 0x04AA,
jvfausto 0:617f20c6b21d 641 PATCH__ADDRESS_10_LO = 0x04AB,
jvfausto 0:617f20c6b21d 642 PATCH__ADDRESS_11 = 0x04AC,
jvfausto 0:617f20c6b21d 643 PATCH__ADDRESS_11_HI = 0x04AC,
jvfausto 0:617f20c6b21d 644 PATCH__ADDRESS_11_LO = 0x04AD,
jvfausto 0:617f20c6b21d 645 PATCH__ADDRESS_12 = 0x04AE,
jvfausto 0:617f20c6b21d 646 PATCH__ADDRESS_12_HI = 0x04AE,
jvfausto 0:617f20c6b21d 647 PATCH__ADDRESS_12_LO = 0x04AF,
jvfausto 0:617f20c6b21d 648 PATCH__ADDRESS_13 = 0x04B0,
jvfausto 0:617f20c6b21d 649 PATCH__ADDRESS_13_HI = 0x04B0,
jvfausto 0:617f20c6b21d 650 PATCH__ADDRESS_13_LO = 0x04B1,
jvfausto 0:617f20c6b21d 651 PATCH__ADDRESS_14 = 0x04B2,
jvfausto 0:617f20c6b21d 652 PATCH__ADDRESS_14_HI = 0x04B2,
jvfausto 0:617f20c6b21d 653 PATCH__ADDRESS_14_LO = 0x04B3,
jvfausto 0:617f20c6b21d 654 PATCH__ADDRESS_15 = 0x04B4,
jvfausto 0:617f20c6b21d 655 PATCH__ADDRESS_15_HI = 0x04B4,
jvfausto 0:617f20c6b21d 656 PATCH__ADDRESS_15_LO = 0x04B5,
jvfausto 0:617f20c6b21d 657 SPI_ASYNC_MUX__CTRL = 0x04C0,
jvfausto 0:617f20c6b21d 658 CLK__CONFIG = 0x04C4,
jvfausto 0:617f20c6b21d 659 GPIO_LV_MUX__CTRL = 0x04CC,
jvfausto 0:617f20c6b21d 660 GPIO_LV_PAD__CTRL = 0x04CD,
jvfausto 0:617f20c6b21d 661 PAD_I2C_LV__CONFIG = 0x04D0,
jvfausto 0:617f20c6b21d 662 PAD_STARTUP_MODE__VALUE_RO_GO1 = 0x04D4,
jvfausto 0:617f20c6b21d 663 HOST_IF__STATUS_GO1 = 0x04D5,
jvfausto 0:617f20c6b21d 664 MCU_CLK_GATING__CTRL = 0x04D8,
jvfausto 0:617f20c6b21d 665 TEST__BIST_ROM_CTRL = 0x04E0,
jvfausto 0:617f20c6b21d 666 TEST__BIST_ROM_RESULT = 0x04E1,
jvfausto 0:617f20c6b21d 667 TEST__BIST_ROM_MCU_SIG = 0x04E2,
jvfausto 0:617f20c6b21d 668 TEST__BIST_ROM_MCU_SIG_HI = 0x04E2,
jvfausto 0:617f20c6b21d 669 TEST__BIST_ROM_MCU_SIG_LO = 0x04E3,
jvfausto 0:617f20c6b21d 670 TEST__BIST_RAM_CTRL = 0x04E4,
jvfausto 0:617f20c6b21d 671 TEST__BIST_RAM_RESULT = 0x04E5,
jvfausto 0:617f20c6b21d 672 TEST__TMC = 0x04E8,
jvfausto 0:617f20c6b21d 673 TEST__PLL_BIST_MIN_THRESHOLD = 0x04F0,
jvfausto 0:617f20c6b21d 674 TEST__PLL_BIST_MIN_THRESHOLD_HI = 0x04F0,
jvfausto 0:617f20c6b21d 675 TEST__PLL_BIST_MIN_THRESHOLD_LO = 0x04F1,
jvfausto 0:617f20c6b21d 676 TEST__PLL_BIST_MAX_THRESHOLD = 0x04F2,
jvfausto 0:617f20c6b21d 677 TEST__PLL_BIST_MAX_THRESHOLD_HI = 0x04F2,
jvfausto 0:617f20c6b21d 678 TEST__PLL_BIST_MAX_THRESHOLD_LO = 0x04F3,
jvfausto 0:617f20c6b21d 679 TEST__PLL_BIST_COUNT_OUT = 0x04F4,
jvfausto 0:617f20c6b21d 680 TEST__PLL_BIST_COUNT_OUT_HI = 0x04F4,
jvfausto 0:617f20c6b21d 681 TEST__PLL_BIST_COUNT_OUT_LO = 0x04F5,
jvfausto 0:617f20c6b21d 682 TEST__PLL_BIST_GONOGO = 0x04F6,
jvfausto 0:617f20c6b21d 683 TEST__PLL_BIST_CTRL = 0x04F7,
jvfausto 0:617f20c6b21d 684 RANGING_CORE__DEVICE_ID = 0x0680,
jvfausto 0:617f20c6b21d 685 RANGING_CORE__REVISION_ID = 0x0681,
jvfausto 0:617f20c6b21d 686 RANGING_CORE__CLK_CTRL1 = 0x0683,
jvfausto 0:617f20c6b21d 687 RANGING_CORE__CLK_CTRL2 = 0x0684,
jvfausto 0:617f20c6b21d 688 RANGING_CORE__WOI_1 = 0x0685,
jvfausto 0:617f20c6b21d 689 RANGING_CORE__WOI_REF_1 = 0x0686,
jvfausto 0:617f20c6b21d 690 RANGING_CORE__START_RANGING = 0x0687,
jvfausto 0:617f20c6b21d 691 RANGING_CORE__LOW_LIMIT_1 = 0x0690,
jvfausto 0:617f20c6b21d 692 RANGING_CORE__HIGH_LIMIT_1 = 0x0691,
jvfausto 0:617f20c6b21d 693 RANGING_CORE__LOW_LIMIT_REF_1 = 0x0692,
jvfausto 0:617f20c6b21d 694 RANGING_CORE__HIGH_LIMIT_REF_1 = 0x0693,
jvfausto 0:617f20c6b21d 695 RANGING_CORE__QUANTIFIER_1_MSB = 0x0694,
jvfausto 0:617f20c6b21d 696 RANGING_CORE__QUANTIFIER_1_LSB = 0x0695,
jvfausto 0:617f20c6b21d 697 RANGING_CORE__QUANTIFIER_REF_1_MSB = 0x0696,
jvfausto 0:617f20c6b21d 698 RANGING_CORE__QUANTIFIER_REF_1_LSB = 0x0697,
jvfausto 0:617f20c6b21d 699 RANGING_CORE__AMBIENT_OFFSET_1_MSB = 0x0698,
jvfausto 0:617f20c6b21d 700 RANGING_CORE__AMBIENT_OFFSET_1_LSB = 0x0699,
jvfausto 0:617f20c6b21d 701 RANGING_CORE__AMBIENT_OFFSET_REF_1_MSB = 0x069A,
jvfausto 0:617f20c6b21d 702 RANGING_CORE__AMBIENT_OFFSET_REF_1_LSB = 0x069B,
jvfausto 0:617f20c6b21d 703 RANGING_CORE__FILTER_STRENGTH_1 = 0x069C,
jvfausto 0:617f20c6b21d 704 RANGING_CORE__FILTER_STRENGTH_REF_1 = 0x069D,
jvfausto 0:617f20c6b21d 705 RANGING_CORE__SIGNAL_EVENT_LIMIT_1_MSB = 0x069E,
jvfausto 0:617f20c6b21d 706 RANGING_CORE__SIGNAL_EVENT_LIMIT_1_LSB = 0x069F,
jvfausto 0:617f20c6b21d 707 RANGING_CORE__SIGNAL_EVENT_LIMIT_REF_1_MSB = 0x06A0,
jvfausto 0:617f20c6b21d 708 RANGING_CORE__SIGNAL_EVENT_LIMIT_REF_1_LSB = 0x06A1,
jvfausto 0:617f20c6b21d 709 RANGING_CORE__TIMEOUT_OVERALL_PERIODS_MSB = 0x06A4,
jvfausto 0:617f20c6b21d 710 RANGING_CORE__TIMEOUT_OVERALL_PERIODS_LSB = 0x06A5,
jvfausto 0:617f20c6b21d 711 RANGING_CORE__INVERT_HW = 0x06A6,
jvfausto 0:617f20c6b21d 712 RANGING_CORE__FORCE_HW = 0x06A7,
jvfausto 0:617f20c6b21d 713 RANGING_CORE__STATIC_HW_VALUE = 0x06A8,
jvfausto 0:617f20c6b21d 714 RANGING_CORE__FORCE_CONTINUOUS_AMBIENT = 0x06A9,
jvfausto 0:617f20c6b21d 715 RANGING_CORE__TEST_PHASE_SELECT_TO_FILTER = 0x06AA,
jvfausto 0:617f20c6b21d 716 RANGING_CORE__TEST_PHASE_SELECT_TO_TIMING_GEN = 0x06AB,
jvfausto 0:617f20c6b21d 717 RANGING_CORE__INITIAL_PHASE_VALUE_1 = 0x06AC,
jvfausto 0:617f20c6b21d 718 RANGING_CORE__INITIAL_PHASE_VALUE_REF_1 = 0x06AD,
jvfausto 0:617f20c6b21d 719 RANGING_CORE__FORCE_UP_IN = 0x06AE,
jvfausto 0:617f20c6b21d 720 RANGING_CORE__FORCE_DN_IN = 0x06AF,
jvfausto 0:617f20c6b21d 721 RANGING_CORE__STATIC_UP_VALUE_1 = 0x06B0,
jvfausto 0:617f20c6b21d 722 RANGING_CORE__STATIC_UP_VALUE_REF_1 = 0x06B1,
jvfausto 0:617f20c6b21d 723 RANGING_CORE__STATIC_DN_VALUE_1 = 0x06B2,
jvfausto 0:617f20c6b21d 724 RANGING_CORE__STATIC_DN_VALUE_REF_1 = 0x06B3,
jvfausto 0:617f20c6b21d 725 RANGING_CORE__MONITOR_UP_DN = 0x06B4,
jvfausto 0:617f20c6b21d 726 RANGING_CORE__INVERT_UP_DN = 0x06B5,
jvfausto 0:617f20c6b21d 727 RANGING_CORE__CPUMP_1 = 0x06B6,
jvfausto 0:617f20c6b21d 728 RANGING_CORE__CPUMP_2 = 0x06B7,
jvfausto 0:617f20c6b21d 729 RANGING_CORE__CPUMP_3 = 0x06B8,
jvfausto 0:617f20c6b21d 730 RANGING_CORE__OSC_1 = 0x06B9,
jvfausto 0:617f20c6b21d 731 RANGING_CORE__PLL_1 = 0x06BB,
jvfausto 0:617f20c6b21d 732 RANGING_CORE__PLL_2 = 0x06BC,
jvfausto 0:617f20c6b21d 733 RANGING_CORE__REFERENCE_1 = 0x06BD,
jvfausto 0:617f20c6b21d 734 RANGING_CORE__REFERENCE_3 = 0x06BF,
jvfausto 0:617f20c6b21d 735 RANGING_CORE__REFERENCE_4 = 0x06C0,
jvfausto 0:617f20c6b21d 736 RANGING_CORE__REFERENCE_5 = 0x06C1,
jvfausto 0:617f20c6b21d 737 RANGING_CORE__REGAVDD1V2 = 0x06C3,
jvfausto 0:617f20c6b21d 738 RANGING_CORE__CALIB_1 = 0x06C4,
jvfausto 0:617f20c6b21d 739 RANGING_CORE__CALIB_2 = 0x06C5,
jvfausto 0:617f20c6b21d 740 RANGING_CORE__CALIB_3 = 0x06C6,
jvfausto 0:617f20c6b21d 741 RANGING_CORE__TST_MUX_SEL1 = 0x06C9,
jvfausto 0:617f20c6b21d 742 RANGING_CORE__TST_MUX_SEL2 = 0x06CA,
jvfausto 0:617f20c6b21d 743 RANGING_CORE__TST_MUX = 0x06CB,
jvfausto 0:617f20c6b21d 744 RANGING_CORE__GPIO_OUT_TESTMUX = 0x06CC,
jvfausto 0:617f20c6b21d 745 RANGING_CORE__CUSTOM_FE = 0x06CD,
jvfausto 0:617f20c6b21d 746 RANGING_CORE__CUSTOM_FE_2 = 0x06CE,
jvfausto 0:617f20c6b21d 747 RANGING_CORE__SPAD_READOUT = 0x06CF,
jvfausto 0:617f20c6b21d 748 RANGING_CORE__SPAD_READOUT_1 = 0x06D0,
jvfausto 0:617f20c6b21d 749 RANGING_CORE__SPAD_READOUT_2 = 0x06D1,
jvfausto 0:617f20c6b21d 750 RANGING_CORE__SPAD_PS = 0x06D2,
jvfausto 0:617f20c6b21d 751 RANGING_CORE__LASER_SAFETY_2 = 0x06D4,
jvfausto 0:617f20c6b21d 752 RANGING_CORE__NVM_CTRL__MODE = 0x0780,
jvfausto 0:617f20c6b21d 753 RANGING_CORE__NVM_CTRL__PDN = 0x0781,
jvfausto 0:617f20c6b21d 754 RANGING_CORE__NVM_CTRL__PROGN = 0x0782,
jvfausto 0:617f20c6b21d 755 RANGING_CORE__NVM_CTRL__READN = 0x0783,
jvfausto 0:617f20c6b21d 756 RANGING_CORE__NVM_CTRL__PULSE_WIDTH_MSB = 0x0784,
jvfausto 0:617f20c6b21d 757 RANGING_CORE__NVM_CTRL__PULSE_WIDTH_LSB = 0x0785,
jvfausto 0:617f20c6b21d 758 RANGING_CORE__NVM_CTRL__HV_RISE_MSB = 0x0786,
jvfausto 0:617f20c6b21d 759 RANGING_CORE__NVM_CTRL__HV_RISE_LSB = 0x0787,
jvfausto 0:617f20c6b21d 760 RANGING_CORE__NVM_CTRL__HV_FALL_MSB = 0x0788,
jvfausto 0:617f20c6b21d 761 RANGING_CORE__NVM_CTRL__HV_FALL_LSB = 0x0789,
jvfausto 0:617f20c6b21d 762 RANGING_CORE__NVM_CTRL__TST = 0x078A,
jvfausto 0:617f20c6b21d 763 RANGING_CORE__NVM_CTRL__TESTREAD = 0x078B,
jvfausto 0:617f20c6b21d 764 RANGING_CORE__NVM_CTRL__DATAIN_MMM = 0x078C,
jvfausto 0:617f20c6b21d 765 RANGING_CORE__NVM_CTRL__DATAIN_LMM = 0x078D,
jvfausto 0:617f20c6b21d 766 RANGING_CORE__NVM_CTRL__DATAIN_LLM = 0x078E,
jvfausto 0:617f20c6b21d 767 RANGING_CORE__NVM_CTRL__DATAIN_LLL = 0x078F,
jvfausto 0:617f20c6b21d 768 RANGING_CORE__NVM_CTRL__DATAOUT_MMM = 0x0790,
jvfausto 0:617f20c6b21d 769 RANGING_CORE__NVM_CTRL__DATAOUT_LMM = 0x0791,
jvfausto 0:617f20c6b21d 770 RANGING_CORE__NVM_CTRL__DATAOUT_LLM = 0x0792,
jvfausto 0:617f20c6b21d 771 RANGING_CORE__NVM_CTRL__DATAOUT_LLL = 0x0793,
jvfausto 0:617f20c6b21d 772 RANGING_CORE__NVM_CTRL__ADDR = 0x0794,
jvfausto 0:617f20c6b21d 773 RANGING_CORE__NVM_CTRL__DATAOUT_ECC = 0x0795,
jvfausto 0:617f20c6b21d 774 RANGING_CORE__RET_SPAD_EN_0 = 0x0796,
jvfausto 0:617f20c6b21d 775 RANGING_CORE__RET_SPAD_EN_1 = 0x0797,
jvfausto 0:617f20c6b21d 776 RANGING_CORE__RET_SPAD_EN_2 = 0x0798,
jvfausto 0:617f20c6b21d 777 RANGING_CORE__RET_SPAD_EN_3 = 0x0799,
jvfausto 0:617f20c6b21d 778 RANGING_CORE__RET_SPAD_EN_4 = 0x079A,
jvfausto 0:617f20c6b21d 779 RANGING_CORE__RET_SPAD_EN_5 = 0x079B,
jvfausto 0:617f20c6b21d 780 RANGING_CORE__RET_SPAD_EN_6 = 0x079C,
jvfausto 0:617f20c6b21d 781 RANGING_CORE__RET_SPAD_EN_7 = 0x079D,
jvfausto 0:617f20c6b21d 782 RANGING_CORE__RET_SPAD_EN_8 = 0x079E,
jvfausto 0:617f20c6b21d 783 RANGING_CORE__RET_SPAD_EN_9 = 0x079F,
jvfausto 0:617f20c6b21d 784 RANGING_CORE__RET_SPAD_EN_10 = 0x07A0,
jvfausto 0:617f20c6b21d 785 RANGING_CORE__RET_SPAD_EN_11 = 0x07A1,
jvfausto 0:617f20c6b21d 786 RANGING_CORE__RET_SPAD_EN_12 = 0x07A2,
jvfausto 0:617f20c6b21d 787 RANGING_CORE__RET_SPAD_EN_13 = 0x07A3,
jvfausto 0:617f20c6b21d 788 RANGING_CORE__RET_SPAD_EN_14 = 0x07A4,
jvfausto 0:617f20c6b21d 789 RANGING_CORE__RET_SPAD_EN_15 = 0x07A5,
jvfausto 0:617f20c6b21d 790 RANGING_CORE__RET_SPAD_EN_16 = 0x07A6,
jvfausto 0:617f20c6b21d 791 RANGING_CORE__RET_SPAD_EN_17 = 0x07A7,
jvfausto 0:617f20c6b21d 792 RANGING_CORE__SPAD_SHIFT_EN = 0x07BA,
jvfausto 0:617f20c6b21d 793 RANGING_CORE__SPAD_DISABLE_CTRL = 0x07BB,
jvfausto 0:617f20c6b21d 794 RANGING_CORE__SPAD_EN_SHIFT_OUT_DEBUG = 0x07BC,
jvfausto 0:617f20c6b21d 795 RANGING_CORE__SPI_MODE = 0x07BD,
jvfausto 0:617f20c6b21d 796 RANGING_CORE__GPIO_DIR = 0x07BE,
jvfausto 0:617f20c6b21d 797 RANGING_CORE__VCSEL_PERIOD = 0x0880,
jvfausto 0:617f20c6b21d 798 RANGING_CORE__VCSEL_START = 0x0881,
jvfausto 0:617f20c6b21d 799 RANGING_CORE__VCSEL_STOP = 0x0882,
jvfausto 0:617f20c6b21d 800 RANGING_CORE__VCSEL_1 = 0x0885,
jvfausto 0:617f20c6b21d 801 RANGING_CORE__VCSEL_STATUS = 0x088D,
jvfausto 0:617f20c6b21d 802 RANGING_CORE__STATUS = 0x0980,
jvfausto 0:617f20c6b21d 803 RANGING_CORE__LASER_CONTINUITY_STATE = 0x0981,
jvfausto 0:617f20c6b21d 804 RANGING_CORE__RANGE_1_MMM = 0x0982,
jvfausto 0:617f20c6b21d 805 RANGING_CORE__RANGE_1_LMM = 0x0983,
jvfausto 0:617f20c6b21d 806 RANGING_CORE__RANGE_1_LLM = 0x0984,
jvfausto 0:617f20c6b21d 807 RANGING_CORE__RANGE_1_LLL = 0x0985,
jvfausto 0:617f20c6b21d 808 RANGING_CORE__RANGE_REF_1_MMM = 0x0986,
jvfausto 0:617f20c6b21d 809 RANGING_CORE__RANGE_REF_1_LMM = 0x0987,
jvfausto 0:617f20c6b21d 810 RANGING_CORE__RANGE_REF_1_LLM = 0x0988,
jvfausto 0:617f20c6b21d 811 RANGING_CORE__RANGE_REF_1_LLL = 0x0989,
jvfausto 0:617f20c6b21d 812 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_MMM = 0x098A,
jvfausto 0:617f20c6b21d 813 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LMM = 0x098B,
jvfausto 0:617f20c6b21d 814 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LLM = 0x098C,
jvfausto 0:617f20c6b21d 815 RANGING_CORE__AMBIENT_WINDOW_EVENTS_1_LLL = 0x098D,
jvfausto 0:617f20c6b21d 816 RANGING_CORE__RANGING_TOTAL_EVENTS_1_MMM = 0x098E,
jvfausto 0:617f20c6b21d 817 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LMM = 0x098F,
jvfausto 0:617f20c6b21d 818 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LLM = 0x0990,
jvfausto 0:617f20c6b21d 819 RANGING_CORE__RANGING_TOTAL_EVENTS_1_LLL = 0x0991,
jvfausto 0:617f20c6b21d 820 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_MMM = 0x0992,
jvfausto 0:617f20c6b21d 821 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LMM = 0x0993,
jvfausto 0:617f20c6b21d 822 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LLM = 0x0994,
jvfausto 0:617f20c6b21d 823 RANGING_CORE__SIGNAL_TOTAL_EVENTS_1_LLL = 0x0995,
jvfausto 0:617f20c6b21d 824 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_MM = 0x0996,
jvfausto 0:617f20c6b21d 825 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_LM = 0x0997,
jvfausto 0:617f20c6b21d 826 RANGING_CORE__TOTAL_PERIODS_ELAPSED_1_LL = 0x0998,
jvfausto 0:617f20c6b21d 827 RANGING_CORE__AMBIENT_MISMATCH_MM = 0x0999,
jvfausto 0:617f20c6b21d 828 RANGING_CORE__AMBIENT_MISMATCH_LM = 0x099A,
jvfausto 0:617f20c6b21d 829 RANGING_CORE__AMBIENT_MISMATCH_LL = 0x099B,
jvfausto 0:617f20c6b21d 830 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_MMM = 0x099C,
jvfausto 0:617f20c6b21d 831 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LMM = 0x099D,
jvfausto 0:617f20c6b21d 832 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LLM = 0x099E,
jvfausto 0:617f20c6b21d 833 RANGING_CORE__AMBIENT_WINDOW_EVENTS_REF_1_LLL = 0x099F,
jvfausto 0:617f20c6b21d 834 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_MMM = 0x09A0,
jvfausto 0:617f20c6b21d 835 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LMM = 0x09A1,
jvfausto 0:617f20c6b21d 836 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LLM = 0x09A2,
jvfausto 0:617f20c6b21d 837 RANGING_CORE__RANGING_TOTAL_EVENTS_REF_1_LLL = 0x09A3,
jvfausto 0:617f20c6b21d 838 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_MMM = 0x09A4,
jvfausto 0:617f20c6b21d 839 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LMM = 0x09A5,
jvfausto 0:617f20c6b21d 840 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LLM = 0x09A6,
jvfausto 0:617f20c6b21d 841 RANGING_CORE__SIGNAL_TOTAL_EVENTS_REF_1_LLL = 0x09A7,
jvfausto 0:617f20c6b21d 842 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_MM = 0x09A8,
jvfausto 0:617f20c6b21d 843 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_LM = 0x09A9,
jvfausto 0:617f20c6b21d 844 RANGING_CORE__TOTAL_PERIODS_ELAPSED_REF_1_LL = 0x09AA,
jvfausto 0:617f20c6b21d 845 RANGING_CORE__AMBIENT_MISMATCH_REF_MM = 0x09AB,
jvfausto 0:617f20c6b21d 846 RANGING_CORE__AMBIENT_MISMATCH_REF_LM = 0x09AC,
jvfausto 0:617f20c6b21d 847 RANGING_CORE__AMBIENT_MISMATCH_REF_LL = 0x09AD,
jvfausto 0:617f20c6b21d 848 RANGING_CORE__GPIO_CONFIG__A0 = 0x0A00,
jvfausto 0:617f20c6b21d 849 RANGING_CORE__RESET_CONTROL__A0 = 0x0A01,
jvfausto 0:617f20c6b21d 850 RANGING_CORE__INTR_MANAGER__A0 = 0x0A02,
jvfausto 0:617f20c6b21d 851 RANGING_CORE__POWER_FSM_TIME_OSC__A0 = 0x0A06,
jvfausto 0:617f20c6b21d 852 RANGING_CORE__VCSEL_ATEST__A0 = 0x0A07,
jvfausto 0:617f20c6b21d 853 RANGING_CORE__VCSEL_PERIOD_CLIPPED__A0 = 0x0A08,
jvfausto 0:617f20c6b21d 854 RANGING_CORE__VCSEL_STOP_CLIPPED__A0 = 0x0A09,
jvfausto 0:617f20c6b21d 855 RANGING_CORE__CALIB_2__A0 = 0x0A0A,
jvfausto 0:617f20c6b21d 856 RANGING_CORE__STOP_CONDITION__A0 = 0x0A0B,
jvfausto 0:617f20c6b21d 857 RANGING_CORE__STATUS_RESET__A0 = 0x0A0C,
jvfausto 0:617f20c6b21d 858 RANGING_CORE__READOUT_CFG__A0 = 0x0A0D,
jvfausto 0:617f20c6b21d 859 RANGING_CORE__WINDOW_SETTING__A0 = 0x0A0E,
jvfausto 0:617f20c6b21d 860 RANGING_CORE__VCSEL_DELAY__A0 = 0x0A1A,
jvfausto 0:617f20c6b21d 861 RANGING_CORE__REFERENCE_2__A0 = 0x0A1B,
jvfausto 0:617f20c6b21d 862 RANGING_CORE__REGAVDD1V2__A0 = 0x0A1D,
jvfausto 0:617f20c6b21d 863 RANGING_CORE__TST_MUX__A0 = 0x0A1F,
jvfausto 0:617f20c6b21d 864 RANGING_CORE__CUSTOM_FE_2__A0 = 0x0A20,
jvfausto 0:617f20c6b21d 865 RANGING_CORE__SPAD_READOUT__A0 = 0x0A21,
jvfausto 0:617f20c6b21d 866 RANGING_CORE__CPUMP_1__A0 = 0x0A22,
jvfausto 0:617f20c6b21d 867 RANGING_CORE__SPARE_REGISTER__A0 = 0x0A23,
jvfausto 0:617f20c6b21d 868 RANGING_CORE__VCSEL_CONT_STAGE5_BYPASS__A0 = 0x0A24,
jvfausto 0:617f20c6b21d 869 RANGING_CORE__RET_SPAD_EN_18 = 0x0A25,
jvfausto 0:617f20c6b21d 870 RANGING_CORE__RET_SPAD_EN_19 = 0x0A26,
jvfausto 0:617f20c6b21d 871 RANGING_CORE__RET_SPAD_EN_20 = 0x0A27,
jvfausto 0:617f20c6b21d 872 RANGING_CORE__RET_SPAD_EN_21 = 0x0A28,
jvfausto 0:617f20c6b21d 873 RANGING_CORE__RET_SPAD_EN_22 = 0x0A29,
jvfausto 0:617f20c6b21d 874 RANGING_CORE__RET_SPAD_EN_23 = 0x0A2A,
jvfausto 0:617f20c6b21d 875 RANGING_CORE__RET_SPAD_EN_24 = 0x0A2B,
jvfausto 0:617f20c6b21d 876 RANGING_CORE__RET_SPAD_EN_25 = 0x0A2C,
jvfausto 0:617f20c6b21d 877 RANGING_CORE__RET_SPAD_EN_26 = 0x0A2D,
jvfausto 0:617f20c6b21d 878 RANGING_CORE__RET_SPAD_EN_27 = 0x0A2E,
jvfausto 0:617f20c6b21d 879 RANGING_CORE__RET_SPAD_EN_28 = 0x0A2F,
jvfausto 0:617f20c6b21d 880 RANGING_CORE__RET_SPAD_EN_29 = 0x0A30,
jvfausto 0:617f20c6b21d 881 RANGING_CORE__RET_SPAD_EN_30 = 0x0A31,
jvfausto 0:617f20c6b21d 882 RANGING_CORE__RET_SPAD_EN_31 = 0x0A32,
jvfausto 0:617f20c6b21d 883 RANGING_CORE__REF_SPAD_EN_0__EWOK = 0x0A33,
jvfausto 0:617f20c6b21d 884 RANGING_CORE__REF_SPAD_EN_1__EWOK = 0x0A34,
jvfausto 0:617f20c6b21d 885 RANGING_CORE__REF_SPAD_EN_2__EWOK = 0x0A35,
jvfausto 0:617f20c6b21d 886 RANGING_CORE__REF_SPAD_EN_3__EWOK = 0x0A36,
jvfausto 0:617f20c6b21d 887 RANGING_CORE__REF_SPAD_EN_4__EWOK = 0x0A37,
jvfausto 0:617f20c6b21d 888 RANGING_CORE__REF_SPAD_EN_5__EWOK = 0x0A38,
jvfausto 0:617f20c6b21d 889 RANGING_CORE__REF_EN_START_SELECT = 0x0A39,
jvfausto 0:617f20c6b21d 890 RANGING_CORE__REGDVDD1V2_ATEST__EWOK = 0x0A41,
jvfausto 0:617f20c6b21d 891 SOFT_RESET_GO1 = 0x0B00,
jvfausto 0:617f20c6b21d 892 PRIVATE__PATCH_BASE_ADDR_RSLV = 0x0E00,
jvfausto 0:617f20c6b21d 893 PREV_SHADOW_RESULT__INTERRUPT_STATUS = 0x0ED0,
jvfausto 0:617f20c6b21d 894 PREV_SHADOW_RESULT__RANGE_STATUS = 0x0ED1,
jvfausto 0:617f20c6b21d 895 PREV_SHADOW_RESULT__REPORT_STATUS = 0x0ED2,
jvfausto 0:617f20c6b21d 896 PREV_SHADOW_RESULT__STREAM_COUNT = 0x0ED3,
jvfausto 0:617f20c6b21d 897 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0ED4,
jvfausto 0:617f20c6b21d 898 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0ED4,
jvfausto 0:617f20c6b21d 899 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0ED5,
jvfausto 0:617f20c6b21d 900 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0ED6,
jvfausto 0:617f20c6b21d 901 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0ED6,
jvfausto 0:617f20c6b21d 902 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0ED7,
jvfausto 0:617f20c6b21d 903 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0ED8,
jvfausto 0:617f20c6b21d 904 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0ED8,
jvfausto 0:617f20c6b21d 905 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0ED9,
jvfausto 0:617f20c6b21d 906 PREV_SHADOW_RESULT__SIGMA_SD0 = 0x0EDA,
jvfausto 0:617f20c6b21d 907 PREV_SHADOW_RESULT__SIGMA_SD0_HI = 0x0EDA,
jvfausto 0:617f20c6b21d 908 PREV_SHADOW_RESULT__SIGMA_SD0_LO = 0x0EDB,
jvfausto 0:617f20c6b21d 909 PREV_SHADOW_RESULT__PHASE_SD0 = 0x0EDC,
jvfausto 0:617f20c6b21d 910 PREV_SHADOW_RESULT__PHASE_SD0_HI = 0x0EDC,
jvfausto 0:617f20c6b21d 911 PREV_SHADOW_RESULT__PHASE_SD0_LO = 0x0EDD,
jvfausto 0:617f20c6b21d 912 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0EDE,
jvfausto 0:617f20c6b21d 913 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0EDE,
jvfausto 0:617f20c6b21d 914 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0EDF,
jvfausto 0:617f20c6b21d 915 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0EE0,
jvfausto 0:617f20c6b21d 916 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0EE0,
jvfausto 0:617f20c6b21d 917 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0EE1,
jvfausto 0:617f20c6b21d 918 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0EE2,
jvfausto 0:617f20c6b21d 919 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0EE2,
jvfausto 0:617f20c6b21d 920 PREV_SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0EE3,
jvfausto 0:617f20c6b21d 921 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0EE4,
jvfausto 0:617f20c6b21d 922 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0EE4,
jvfausto 0:617f20c6b21d 923 PREV_SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0EE5,
jvfausto 0:617f20c6b21d 924 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0EE6,
jvfausto 0:617f20c6b21d 925 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0EE6,
jvfausto 0:617f20c6b21d 926 PREV_SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0EE7,
jvfausto 0:617f20c6b21d 927 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x0EE8,
jvfausto 0:617f20c6b21d 928 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x0EE8,
jvfausto 0:617f20c6b21d 929 PREV_SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x0EE9,
jvfausto 0:617f20c6b21d 930 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x0EEA,
jvfausto 0:617f20c6b21d 931 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x0EEA,
jvfausto 0:617f20c6b21d 932 PREV_SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x0EEB,
jvfausto 0:617f20c6b21d 933 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x0EEC,
jvfausto 0:617f20c6b21d 934 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x0EEC,
jvfausto 0:617f20c6b21d 935 PREV_SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x0EED,
jvfausto 0:617f20c6b21d 936 PREV_SHADOW_RESULT__SIGMA_SD1 = 0x0EEE,
jvfausto 0:617f20c6b21d 937 PREV_SHADOW_RESULT__SIGMA_SD1_HI = 0x0EEE,
jvfausto 0:617f20c6b21d 938 PREV_SHADOW_RESULT__SIGMA_SD1_LO = 0x0EEF,
jvfausto 0:617f20c6b21d 939 PREV_SHADOW_RESULT__PHASE_SD1 = 0x0EF0,
jvfausto 0:617f20c6b21d 940 PREV_SHADOW_RESULT__PHASE_SD1_HI = 0x0EF0,
jvfausto 0:617f20c6b21d 941 PREV_SHADOW_RESULT__PHASE_SD1_LO = 0x0EF1,
jvfausto 0:617f20c6b21d 942 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x0EF2,
jvfausto 0:617f20c6b21d 943 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x0EF2,
jvfausto 0:617f20c6b21d 944 PREV_SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x0EF3,
jvfausto 0:617f20c6b21d 945 PREV_SHADOW_RESULT__SPARE_0_SD1 = 0x0EF4,
jvfausto 0:617f20c6b21d 946 PREV_SHADOW_RESULT__SPARE_0_SD1_HI = 0x0EF4,
jvfausto 0:617f20c6b21d 947 PREV_SHADOW_RESULT__SPARE_0_SD1_LO = 0x0EF5,
jvfausto 0:617f20c6b21d 948 PREV_SHADOW_RESULT__SPARE_1_SD1 = 0x0EF6,
jvfausto 0:617f20c6b21d 949 PREV_SHADOW_RESULT__SPARE_1_SD1_HI = 0x0EF6,
jvfausto 0:617f20c6b21d 950 PREV_SHADOW_RESULT__SPARE_1_SD1_LO = 0x0EF7,
jvfausto 0:617f20c6b21d 951 PREV_SHADOW_RESULT__SPARE_2_SD1 = 0x0EF8,
jvfausto 0:617f20c6b21d 952 PREV_SHADOW_RESULT__SPARE_2_SD1_HI = 0x0EF8,
jvfausto 0:617f20c6b21d 953 PREV_SHADOW_RESULT__SPARE_2_SD1_LO = 0x0EF9,
jvfausto 0:617f20c6b21d 954 PREV_SHADOW_RESULT__SPARE_3_SD1 = 0x0EFA,
jvfausto 0:617f20c6b21d 955 PREV_SHADOW_RESULT__SPARE_3_SD1_HI = 0x0EFA,
jvfausto 0:617f20c6b21d 956 PREV_SHADOW_RESULT__SPARE_3_SD1_LO = 0x0EFB,
jvfausto 0:617f20c6b21d 957 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x0EFC,
jvfausto 0:617f20c6b21d 958 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x0EFC,
jvfausto 0:617f20c6b21d 959 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x0EFD,
jvfausto 0:617f20c6b21d 960 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x0EFE,
jvfausto 0:617f20c6b21d 961 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x0EFF,
jvfausto 0:617f20c6b21d 962 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x0F00,
jvfausto 0:617f20c6b21d 963 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x0F00,
jvfausto 0:617f20c6b21d 964 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x0F01,
jvfausto 0:617f20c6b21d 965 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x0F02,
jvfausto 0:617f20c6b21d 966 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x0F03,
jvfausto 0:617f20c6b21d 967 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x0F04,
jvfausto 0:617f20c6b21d 968 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x0F04,
jvfausto 0:617f20c6b21d 969 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x0F05,
jvfausto 0:617f20c6b21d 970 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x0F06,
jvfausto 0:617f20c6b21d 971 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x0F07,
jvfausto 0:617f20c6b21d 972 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x0F08,
jvfausto 0:617f20c6b21d 973 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x0F08,
jvfausto 0:617f20c6b21d 974 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x0F09,
jvfausto 0:617f20c6b21d 975 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x0F0A,
jvfausto 0:617f20c6b21d 976 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x0F0B,
jvfausto 0:617f20c6b21d 977 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x0F0C,
jvfausto 0:617f20c6b21d 978 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x0F0C,
jvfausto 0:617f20c6b21d 979 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x0F0D,
jvfausto 0:617f20c6b21d 980 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x0F0E,
jvfausto 0:617f20c6b21d 981 PREV_SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x0F0F,
jvfausto 0:617f20c6b21d 982 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x0F10,
jvfausto 0:617f20c6b21d 983 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x0F10,
jvfausto 0:617f20c6b21d 984 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x0F11,
jvfausto 0:617f20c6b21d 985 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x0F12,
jvfausto 0:617f20c6b21d 986 PREV_SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x0F13,
jvfausto 0:617f20c6b21d 987 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x0F14,
jvfausto 0:617f20c6b21d 988 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x0F14,
jvfausto 0:617f20c6b21d 989 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x0F15,
jvfausto 0:617f20c6b21d 990 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x0F16,
jvfausto 0:617f20c6b21d 991 PREV_SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x0F17,
jvfausto 0:617f20c6b21d 992 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x0F18,
jvfausto 0:617f20c6b21d 993 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x0F18,
jvfausto 0:617f20c6b21d 994 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x0F19,
jvfausto 0:617f20c6b21d 995 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x0F1A,
jvfausto 0:617f20c6b21d 996 PREV_SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x0F1B,
jvfausto 0:617f20c6b21d 997 PREV_SHADOW_RESULT_CORE__SPARE_0 = 0x0F1C,
jvfausto 0:617f20c6b21d 998 RESULT__DEBUG_STATUS = 0x0F20,
jvfausto 0:617f20c6b21d 999 RESULT__DEBUG_STAGE = 0x0F21,
jvfausto 0:617f20c6b21d 1000 GPH__SYSTEM__THRESH_RATE_HIGH = 0x0F24,
jvfausto 0:617f20c6b21d 1001 GPH__SYSTEM__THRESH_RATE_HIGH_HI = 0x0F24,
jvfausto 0:617f20c6b21d 1002 GPH__SYSTEM__THRESH_RATE_HIGH_LO = 0x0F25,
jvfausto 0:617f20c6b21d 1003 GPH__SYSTEM__THRESH_RATE_LOW = 0x0F26,
jvfausto 0:617f20c6b21d 1004 GPH__SYSTEM__THRESH_RATE_LOW_HI = 0x0F26,
jvfausto 0:617f20c6b21d 1005 GPH__SYSTEM__THRESH_RATE_LOW_LO = 0x0F27,
jvfausto 0:617f20c6b21d 1006 GPH__SYSTEM__INTERRUPT_CONFIG_GPIO = 0x0F28,
jvfausto 0:617f20c6b21d 1007 GPH__DSS_CONFIG__ROI_MODE_CONTROL = 0x0F2F,
jvfausto 0:617f20c6b21d 1008 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT = 0x0F30,
jvfausto 0:617f20c6b21d 1009 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_HI = 0x0F30,
jvfausto 0:617f20c6b21d 1010 GPH__DSS_CONFIG__MANUAL_EFFECTIVE_SPADS_SELECT_LO = 0x0F31,
jvfausto 0:617f20c6b21d 1011 GPH__DSS_CONFIG__MANUAL_BLOCK_SELECT = 0x0F32,
jvfausto 0:617f20c6b21d 1012 GPH__DSS_CONFIG__MAX_SPADS_LIMIT = 0x0F33,
jvfausto 0:617f20c6b21d 1013 GPH__DSS_CONFIG__MIN_SPADS_LIMIT = 0x0F34,
jvfausto 0:617f20c6b21d 1014 GPH__MM_CONFIG__TIMEOUT_MACROP_A_HI = 0x0F36,
jvfausto 0:617f20c6b21d 1015 GPH__MM_CONFIG__TIMEOUT_MACROP_A_LO = 0x0F37,
jvfausto 0:617f20c6b21d 1016 GPH__MM_CONFIG__TIMEOUT_MACROP_B_HI = 0x0F38,
jvfausto 0:617f20c6b21d 1017 GPH__MM_CONFIG__TIMEOUT_MACROP_B_LO = 0x0F39,
jvfausto 0:617f20c6b21d 1018 GPH__RANGE_CONFIG__TIMEOUT_MACROP_A_HI = 0x0F3A,
jvfausto 0:617f20c6b21d 1019 GPH__RANGE_CONFIG__TIMEOUT_MACROP_A_LO = 0x0F3B,
jvfausto 0:617f20c6b21d 1020 GPH__RANGE_CONFIG__VCSEL_PERIOD_A = 0x0F3C,
jvfausto 0:617f20c6b21d 1021 GPH__RANGE_CONFIG__VCSEL_PERIOD_B = 0x0F3D,
jvfausto 0:617f20c6b21d 1022 GPH__RANGE_CONFIG__TIMEOUT_MACROP_B_HI = 0x0F3E,
jvfausto 0:617f20c6b21d 1023 GPH__RANGE_CONFIG__TIMEOUT_MACROP_B_LO = 0x0F3F,
jvfausto 0:617f20c6b21d 1024 GPH__RANGE_CONFIG__SIGMA_THRESH = 0x0F40,
jvfausto 0:617f20c6b21d 1025 GPH__RANGE_CONFIG__SIGMA_THRESH_HI = 0x0F40,
jvfausto 0:617f20c6b21d 1026 GPH__RANGE_CONFIG__SIGMA_THRESH_LO = 0x0F41,
jvfausto 0:617f20c6b21d 1027 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS = 0x0F42,
jvfausto 0:617f20c6b21d 1028 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_HI = 0x0F42,
jvfausto 0:617f20c6b21d 1029 GPH__RANGE_CONFIG__MIN_COUNT_RATE_RTN_LIMIT_MCPS_LO = 0x0F43,
jvfausto 0:617f20c6b21d 1030 GPH__RANGE_CONFIG__VALID_PHASE_LOW = 0x0F44,
jvfausto 0:617f20c6b21d 1031 GPH__RANGE_CONFIG__VALID_PHASE_HIGH = 0x0F45,
jvfausto 0:617f20c6b21d 1032 FIRMWARE__INTERNAL_STREAM_COUNT_DIV = 0x0F46,
jvfausto 0:617f20c6b21d 1033 FIRMWARE__INTERNAL_STREAM_COUNTER_VAL = 0x0F47,
jvfausto 0:617f20c6b21d 1034 DSS_CALC__ROI_CTRL = 0x0F54,
jvfausto 0:617f20c6b21d 1035 DSS_CALC__SPARE_1 = 0x0F55,
jvfausto 0:617f20c6b21d 1036 DSS_CALC__SPARE_2 = 0x0F56,
jvfausto 0:617f20c6b21d 1037 DSS_CALC__SPARE_3 = 0x0F57,
jvfausto 0:617f20c6b21d 1038 DSS_CALC__SPARE_4 = 0x0F58,
jvfausto 0:617f20c6b21d 1039 DSS_CALC__SPARE_5 = 0x0F59,
jvfausto 0:617f20c6b21d 1040 DSS_CALC__SPARE_6 = 0x0F5A,
jvfausto 0:617f20c6b21d 1041 DSS_CALC__SPARE_7 = 0x0F5B,
jvfausto 0:617f20c6b21d 1042 DSS_CALC__USER_ROI_SPAD_EN_0 = 0x0F5C,
jvfausto 0:617f20c6b21d 1043 DSS_CALC__USER_ROI_SPAD_EN_1 = 0x0F5D,
jvfausto 0:617f20c6b21d 1044 DSS_CALC__USER_ROI_SPAD_EN_2 = 0x0F5E,
jvfausto 0:617f20c6b21d 1045 DSS_CALC__USER_ROI_SPAD_EN_3 = 0x0F5F,
jvfausto 0:617f20c6b21d 1046 DSS_CALC__USER_ROI_SPAD_EN_4 = 0x0F60,
jvfausto 0:617f20c6b21d 1047 DSS_CALC__USER_ROI_SPAD_EN_5 = 0x0F61,
jvfausto 0:617f20c6b21d 1048 DSS_CALC__USER_ROI_SPAD_EN_6 = 0x0F62,
jvfausto 0:617f20c6b21d 1049 DSS_CALC__USER_ROI_SPAD_EN_7 = 0x0F63,
jvfausto 0:617f20c6b21d 1050 DSS_CALC__USER_ROI_SPAD_EN_8 = 0x0F64,
jvfausto 0:617f20c6b21d 1051 DSS_CALC__USER_ROI_SPAD_EN_9 = 0x0F65,
jvfausto 0:617f20c6b21d 1052 DSS_CALC__USER_ROI_SPAD_EN_10 = 0x0F66,
jvfausto 0:617f20c6b21d 1053 DSS_CALC__USER_ROI_SPAD_EN_11 = 0x0F67,
jvfausto 0:617f20c6b21d 1054 DSS_CALC__USER_ROI_SPAD_EN_12 = 0x0F68,
jvfausto 0:617f20c6b21d 1055 DSS_CALC__USER_ROI_SPAD_EN_13 = 0x0F69,
jvfausto 0:617f20c6b21d 1056 DSS_CALC__USER_ROI_SPAD_EN_14 = 0x0F6A,
jvfausto 0:617f20c6b21d 1057 DSS_CALC__USER_ROI_SPAD_EN_15 = 0x0F6B,
jvfausto 0:617f20c6b21d 1058 DSS_CALC__USER_ROI_SPAD_EN_16 = 0x0F6C,
jvfausto 0:617f20c6b21d 1059 DSS_CALC__USER_ROI_SPAD_EN_17 = 0x0F6D,
jvfausto 0:617f20c6b21d 1060 DSS_CALC__USER_ROI_SPAD_EN_18 = 0x0F6E,
jvfausto 0:617f20c6b21d 1061 DSS_CALC__USER_ROI_SPAD_EN_19 = 0x0F6F,
jvfausto 0:617f20c6b21d 1062 DSS_CALC__USER_ROI_SPAD_EN_20 = 0x0F70,
jvfausto 0:617f20c6b21d 1063 DSS_CALC__USER_ROI_SPAD_EN_21 = 0x0F71,
jvfausto 0:617f20c6b21d 1064 DSS_CALC__USER_ROI_SPAD_EN_22 = 0x0F72,
jvfausto 0:617f20c6b21d 1065 DSS_CALC__USER_ROI_SPAD_EN_23 = 0x0F73,
jvfausto 0:617f20c6b21d 1066 DSS_CALC__USER_ROI_SPAD_EN_24 = 0x0F74,
jvfausto 0:617f20c6b21d 1067 DSS_CALC__USER_ROI_SPAD_EN_25 = 0x0F75,
jvfausto 0:617f20c6b21d 1068 DSS_CALC__USER_ROI_SPAD_EN_26 = 0x0F76,
jvfausto 0:617f20c6b21d 1069 DSS_CALC__USER_ROI_SPAD_EN_27 = 0x0F77,
jvfausto 0:617f20c6b21d 1070 DSS_CALC__USER_ROI_SPAD_EN_28 = 0x0F78,
jvfausto 0:617f20c6b21d 1071 DSS_CALC__USER_ROI_SPAD_EN_29 = 0x0F79,
jvfausto 0:617f20c6b21d 1072 DSS_CALC__USER_ROI_SPAD_EN_30 = 0x0F7A,
jvfausto 0:617f20c6b21d 1073 DSS_CALC__USER_ROI_SPAD_EN_31 = 0x0F7B,
jvfausto 0:617f20c6b21d 1074 DSS_CALC__USER_ROI_0 = 0x0F7C,
jvfausto 0:617f20c6b21d 1075 DSS_CALC__USER_ROI_1 = 0x0F7D,
jvfausto 0:617f20c6b21d 1076 DSS_CALC__MODE_ROI_0 = 0x0F7E,
jvfausto 0:617f20c6b21d 1077 DSS_CALC__MODE_ROI_1 = 0x0F7F,
jvfausto 0:617f20c6b21d 1078 SIGMA_ESTIMATOR_CALC__SPARE_0 = 0x0F80,
jvfausto 0:617f20c6b21d 1079 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS = 0x0F82,
jvfausto 0:617f20c6b21d 1080 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS_HI = 0x0F82,
jvfausto 0:617f20c6b21d 1081 VHV_RESULT__PEAK_SIGNAL_RATE_MCPS_LO = 0x0F83,
jvfausto 0:617f20c6b21d 1082 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF = 0x0F84,
jvfausto 0:617f20c6b21d 1083 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_3 = 0x0F84,
jvfausto 0:617f20c6b21d 1084 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_2 = 0x0F85,
jvfausto 0:617f20c6b21d 1085 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_1 = 0x0F86,
jvfausto 0:617f20c6b21d 1086 VHV_RESULT__SIGNAL_TOTAL_EVENTS_REF_0 = 0x0F87,
jvfausto 0:617f20c6b21d 1087 PHASECAL_RESULT__PHASE_OUTPUT_REF = 0x0F88,
jvfausto 0:617f20c6b21d 1088 PHASECAL_RESULT__PHASE_OUTPUT_REF_HI = 0x0F88,
jvfausto 0:617f20c6b21d 1089 PHASECAL_RESULT__PHASE_OUTPUT_REF_LO = 0x0F89,
jvfausto 0:617f20c6b21d 1090 DSS_RESULT__TOTAL_RATE_PER_SPAD = 0x0F8A,
jvfausto 0:617f20c6b21d 1091 DSS_RESULT__TOTAL_RATE_PER_SPAD_HI = 0x0F8A,
jvfausto 0:617f20c6b21d 1092 DSS_RESULT__TOTAL_RATE_PER_SPAD_LO = 0x0F8B,
jvfausto 0:617f20c6b21d 1093 DSS_RESULT__ENABLED_BLOCKS = 0x0F8C,
jvfausto 0:617f20c6b21d 1094 DSS_RESULT__NUM_REQUESTED_SPADS = 0x0F8E,
jvfausto 0:617f20c6b21d 1095 DSS_RESULT__NUM_REQUESTED_SPADS_HI = 0x0F8E,
jvfausto 0:617f20c6b21d 1096 DSS_RESULT__NUM_REQUESTED_SPADS_LO = 0x0F8F,
jvfausto 0:617f20c6b21d 1097 MM_RESULT__INNER_INTERSECTION_RATE = 0x0F92,
jvfausto 0:617f20c6b21d 1098 MM_RESULT__INNER_INTERSECTION_RATE_HI = 0x0F92,
jvfausto 0:617f20c6b21d 1099 MM_RESULT__INNER_INTERSECTION_RATE_LO = 0x0F93,
jvfausto 0:617f20c6b21d 1100 MM_RESULT__OUTER_COMPLEMENT_RATE = 0x0F94,
jvfausto 0:617f20c6b21d 1101 MM_RESULT__OUTER_COMPLEMENT_RATE_HI = 0x0F94,
jvfausto 0:617f20c6b21d 1102 MM_RESULT__OUTER_COMPLEMENT_RATE_LO = 0x0F95,
jvfausto 0:617f20c6b21d 1103 MM_RESULT__TOTAL_OFFSET = 0x0F96,
jvfausto 0:617f20c6b21d 1104 MM_RESULT__TOTAL_OFFSET_HI = 0x0F96,
jvfausto 0:617f20c6b21d 1105 MM_RESULT__TOTAL_OFFSET_LO = 0x0F97,
jvfausto 0:617f20c6b21d 1106 XTALK_CALC__XTALK_FOR_ENABLED_SPADS = 0x0F98,
jvfausto 0:617f20c6b21d 1107 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_3 = 0x0F98,
jvfausto 0:617f20c6b21d 1108 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_2 = 0x0F99,
jvfausto 0:617f20c6b21d 1109 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_1 = 0x0F9A,
jvfausto 0:617f20c6b21d 1110 XTALK_CALC__XTALK_FOR_ENABLED_SPADS_0 = 0x0F9B,
jvfausto 0:617f20c6b21d 1111 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS = 0x0F9C,
jvfausto 0:617f20c6b21d 1112 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_3 = 0x0F9C,
jvfausto 0:617f20c6b21d 1113 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_2 = 0x0F9D,
jvfausto 0:617f20c6b21d 1114 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_1 = 0x0F9E,
jvfausto 0:617f20c6b21d 1115 XTALK_RESULT__AVG_XTALK_USER_ROI_KCPS_0 = 0x0F9F,
jvfausto 0:617f20c6b21d 1116 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS = 0x0FA0,
jvfausto 0:617f20c6b21d 1117 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_3 = 0x0FA0,
jvfausto 0:617f20c6b21d 1118 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_2 = 0x0FA1,
jvfausto 0:617f20c6b21d 1119 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_1 = 0x0FA2,
jvfausto 0:617f20c6b21d 1120 XTALK_RESULT__AVG_XTALK_MM_INNER_ROI_KCPS_0 = 0x0FA3,
jvfausto 0:617f20c6b21d 1121 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS = 0x0FA4,
jvfausto 0:617f20c6b21d 1122 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_3 = 0x0FA4,
jvfausto 0:617f20c6b21d 1123 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_2 = 0x0FA5,
jvfausto 0:617f20c6b21d 1124 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_1 = 0x0FA6,
jvfausto 0:617f20c6b21d 1125 XTALK_RESULT__AVG_XTALK_MM_OUTER_ROI_KCPS_0 = 0x0FA7,
jvfausto 0:617f20c6b21d 1126 RANGE_RESULT__ACCUM_PHASE = 0x0FA8,
jvfausto 0:617f20c6b21d 1127 RANGE_RESULT__ACCUM_PHASE_3 = 0x0FA8,
jvfausto 0:617f20c6b21d 1128 RANGE_RESULT__ACCUM_PHASE_2 = 0x0FA9,
jvfausto 0:617f20c6b21d 1129 RANGE_RESULT__ACCUM_PHASE_1 = 0x0FAA,
jvfausto 0:617f20c6b21d 1130 RANGE_RESULT__ACCUM_PHASE_0 = 0x0FAB,
jvfausto 0:617f20c6b21d 1131 RANGE_RESULT__OFFSET_CORRECTED_RANGE = 0x0FAC,
jvfausto 0:617f20c6b21d 1132 RANGE_RESULT__OFFSET_CORRECTED_RANGE_HI = 0x0FAC,
jvfausto 0:617f20c6b21d 1133 RANGE_RESULT__OFFSET_CORRECTED_RANGE_LO = 0x0FAD,
jvfausto 0:617f20c6b21d 1134 SHADOW_PHASECAL_RESULT__VCSEL_START = 0x0FAE,
jvfausto 0:617f20c6b21d 1135 SHADOW_RESULT__INTERRUPT_STATUS = 0x0FB0,
jvfausto 0:617f20c6b21d 1136 SHADOW_RESULT__RANGE_STATUS = 0x0FB1,
jvfausto 0:617f20c6b21d 1137 SHADOW_RESULT__REPORT_STATUS = 0x0FB2,
jvfausto 0:617f20c6b21d 1138 SHADOW_RESULT__STREAM_COUNT = 0x0FB3,
jvfausto 0:617f20c6b21d 1139 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FB4,
jvfausto 0:617f20c6b21d 1140 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FB4,
jvfausto 0:617f20c6b21d 1141 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FB5,
jvfausto 0:617f20c6b21d 1142 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0FB6,
jvfausto 0:617f20c6b21d 1143 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0FB6,
jvfausto 0:617f20c6b21d 1144 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0FB7,
jvfausto 0:617f20c6b21d 1145 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0 = 0x0FB8,
jvfausto 0:617f20c6b21d 1146 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_HI = 0x0FB8,
jvfausto 0:617f20c6b21d 1147 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD0_LO = 0x0FB9,
jvfausto 0:617f20c6b21d 1148 SHADOW_RESULT__SIGMA_SD0 = 0x0FBA,
jvfausto 0:617f20c6b21d 1149 SHADOW_RESULT__SIGMA_SD0_HI = 0x0FBA,
jvfausto 0:617f20c6b21d 1150 SHADOW_RESULT__SIGMA_SD0_LO = 0x0FBB,
jvfausto 0:617f20c6b21d 1151 SHADOW_RESULT__PHASE_SD0 = 0x0FBC,
jvfausto 0:617f20c6b21d 1152 SHADOW_RESULT__PHASE_SD0_HI = 0x0FBC,
jvfausto 0:617f20c6b21d 1153 SHADOW_RESULT__PHASE_SD0_LO = 0x0FBD,
jvfausto 0:617f20c6b21d 1154 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0 = 0x0FBE,
jvfausto 0:617f20c6b21d 1155 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_HI = 0x0FBE,
jvfausto 0:617f20c6b21d 1156 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD0_LO = 0x0FBF,
jvfausto 0:617f20c6b21d 1157 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0 = 0x0FC0,
jvfausto 0:617f20c6b21d 1158 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_HI = 0x0FC0,
jvfausto 0:617f20c6b21d 1159 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LO = 0x0FC1,
jvfausto 0:617f20c6b21d 1160 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FC2,
jvfausto 0:617f20c6b21d 1161 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FC2,
jvfausto 0:617f20c6b21d 1162 SHADOW_RESULT__MM_INNER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FC3,
jvfausto 0:617f20c6b21d 1163 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0 = 0x0FC4,
jvfausto 0:617f20c6b21d 1164 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_HI = 0x0FC4,
jvfausto 0:617f20c6b21d 1165 SHADOW_RESULT__MM_OUTER_ACTUAL_EFFECTIVE_SPADS_SD0_LO = 0x0FC5,
jvfausto 0:617f20c6b21d 1166 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0 = 0x0FC6,
jvfausto 0:617f20c6b21d 1167 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_HI = 0x0FC6,
jvfausto 0:617f20c6b21d 1168 SHADOW_RESULT__AVG_SIGNAL_COUNT_RATE_MCPS_SD0_LO = 0x0FC7,
jvfausto 0:617f20c6b21d 1169 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1 = 0x0FC8,
jvfausto 0:617f20c6b21d 1170 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_HI = 0x0FC8,
jvfausto 0:617f20c6b21d 1171 SHADOW_RESULT__DSS_ACTUAL_EFFECTIVE_SPADS_SD1_LO = 0x0FC9,
jvfausto 0:617f20c6b21d 1172 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1 = 0x0FCA,
jvfausto 0:617f20c6b21d 1173 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_HI = 0x0FCA,
jvfausto 0:617f20c6b21d 1174 SHADOW_RESULT__PEAK_SIGNAL_COUNT_RATE_MCPS_SD1_LO = 0x0FCB,
jvfausto 0:617f20c6b21d 1175 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1 = 0x0FCC,
jvfausto 0:617f20c6b21d 1176 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_HI = 0x0FCC,
jvfausto 0:617f20c6b21d 1177 SHADOW_RESULT__AMBIENT_COUNT_RATE_MCPS_SD1_LO = 0x0FCD,
jvfausto 0:617f20c6b21d 1178 SHADOW_RESULT__SIGMA_SD1 = 0x0FCE,
jvfausto 0:617f20c6b21d 1179 SHADOW_RESULT__SIGMA_SD1_HI = 0x0FCE,
jvfausto 0:617f20c6b21d 1180 SHADOW_RESULT__SIGMA_SD1_LO = 0x0FCF,
jvfausto 0:617f20c6b21d 1181 SHADOW_RESULT__PHASE_SD1 = 0x0FD0,
jvfausto 0:617f20c6b21d 1182 SHADOW_RESULT__PHASE_SD1_HI = 0x0FD0,
jvfausto 0:617f20c6b21d 1183 SHADOW_RESULT__PHASE_SD1_LO = 0x0FD1,
jvfausto 0:617f20c6b21d 1184 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1 = 0x0FD2,
jvfausto 0:617f20c6b21d 1185 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_HI = 0x0FD2,
jvfausto 0:617f20c6b21d 1186 SHADOW_RESULT__FINAL_CROSSTALK_CORRECTED_RANGE_MM_SD1_LO = 0x0FD3,
jvfausto 0:617f20c6b21d 1187 SHADOW_RESULT__SPARE_0_SD1 = 0x0FD4,
jvfausto 0:617f20c6b21d 1188 SHADOW_RESULT__SPARE_0_SD1_HI = 0x0FD4,
jvfausto 0:617f20c6b21d 1189 SHADOW_RESULT__SPARE_0_SD1_LO = 0x0FD5,
jvfausto 0:617f20c6b21d 1190 SHADOW_RESULT__SPARE_1_SD1 = 0x0FD6,
jvfausto 0:617f20c6b21d 1191 SHADOW_RESULT__SPARE_1_SD1_HI = 0x0FD6,
jvfausto 0:617f20c6b21d 1192 SHADOW_RESULT__SPARE_1_SD1_LO = 0x0FD7,
jvfausto 0:617f20c6b21d 1193 SHADOW_RESULT__SPARE_2_SD1 = 0x0FD8,
jvfausto 0:617f20c6b21d 1194 SHADOW_RESULT__SPARE_2_SD1_HI = 0x0FD8,
jvfausto 0:617f20c6b21d 1195 SHADOW_RESULT__SPARE_2_SD1_LO = 0x0FD9,
jvfausto 0:617f20c6b21d 1196 SHADOW_RESULT__SPARE_3_SD1 = 0x0FDA,
jvfausto 0:617f20c6b21d 1197 SHADOW_RESULT__THRESH_INFO = 0x0FDB,
jvfausto 0:617f20c6b21d 1198 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0 = 0x0FDC,
jvfausto 0:617f20c6b21d 1199 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_3 = 0x0FDC,
jvfausto 0:617f20c6b21d 1200 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_2 = 0x0FDD,
jvfausto 0:617f20c6b21d 1201 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_1 = 0x0FDE,
jvfausto 0:617f20c6b21d 1202 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD0_0 = 0x0FDF,
jvfausto 0:617f20c6b21d 1203 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0 = 0x0FE0,
jvfausto 0:617f20c6b21d 1204 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_3 = 0x0FE0,
jvfausto 0:617f20c6b21d 1205 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_2 = 0x0FE1,
jvfausto 0:617f20c6b21d 1206 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_1 = 0x0FE2,
jvfausto 0:617f20c6b21d 1207 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD0_0 = 0x0FE3,
jvfausto 0:617f20c6b21d 1208 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0 = 0x0FE4,
jvfausto 0:617f20c6b21d 1209 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_3 = 0x0FE4,
jvfausto 0:617f20c6b21d 1210 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_2 = 0x0FE5,
jvfausto 0:617f20c6b21d 1211 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_1 = 0x0FE6,
jvfausto 0:617f20c6b21d 1212 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD0_0 = 0x0FE7,
jvfausto 0:617f20c6b21d 1213 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0 = 0x0FE8,
jvfausto 0:617f20c6b21d 1214 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_3 = 0x0FE8,
jvfausto 0:617f20c6b21d 1215 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_2 = 0x0FE9,
jvfausto 0:617f20c6b21d 1216 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_1 = 0x0FEA,
jvfausto 0:617f20c6b21d 1217 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD0_0 = 0x0FEB,
jvfausto 0:617f20c6b21d 1218 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1 = 0x0FEC,
jvfausto 0:617f20c6b21d 1219 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_3 = 0x0FEC,
jvfausto 0:617f20c6b21d 1220 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_2 = 0x0FED,
jvfausto 0:617f20c6b21d 1221 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_1 = 0x0FEE,
jvfausto 0:617f20c6b21d 1222 SHADOW_RESULT_CORE__AMBIENT_WINDOW_EVENTS_SD1_0 = 0x0FEF,
jvfausto 0:617f20c6b21d 1223 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1 = 0x0FF0,
jvfausto 0:617f20c6b21d 1224 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_3 = 0x0FF0,
jvfausto 0:617f20c6b21d 1225 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_2 = 0x0FF1,
jvfausto 0:617f20c6b21d 1226 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_1 = 0x0FF2,
jvfausto 0:617f20c6b21d 1227 SHADOW_RESULT_CORE__RANGING_TOTAL_EVENTS_SD1_0 = 0x0FF3,
jvfausto 0:617f20c6b21d 1228 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1 = 0x0FF4,
jvfausto 0:617f20c6b21d 1229 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_3 = 0x0FF4,
jvfausto 0:617f20c6b21d 1230 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_2 = 0x0FF5,
jvfausto 0:617f20c6b21d 1231 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_1 = 0x0FF6,
jvfausto 0:617f20c6b21d 1232 SHADOW_RESULT_CORE__SIGNAL_TOTAL_EVENTS_SD1_0 = 0x0FF7,
jvfausto 0:617f20c6b21d 1233 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1 = 0x0FF8,
jvfausto 0:617f20c6b21d 1234 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_3 = 0x0FF8,
jvfausto 0:617f20c6b21d 1235 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_2 = 0x0FF9,
jvfausto 0:617f20c6b21d 1236 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_1 = 0x0FFA,
jvfausto 0:617f20c6b21d 1237 SHADOW_RESULT_CORE__TOTAL_PERIODS_ELAPSED_SD1_0 = 0x0FFB,
jvfausto 0:617f20c6b21d 1238 SHADOW_RESULT_CORE__SPARE_0 = 0x0FFC,
jvfausto 0:617f20c6b21d 1239 SHADOW_PHASECAL_RESULT__REFERENCE_PHASE_HI = 0x0FFE,
jvfausto 0:617f20c6b21d 1240 SHADOW_PHASECAL_RESULT__REFERENCE_PHASE_LO = 0x0FFF,
jvfausto 0:617f20c6b21d 1241 };
jvfausto 0:617f20c6b21d 1242
jvfausto 0:617f20c6b21d 1243 enum DistanceMode { Short, Medium, Long, Unknown };
jvfausto 0:617f20c6b21d 1244
jvfausto 0:617f20c6b21d 1245 enum RangeStatus : uint8_t
jvfausto 0:617f20c6b21d 1246 {
jvfausto 0:617f20c6b21d 1247 RangeValid = 0,
jvfausto 0:617f20c6b21d 1248
jvfausto 0:617f20c6b21d 1249 // "sigma estimator check is above the internal defined threshold"
jvfausto 0:617f20c6b21d 1250 // (sigma = standard deviation of measurement)
jvfausto 0:617f20c6b21d 1251 SigmaFail = 1,
jvfausto 0:617f20c6b21d 1252
jvfausto 0:617f20c6b21d 1253 // "signal value is below the internal defined threshold"
jvfausto 0:617f20c6b21d 1254 SignalFail = 2,
jvfausto 0:617f20c6b21d 1255
jvfausto 0:617f20c6b21d 1256 // "Target is below minimum detection threshold."
jvfausto 0:617f20c6b21d 1257 RangeValidMinRangeClipped = 3,
jvfausto 0:617f20c6b21d 1258
jvfausto 0:617f20c6b21d 1259 // "phase is out of bounds"
jvfausto 0:617f20c6b21d 1260 // (nothing detected in range; try a longer distance mode if applicable)
jvfausto 0:617f20c6b21d 1261 OutOfBoundsFail = 4,
jvfausto 0:617f20c6b21d 1262
jvfausto 0:617f20c6b21d 1263 // "HW or VCSEL failure"
jvfausto 0:617f20c6b21d 1264 HardwareFail = 5,
jvfausto 0:617f20c6b21d 1265
jvfausto 0:617f20c6b21d 1266 // "The Range is valid but the wraparound check has not been done."
jvfausto 0:617f20c6b21d 1267 RangeValidNoWrapCheckFail = 6,
jvfausto 0:617f20c6b21d 1268
jvfausto 0:617f20c6b21d 1269 // "Wrapped target, not matching phases"
jvfausto 0:617f20c6b21d 1270 // "no matching phase in other VCSEL period timing."
jvfausto 0:617f20c6b21d 1271 WrapTargetFail = 7,
jvfausto 0:617f20c6b21d 1272
jvfausto 0:617f20c6b21d 1273 // "Internal algo underflow or overflow in lite ranging."
jvfausto 0:617f20c6b21d 1274 // ProcessingFail = 8: not used in API
jvfausto 0:617f20c6b21d 1275
jvfausto 0:617f20c6b21d 1276 // "Specific to lite ranging."
jvfausto 0:617f20c6b21d 1277 // should never occur with this lib (which uses low power auto ranging,
jvfausto 0:617f20c6b21d 1278 // as the API does)
jvfausto 0:617f20c6b21d 1279 XtalkSignalFail = 9,
jvfausto 0:617f20c6b21d 1280
jvfausto 0:617f20c6b21d 1281 // "1st interrupt when starting ranging in back to back mode. Ignore
jvfausto 0:617f20c6b21d 1282 // data."
jvfausto 0:617f20c6b21d 1283 // should never occur with this lib
jvfausto 0:617f20c6b21d 1284 SynchronizationInt = 10, // (the API spells this "syncronisation")
jvfausto 0:617f20c6b21d 1285
jvfausto 0:617f20c6b21d 1286 // "All Range ok but object is result of multiple pulses merging together.
jvfausto 0:617f20c6b21d 1287 // Used by RQL for merged pulse detection"
jvfausto 0:617f20c6b21d 1288 // RangeValid MergedPulse = 11: not used in API
jvfausto 0:617f20c6b21d 1289
jvfausto 0:617f20c6b21d 1290 // "Used by RQL as different to phase fail."
jvfausto 0:617f20c6b21d 1291 // TargetPresentLackOfSignal = 12:
jvfausto 0:617f20c6b21d 1292
jvfausto 0:617f20c6b21d 1293 // "Target is below minimum detection threshold."
jvfausto 0:617f20c6b21d 1294 MinRangeFail = 13,
jvfausto 0:617f20c6b21d 1295
jvfausto 0:617f20c6b21d 1296 // "The reported range is invalid"
jvfausto 0:617f20c6b21d 1297 // RangeInvalid = 14: can't actually be returned by API (range can never become negative, even after correction)
jvfausto 0:617f20c6b21d 1298
jvfausto 0:617f20c6b21d 1299 // "No Update."
jvfausto 0:617f20c6b21d 1300 None = 255,
jvfausto 0:617f20c6b21d 1301 };
jvfausto 0:617f20c6b21d 1302
jvfausto 0:617f20c6b21d 1303 struct RangingData
jvfausto 0:617f20c6b21d 1304 {
jvfausto 0:617f20c6b21d 1305 uint16_t range_mm;
jvfausto 0:617f20c6b21d 1306 RangeStatus range_status;
jvfausto 0:617f20c6b21d 1307 float peak_signal_count_rate_MCPS;
jvfausto 0:617f20c6b21d 1308 float ambient_count_rate_MCPS;
jvfausto 0:617f20c6b21d 1309 };
jvfausto 0:617f20c6b21d 1310
jvfausto 0:617f20c6b21d 1311 RangingData ranging_data;
jvfausto 0:617f20c6b21d 1312
jvfausto 0:617f20c6b21d 1313 uint8_t last_status; // status of last I2C transmission
jvfausto 0:617f20c6b21d 1314 VL53L1X();
jvfausto 0:617f20c6b21d 1315
jvfausto 0:617f20c6b21d 1316 void setAddress(uint8_t new_addr);
jvfausto 0:617f20c6b21d 1317 uint8_t getAddress() { return address; }
jvfausto 0:617f20c6b21d 1318
jvfausto 0:617f20c6b21d 1319 bool init(bool io_2v8 = true);
jvfausto 0:617f20c6b21d 1320
jvfausto 0:617f20c6b21d 1321 void writeReg(uint16_t registerAddr, uint8_t data);
jvfausto 0:617f20c6b21d 1322 void writeReg16Bit(uint16_t registerAddr, uint16_t data);
jvfausto 0:617f20c6b21d 1323 void writeReg32Bit(uint16_t registerAddr, uint32_t data);
jvfausto 0:617f20c6b21d 1324 uint8_t readReg(uint16_t registerAddr);
jvfausto 0:617f20c6b21d 1325 uint16_t readReg16Bit(uint16_t registerAddr);
jvfausto 0:617f20c6b21d 1326 uint32_t readReg32Bit(uint16_t registerAddr);
jvfausto 0:617f20c6b21d 1327
jvfausto 0:617f20c6b21d 1328 bool setDistanceMode(DistanceMode mode);
jvfausto 0:617f20c6b21d 1329 DistanceMode getDistanceMode() { return distance_mode; }
jvfausto 0:617f20c6b21d 1330
jvfausto 0:617f20c6b21d 1331 bool setMeasurementTimingBudget(uint32_t budget_us);
jvfausto 0:617f20c6b21d 1332 uint32_t getMeasurementTimingBudget();
jvfausto 0:617f20c6b21d 1333
jvfausto 0:617f20c6b21d 1334 void startContinuous(uint32_t period_ms);
jvfausto 0:617f20c6b21d 1335 void stopContinuous();
jvfausto 0:617f20c6b21d 1336 uint16_t read(bool blocking = true);
jvfausto 0:617f20c6b21d 1337 uint16_t readRangeContinuousMillimeters(bool blocking = true) { return read(blocking); } // alias of read()
jvfausto 0:617f20c6b21d 1338
jvfausto 0:617f20c6b21d 1339 // check if sensor has new reading available
jvfausto 0:617f20c6b21d 1340 // assumes interrupt is active low (GPIO_HV_MUX__CTRL bit 4 is 1)
jvfausto 0:617f20c6b21d 1341 bool dataReady() {
jvfausto 0:617f20c6b21d 1342 int isThereData = readReg(GPIO__TIO_HV_STATUS);
jvfausto 0:617f20c6b21d 1343 // printf("%x\r\n", isThereData);
jvfausto 0:617f20c6b21d 1344 return (isThereData & 0x01) == 0;
jvfausto 0:617f20c6b21d 1345 }
jvfausto 0:617f20c6b21d 1346
jvfausto 0:617f20c6b21d 1347 static const char * rangeStatusToString(RangeStatus status);
jvfausto 0:617f20c6b21d 1348
jvfausto 0:617f20c6b21d 1349 void setTimeout(uint16_t timeout) { io_timeout = timeout; }
jvfausto 0:617f20c6b21d 1350 uint16_t getTimeout() { return io_timeout; }
jvfausto 0:617f20c6b21d 1351 bool timeoutOccurred();
jvfausto 0:617f20c6b21d 1352
jvfausto 0:617f20c6b21d 1353 bool initReading(int addr, int timing_budget);
jvfausto 0:617f20c6b21d 1354 void turnOff(void);
jvfausto 0:617f20c6b21d 1355 void resetPin(void);
jvfausto 0:617f20c6b21d 1356 void turnOn(void);
jvfausto 0:617f20c6b21d 1357 int readFromOneSensor(void);
jvfausto 0:617f20c6b21d 1358 int medianFilter(void);
jvfausto 0:617f20c6b21d 1359
jvfausto 0:617f20c6b21d 1360
jvfausto 0:617f20c6b21d 1361 private:
jvfausto 0:617f20c6b21d 1362 I2C _i2c;
jvfausto 0:617f20c6b21d 1363 DigitalOut _shutDown;
jvfausto 0:617f20c6b21d 1364
jvfausto 0:617f20c6b21d 1365 int rawData[3]; //Temporary array for data values
jvfausto 0:617f20c6b21d 1366
jvfausto 0:617f20c6b21d 1367 // The Arduino two-wire interface uses a 7-bit number for the address,
jvfausto 0:617f20c6b21d 1368 // and sets the last bit correctly based on reads and writes
jvfausto 0:617f20c6b21d 1369 static const uint8_t AddressDefault = 0b0101001;
jvfausto 0:617f20c6b21d 1370
jvfausto 0:617f20c6b21d 1371 // value used in measurement timing budget calculations
jvfausto 0:617f20c6b21d 1372 // assumes PresetMode is LOWPOWER_AUTONOMOUS
jvfausto 0:617f20c6b21d 1373 //
jvfausto 0:617f20c6b21d 1374 // vhv = LOWPOWER_AUTO_VHV_LOOP_DURATION_US + LOWPOWERAUTO_VHV_LOOP_BOUND
jvfausto 0:617f20c6b21d 1375 // (tuning parm default) * LOWPOWER_AUTO_VHV_LOOP_DURATION_US
jvfausto 0:617f20c6b21d 1376 // = 245 + 3 * 245 = 980
jvfausto 0:617f20c6b21d 1377 // TimingGuard = LOWPOWER_AUTO_OVERHEAD_BEFORE_A_RANGING +
jvfausto 0:617f20c6b21d 1378 // LOWPOWER_AUTO_OVERHEAD_BETWEEN_A_B_RANGING + vhv
jvfausto 0:617f20c6b21d 1379 // = 1448 + 2100 + 980 = 4528
jvfausto 0:617f20c6b21d 1380 static const uint32_t TimingGuard = 4528;
jvfausto 0:617f20c6b21d 1381
jvfausto 0:617f20c6b21d 1382 // value in DSS_CONFIG__TARGET_TOTAL_RATE_MCPS register, used in DSS
jvfausto 0:617f20c6b21d 1383 // calculations
jvfausto 0:617f20c6b21d 1384 static const uint16_t TargetRate = 0x0A00;
jvfausto 0:617f20c6b21d 1385
jvfausto 0:617f20c6b21d 1386 // for storing values read from RESULT__RANGE_STATUS (0x0089)
jvfausto 0:617f20c6b21d 1387 // through RESULT__PEAK_SIGNAL_COUNT_RATE_CROSSTALK_CORRECTED_MCPS_SD0_LOW
jvfausto 0:617f20c6b21d 1388 // (0x0099)
jvfausto 0:617f20c6b21d 1389 struct ResultBuffer
jvfausto 0:617f20c6b21d 1390 {
jvfausto 0:617f20c6b21d 1391 uint8_t range_status;
jvfausto 0:617f20c6b21d 1392 // uint8_t report_status: not used
jvfausto 0:617f20c6b21d 1393 uint8_t stream_count;
jvfausto 0:617f20c6b21d 1394 uint16_t dss_actual_effective_spads_sd0;
jvfausto 0:617f20c6b21d 1395 // uint16_t peak_signal_count_rate_mcps_sd0: not used
jvfausto 0:617f20c6b21d 1396 uint16_t ambient_count_rate_mcps_sd0;
jvfausto 0:617f20c6b21d 1397 // uint16_t sigma_sd0: not used
jvfausto 0:617f20c6b21d 1398 // uint16_t phase_sd0: not used
jvfausto 0:617f20c6b21d 1399 uint16_t final_crosstalk_corrected_range_mm_sd0;
jvfausto 0:617f20c6b21d 1400 uint16_t peak_signal_count_rate_crosstalk_corrected_mcps_sd0;
jvfausto 0:617f20c6b21d 1401 };
jvfausto 0:617f20c6b21d 1402
jvfausto 0:617f20c6b21d 1403 // making this static would save RAM for multiple instances as long as there
jvfausto 0:617f20c6b21d 1404 // aren't multiple sensors being read at the same time (e.g. on separate
jvfausto 0:617f20c6b21d 1405 // I2C buses)
jvfausto 0:617f20c6b21d 1406 ResultBuffer results;
jvfausto 0:617f20c6b21d 1407
jvfausto 0:617f20c6b21d 1408 bool didInitialize;
jvfausto 0:617f20c6b21d 1409
jvfausto 0:617f20c6b21d 1410 uint8_t address;
jvfausto 0:617f20c6b21d 1411
jvfausto 0:617f20c6b21d 1412 uint16_t io_timeout;
jvfausto 0:617f20c6b21d 1413 bool did_timeout;
jvfausto 0:617f20c6b21d 1414 uint16_t timeout_start_ms;
jvfausto 0:617f20c6b21d 1415
jvfausto 0:617f20c6b21d 1416 uint16_t fast_osc_frequency;
jvfausto 0:617f20c6b21d 1417 uint16_t osc_calibrate_val;
jvfausto 0:617f20c6b21d 1418
jvfausto 0:617f20c6b21d 1419 bool calibrated;
jvfausto 0:617f20c6b21d 1420 uint8_t saved_vhv_init;
jvfausto 0:617f20c6b21d 1421 uint8_t saved_vhv_timeout;
jvfausto 0:617f20c6b21d 1422
jvfausto 0:617f20c6b21d 1423 DistanceMode distance_mode;
jvfausto 0:617f20c6b21d 1424
jvfausto 0:617f20c6b21d 1425 // Record the current time to check an upcoming timeout against
jvfausto 0:617f20c6b21d 1426 void startTimeout() { timeout_start_ms = t.read()*1000; }
jvfausto 0:617f20c6b21d 1427
jvfausto 0:617f20c6b21d 1428 // Check if timeout is enabled (set to nonzero value) and has expired
jvfausto 0:617f20c6b21d 1429 bool checkTimeoutExpired() {return (io_timeout > 0) && ((uint16_t)(t.read()*1000 - timeout_start_ms) > io_timeout); }
jvfausto 0:617f20c6b21d 1430
jvfausto 0:617f20c6b21d 1431 void setupManualCalibration();
jvfausto 0:617f20c6b21d 1432 void readResults();
jvfausto 0:617f20c6b21d 1433 void updateDSS();
jvfausto 0:617f20c6b21d 1434 void getRangingData();
jvfausto 0:617f20c6b21d 1435
jvfausto 0:617f20c6b21d 1436 static uint32_t decodeTimeout(uint16_t reg_val);
jvfausto 0:617f20c6b21d 1437 static uint16_t encodeTimeout(uint32_t timeout_mclks);
jvfausto 0:617f20c6b21d 1438 static uint32_t timeoutMclksToMicroseconds(uint32_t timeout_mclks, uint32_t macro_period_us);
jvfausto 0:617f20c6b21d 1439 static uint32_t timeoutMicrosecondsToMclks(uint32_t timeout_us, uint32_t macro_period_us);
jvfausto 0:617f20c6b21d 1440 uint32_t calcMacroPeriod(uint8_t vcsel_period);
jvfausto 0:617f20c6b21d 1441
jvfausto 0:617f20c6b21d 1442 // Convert count rate from fixed point 9.7 format to float
jvfausto 0:617f20c6b21d 1443 float countRateFixedToFloat(uint16_t count_rate_fixed) { return (float)count_rate_fixed / (1 << 7); }
jvfausto 0:617f20c6b21d 1444 };
jvfausto 0:617f20c6b21d 1445 #endif