ST Expansion SW Team / VL53L1CB

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

Dependents:   VL53L1CB_noshield_1sensor_polls_auton VL53L1CB_noshield_1sensor_interrupt_auton X_NUCLEO_53L1A2

Committer:
charlesmn
Date:
Fri Nov 06 10:06:37 2020 +0000
Revision:
0:3ac96e360672
Child:
7:1add29d51e72
Library for ST Vl53L1A1 time of flight sensor.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
charlesmn 0:3ac96e360672 1
charlesmn 0:3ac96e360672 2 /*******************************************************************************
charlesmn 0:3ac96e360672 3 This file is part of VL53L1 Protected
charlesmn 0:3ac96e360672 4
charlesmn 0:3ac96e360672 5 Copyright (c) 2020, STMicroelectronics - All Rights Reserved
charlesmn 0:3ac96e360672 6
charlesmn 0:3ac96e360672 7 License terms: STMicroelectronics Proprietary in accordance with licensing
charlesmn 0:3ac96e360672 8 terms at www.st.com/sla0081
charlesmn 0:3ac96e360672 9
charlesmn 0:3ac96e360672 10 STMicroelectronics confidential
charlesmn 0:3ac96e360672 11 Reproduction and Communication of this document is strictly prohibited unless
charlesmn 0:3ac96e360672 12 specifically authorized in writing by STMicroelectronics.
charlesmn 0:3ac96e360672 13
charlesmn 0:3ac96e360672 14 */
charlesmn 0:3ac96e360672 15
charlesmn 0:3ac96e360672 16
charlesmn 0:3ac96e360672 17
charlesmn 0:3ac96e360672 18
charlesmn 0:3ac96e360672 19
charlesmn 0:3ac96e360672 20 #ifndef _VL53L1_HIST_PRIVATE_STRUCTS_H_
charlesmn 0:3ac96e360672 21 #define _VL53L1_HIST_PRIVATE_STRUCTS_H_
charlesmn 0:3ac96e360672 22
charlesmn 0:3ac96e360672 23 #include "vl53l1_types.h"
charlesmn 0:3ac96e360672 24 #include "vl53l1_hist_structs.h"
charlesmn 0:3ac96e360672 25
charlesmn 0:3ac96e360672 26 #define VL53L1_D_001 8
charlesmn 0:3ac96e360672 27
charlesmn 0:3ac96e360672 28 #ifdef __cplusplus
charlesmn 0:3ac96e360672 29 extern "C" {
charlesmn 0:3ac96e360672 30 #endif
charlesmn 0:3ac96e360672 31
charlesmn 0:3ac96e360672 32
charlesmn 0:3ac96e360672 33
charlesmn 0:3ac96e360672 34
charlesmn 0:3ac96e360672 35 typedef struct {
charlesmn 0:3ac96e360672 36
charlesmn 0:3ac96e360672 37 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 38
charlesmn 0:3ac96e360672 39 uint8_t VL53L1_p_023;
charlesmn 0:3ac96e360672 40
charlesmn 0:3ac96e360672 41 uint8_t VL53L1_p_024;
charlesmn 0:3ac96e360672 42
charlesmn 0:3ac96e360672 43 uint8_t VL53L1_p_030;
charlesmn 0:3ac96e360672 44
charlesmn 0:3ac96e360672 45 int32_t VL53L1_p_020;
charlesmn 0:3ac96e360672 46
charlesmn 0:3ac96e360672 47
charlesmn 0:3ac96e360672 48 int32_t VL53L1_p_048[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 49 int32_t VL53L1_p_069[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 50
charlesmn 0:3ac96e360672 51 uint8_t VL53L1_p_043[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 52
charlesmn 0:3ac96e360672 53 int32_t VL53L1_p_008[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 54 uint16_t VL53L1_p_017[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 55 uint16_t VL53L1_p_011[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 56
charlesmn 0:3ac96e360672 57 } VL53L1_hist_gen1_algo_private_data_t;
charlesmn 0:3ac96e360672 58
charlesmn 0:3ac96e360672 59
charlesmn 0:3ac96e360672 60
charlesmn 0:3ac96e360672 61
charlesmn 0:3ac96e360672 62 typedef struct {
charlesmn 0:3ac96e360672 63
charlesmn 0:3ac96e360672 64 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 65
charlesmn 0:3ac96e360672 66 uint8_t VL53L1_p_023;
charlesmn 0:3ac96e360672 67
charlesmn 0:3ac96e360672 68 uint8_t VL53L1_p_024;
charlesmn 0:3ac96e360672 69
charlesmn 0:3ac96e360672 70 uint16_t VL53L1_p_019;
charlesmn 0:3ac96e360672 71
charlesmn 0:3ac96e360672 72 uint8_t VL53L1_p_009;
charlesmn 0:3ac96e360672 73
charlesmn 0:3ac96e360672 74 uint8_t VL53L1_p_030;
charlesmn 0:3ac96e360672 75
charlesmn 0:3ac96e360672 76 int32_t VL53L1_p_004;
charlesmn 0:3ac96e360672 77
charlesmn 0:3ac96e360672 78 int32_t VL53L1_p_020;
charlesmn 0:3ac96e360672 79
charlesmn 0:3ac96e360672 80
charlesmn 0:3ac96e360672 81 int32_t VL53L1_p_003[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 82
charlesmn 0:3ac96e360672 83 int32_t VL53L1_p_018[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 84
charlesmn 0:3ac96e360672 85 int32_t VL53L1_p_001[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 86
charlesmn 0:3ac96e360672 87
charlesmn 0:3ac96e360672 88 int32_t VL53L1_p_008[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 89
charlesmn 0:3ac96e360672 90 int32_t VL53L1_p_041[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 91
charlesmn 0:3ac96e360672 92 int32_t VL53L1_p_039[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 93
charlesmn 0:3ac96e360672 94 int32_t VL53L1_p_040[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 95
charlesmn 0:3ac96e360672 96
charlesmn 0:3ac96e360672 97 } VL53L1_hist_gen2_algo_filtered_data_t;
charlesmn 0:3ac96e360672 98
charlesmn 0:3ac96e360672 99
charlesmn 0:3ac96e360672 100
charlesmn 0:3ac96e360672 101
charlesmn 0:3ac96e360672 102 typedef struct {
charlesmn 0:3ac96e360672 103
charlesmn 0:3ac96e360672 104 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 105
charlesmn 0:3ac96e360672 106 uint8_t VL53L1_p_023;
charlesmn 0:3ac96e360672 107
charlesmn 0:3ac96e360672 108 uint8_t VL53L1_p_024;
charlesmn 0:3ac96e360672 109
charlesmn 0:3ac96e360672 110 int32_t VL53L1_p_032;
charlesmn 0:3ac96e360672 111
charlesmn 0:3ac96e360672 112
charlesmn 0:3ac96e360672 113 uint8_t VL53L1_p_042[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 114
charlesmn 0:3ac96e360672 115 uint8_t VL53L1_p_044[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 116
charlesmn 0:3ac96e360672 117
charlesmn 0:3ac96e360672 118 uint32_t VL53L1_p_017[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 119
charlesmn 0:3ac96e360672 120 uint16_t VL53L1_p_011[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 121
charlesmn 0:3ac96e360672 122
charlesmn 0:3ac96e360672 123 uint8_t VL53L1_p_043[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 124
charlesmn 0:3ac96e360672 125
charlesmn 0:3ac96e360672 126 } VL53L1_hist_gen2_algo_detection_data_t;
charlesmn 0:3ac96e360672 127
charlesmn 0:3ac96e360672 128
charlesmn 0:3ac96e360672 129
charlesmn 0:3ac96e360672 130
charlesmn 0:3ac96e360672 131 typedef struct {
charlesmn 0:3ac96e360672 132
charlesmn 0:3ac96e360672 133 uint8_t VL53L1_p_015;
charlesmn 0:3ac96e360672 134
charlesmn 0:3ac96e360672 135 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 136
charlesmn 0:3ac96e360672 137 uint8_t VL53L1_p_025;
charlesmn 0:3ac96e360672 138
charlesmn 0:3ac96e360672 139 uint8_t VL53L1_p_026;
charlesmn 0:3ac96e360672 140
charlesmn 0:3ac96e360672 141 uint8_t VL53L1_p_016;
charlesmn 0:3ac96e360672 142
charlesmn 0:3ac96e360672 143
charlesmn 0:3ac96e360672 144 uint8_t VL53L1_p_027;
charlesmn 0:3ac96e360672 145
charlesmn 0:3ac96e360672 146 uint8_t VL53L1_p_055;
charlesmn 0:3ac96e360672 147
charlesmn 0:3ac96e360672 148
charlesmn 0:3ac96e360672 149 int32_t VL53L1_p_020;
charlesmn 0:3ac96e360672 150
charlesmn 0:3ac96e360672 151 int32_t VL53L1_p_021;
charlesmn 0:3ac96e360672 152
charlesmn 0:3ac96e360672 153 int32_t VL53L1_p_013;
charlesmn 0:3ac96e360672 154
charlesmn 0:3ac96e360672 155
charlesmn 0:3ac96e360672 156 uint32_t VL53L1_p_028;
charlesmn 0:3ac96e360672 157
charlesmn 0:3ac96e360672 158 uint32_t VL53L1_p_014;
charlesmn 0:3ac96e360672 159
charlesmn 0:3ac96e360672 160 uint32_t VL53L1_p_029;
charlesmn 0:3ac96e360672 161
charlesmn 0:3ac96e360672 162
charlesmn 0:3ac96e360672 163 uint16_t VL53L1_p_005;
charlesmn 0:3ac96e360672 164
charlesmn 0:3ac96e360672 165
charlesmn 0:3ac96e360672 166 } VL53L1_hist_pulse_data_t;
charlesmn 0:3ac96e360672 167
charlesmn 0:3ac96e360672 168
charlesmn 0:3ac96e360672 169
charlesmn 0:3ac96e360672 170
charlesmn 0:3ac96e360672 171 typedef struct {
charlesmn 0:3ac96e360672 172
charlesmn 0:3ac96e360672 173 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 174
charlesmn 0:3ac96e360672 175 uint8_t VL53L1_p_023;
charlesmn 0:3ac96e360672 176
charlesmn 0:3ac96e360672 177 uint8_t VL53L1_p_024;
charlesmn 0:3ac96e360672 178
charlesmn 0:3ac96e360672 179 uint8_t VL53L1_p_031;
charlesmn 0:3ac96e360672 180
charlesmn 0:3ac96e360672 181 uint8_t VL53L1_p_045;
charlesmn 0:3ac96e360672 182
charlesmn 0:3ac96e360672 183 int32_t VL53L1_p_004;
charlesmn 0:3ac96e360672 184
charlesmn 0:3ac96e360672 185 int32_t VL53L1_p_032;
charlesmn 0:3ac96e360672 186
charlesmn 0:3ac96e360672 187
charlesmn 0:3ac96e360672 188 uint8_t VL53L1_p_043[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 189
charlesmn 0:3ac96e360672 190 uint8_t VL53L1_p_046[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 191
charlesmn 0:3ac96e360672 192 uint8_t VL53L1_p_047[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 193
charlesmn 0:3ac96e360672 194
charlesmn 0:3ac96e360672 195 int32_t VL53L1_p_056[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 196
charlesmn 0:3ac96e360672 197 int32_t VL53L1_p_048[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 198
charlesmn 0:3ac96e360672 199 int32_t VL53L1_p_008[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 200
charlesmn 0:3ac96e360672 201
charlesmn 0:3ac96e360672 202 uint8_t VL53L1_p_049;
charlesmn 0:3ac96e360672 203
charlesmn 0:3ac96e360672 204 uint8_t VL53L1_p_050;
charlesmn 0:3ac96e360672 205
charlesmn 0:3ac96e360672 206 uint8_t VL53L1_p_051;
charlesmn 0:3ac96e360672 207
charlesmn 0:3ac96e360672 208
charlesmn 0:3ac96e360672 209 VL53L1_hist_pulse_data_t VL53L1_p_002[VL53L1_D_001];
charlesmn 0:3ac96e360672 210
charlesmn 0:3ac96e360672 211
charlesmn 0:3ac96e360672 212
charlesmn 0:3ac96e360672 213
charlesmn 0:3ac96e360672 214 VL53L1_histogram_bin_data_t VL53L1_p_010;
charlesmn 0:3ac96e360672 215
charlesmn 0:3ac96e360672 216 VL53L1_histogram_bin_data_t VL53L1_p_038;
charlesmn 0:3ac96e360672 217
charlesmn 0:3ac96e360672 218 VL53L1_histogram_bin_data_t VL53L1_p_052;
charlesmn 0:3ac96e360672 219
charlesmn 0:3ac96e360672 220 VL53L1_histogram_bin_data_t VL53L1_p_053;
charlesmn 0:3ac96e360672 221
charlesmn 0:3ac96e360672 222 VL53L1_histogram_bin_data_t VL53L1_p_054;
charlesmn 0:3ac96e360672 223
charlesmn 0:3ac96e360672 224
charlesmn 0:3ac96e360672 225
charlesmn 0:3ac96e360672 226
charlesmn 0:3ac96e360672 227 } VL53L1_hist_gen3_algo_private_data_t;
charlesmn 0:3ac96e360672 228
charlesmn 0:3ac96e360672 229
charlesmn 0:3ac96e360672 230
charlesmn 0:3ac96e360672 231
charlesmn 0:3ac96e360672 232 typedef struct {
charlesmn 0:3ac96e360672 233
charlesmn 0:3ac96e360672 234 uint8_t VL53L1_p_022;
charlesmn 0:3ac96e360672 235
charlesmn 0:3ac96e360672 236 uint8_t VL53L1_p_023;
charlesmn 0:3ac96e360672 237
charlesmn 0:3ac96e360672 238 uint8_t VL53L1_p_024;
charlesmn 0:3ac96e360672 239
charlesmn 0:3ac96e360672 240
charlesmn 0:3ac96e360672 241 int32_t VL53L1_p_003[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 242
charlesmn 0:3ac96e360672 243 int32_t VL53L1_p_018[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 244
charlesmn 0:3ac96e360672 245 int32_t VL53L1_p_001[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 246
charlesmn 0:3ac96e360672 247
charlesmn 0:3ac96e360672 248 int32_t VL53L1_p_039[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 249
charlesmn 0:3ac96e360672 250 int32_t VL53L1_p_040[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 251
charlesmn 0:3ac96e360672 252
charlesmn 0:3ac96e360672 253 uint8_t VL53L1_p_043[VL53L1_HISTOGRAM_BUFFER_SIZE];
charlesmn 0:3ac96e360672 254
charlesmn 0:3ac96e360672 255
charlesmn 0:3ac96e360672 256 } VL53L1_hist_gen4_algo_filtered_data_t;
charlesmn 0:3ac96e360672 257
charlesmn 0:3ac96e360672 258 #ifdef __cplusplus
charlesmn 0:3ac96e360672 259 }
charlesmn 0:3ac96e360672 260 #endif
charlesmn 0:3ac96e360672 261
charlesmn 0:3ac96e360672 262 #endif
charlesmn 0:3ac96e360672 263
charlesmn 0:3ac96e360672 264