@@ -33,11 +33,14 @@ class SensorTofMatrix{
33
33
int begin (){
34
34
int out = 0 ;
35
35
_wire->begin ();
36
+ Serial.println (" wire begin done" );
36
37
if (_wire_boost){
37
38
_wire->setClock (WIRE_BOOST_CLOCK);
38
39
}
39
40
out |= _sensor->begin ();
41
+ Serial.println (" sensor begin done" );
40
42
out |= _sensor->init_sensor ();
43
+ Serial.println (" sensor begin done" );
41
44
if (_size == 8 ){
42
45
out |= _sensor->vl53l7cx_set_resolution (VL53L7CX_RESOLUTION_8X8);
43
46
if (_ranging_freq > 0 ) {
@@ -56,7 +59,7 @@ class SensorTofMatrix{
56
59
out |= _sensor->vl53l7cx_start_ranging ();
57
60
58
61
if (_wire_boost){
59
- _wire->setClock (WIRE_BASE_CLOCK );
62
+ _wire->setClock (_wire_base_clock );
60
63
}
61
64
return out;
62
65
}
@@ -130,77 +133,167 @@ class SensorTofMatrix{
130
133
return bottom_max;
131
134
}
132
135
133
- int get_min_range_right_mm () {
136
+ int get_min_range_left_mm () {
134
137
update ();
135
138
136
- int16_t top_min = results.distance_mm [0 ];
139
+ int16_t _min = results.distance_mm [0 ];
137
140
138
141
for (int i=0 ; i < (_size==4 ?16 :64 ) ;i+=_size) {
139
- top_min = min (top_min , results.distance_mm [i]);
142
+ _min = min (_min , results.distance_mm [i]);
140
143
if (_size==8 ) {
141
- top_min = min (top_min , results.distance_mm [i+1 ]);
144
+ _min = min (_min , results.distance_mm [i+1 ]);
142
145
}
143
146
}
144
147
145
- return top_min ;
148
+ return _min ;
146
149
}
147
150
148
- int get_min_range_left_mm () {
151
+ int get_min_range_right_mm () {
149
152
update ();
150
153
151
- int16_t top_min = results.distance_mm [0 ];
154
+ int16_t _min = results.distance_mm [0 ];
152
155
153
156
for (int i=(_size==4 ?3 :6 ); i < (_size==4 ?16 :64 ) ;i+=_size) {
154
- top_min = min (top_min , results.distance_mm [i]);
157
+ _min = min (_min , results.distance_mm [i]);
155
158
if (_size==8 ) {
156
- top_min = min (top_min , results.distance_mm [i+1 ]);
159
+ _min = min (_min , results.distance_mm [i+1 ]);
157
160
}
158
161
}
159
162
160
- return top_min ;
163
+ return _min ;
161
164
}
162
165
163
- int get_min_range_center_right_mm () {
166
+ int get_min_range_center_left_mm () {
164
167
update ();
165
168
166
- int16_t top_min = results.distance_mm [0 ];
169
+ int16_t _min = results.distance_mm [0 ];
167
170
168
171
for (int i=(_size==4 ?5 :18 ); i < (_size==4 ?13 :50 ) ;i+=_size) {
169
- top_min = min (top_min , results.distance_mm [i]);
172
+ _min = min (_min , results.distance_mm [i]);
170
173
if (_size==8 ) {
171
- top_min = min (top_min , results.distance_mm [i+1 ]);
174
+ _min = min (_min , results.distance_mm [i+1 ]);
172
175
}
173
176
}
174
177
175
- return top_min ;
178
+ return _min ;
176
179
}
177
180
178
- int get_min_range_center_left_mm () {
181
+ int get_min_range_center_right_mm () {
179
182
update ();
180
183
181
- int16_t top_min = results.distance_mm [0 ];
184
+ int16_t _min = results.distance_mm [0 ];
182
185
183
186
for (int i=(_size==4 ?6 :20 ); i < (_size==4 ?14 :52 ) ;i+=_size) {
184
- top_min = min (top_min , results.distance_mm [i]);
187
+ _min = min (_min , results.distance_mm [i]);
185
188
if (_size==8 ) {
186
- top_min = min (top_min , results.distance_mm [i+1 ]);
189
+ _min = min (_min , results.distance_mm [i+1 ]);
187
190
}
188
191
}
189
192
190
- return top_min ;
193
+ return _min ;
191
194
}
192
195
193
196
int get_min_range_center_mm () {
194
197
update ();
195
198
196
- int16_t top_min = results.distance_mm [0 ];
199
+ int16_t _min = results.distance_mm [0 ];
197
200
198
201
for (int i=(_size==5 ?6 :19 ); i < (_size==4 ?13 :51 ) ;i+=_size) {
199
- top_min = min (top_min , results.distance_mm [i]);
200
- top_min = min (top_min , results.distance_mm [i+1 ]);
202
+ _min = min (_min , results.distance_mm [i]);
203
+ _min = min (_min , results.distance_mm [i+1 ]);
201
204
}
202
205
203
- return top_min;
206
+ return _min;
207
+ }
208
+
209
+ // avgs
210
+
211
+ int get_avg_range_left_mm () {
212
+ update ();
213
+
214
+ int16_t _avg = 0 ;
215
+ uint8_t n = 0 ;
216
+
217
+ for (int i=0 ; i < (_size==4 ?16 :64 ) ;i+=_size) {
218
+ _avg += results.distance_mm [i];
219
+ n++;
220
+ if (_size==8 ) {
221
+ _avg += results.distance_mm [i+1 ];
222
+ n++;
223
+ }
224
+ }
225
+
226
+ return _avg/n;
227
+ }
228
+
229
+ int get_avg_range_right_mm () {
230
+ update ();
231
+
232
+ int16_t _avg = 0 ;
233
+ uint8_t n = 0 ;
234
+
235
+ for (int i=(_size==4 ?3 :6 ); i < (_size==4 ?16 :64 ) ;i+=_size) {
236
+ _avg += results.distance_mm [i];
237
+ n++;
238
+ if (_size==8 ) {
239
+ _avg += results.distance_mm [i+1 ];
240
+ n++;
241
+ }
242
+ }
243
+
244
+ return _avg/n;
245
+ }
246
+
247
+ int get_avg_range_center_left_mm () {
248
+ update ();
249
+
250
+ int16_t _avg = 0 ;
251
+ uint8_t n = 0 ;
252
+
253
+ for (int i=(_size==4 ?5 :18 ); i < (_size==4 ?13 :50 ) ;i+=_size) {
254
+ _avg += results.distance_mm [i];
255
+ n++;
256
+ if (_size==8 ) {
257
+ _avg += results.distance_mm [i+1 ];
258
+ n++;
259
+ }
260
+ }
261
+
262
+ return _avg/n;
263
+ }
264
+
265
+ int get_avg_range_center_right_mm () {
266
+ update ();
267
+
268
+ int16_t _avg = 0 ;
269
+ uint8_t n = 0 ;
270
+
271
+ for (int i=(_size==4 ?6 :20 ); i < (_size==4 ?14 :52 ) ;i+=_size) {
272
+ _avg += results.distance_mm [i];
273
+ n++;
274
+ if (_size==8 ) {
275
+ _avg += results.distance_mm [i+1 ];
276
+ n++;
277
+ }
278
+ }
279
+
280
+ return _avg/n;
281
+ }
282
+
283
+ int get_avg_range_center_mm () {
284
+ update ();
285
+
286
+ int16_t _avg = 0 ;
287
+ uint8_t n = 0 ;
288
+
289
+ for (int i=(_size==4 ?6 :19 ); i < (_size==4 ?13 :51 ) ;i+=_size) {
290
+ _avg += results.distance_mm [i];
291
+ n++;
292
+ _avg += results.distance_mm [i+1 ];
293
+ n++;
294
+ }
295
+
296
+ return _avg/n;
204
297
}
205
298
206
299
};
0 commit comments