vl53l1_api_debug.c
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2017, STMicroelectronics - All Rights Reserved
3 *
4 * This file is part of VL53L1 Core and is dual licensed,
5 * either 'STMicroelectronics
6 * Proprietary license'
7 * or 'BSD 3-clause "New" or "Revised" License' , at your option.
8 *
9 ********************************************************************************
10 *
11 * 'STMicroelectronics Proprietary license'
12 *
13 ********************************************************************************
14 *
15 * License terms: STMicroelectronics Proprietary in accordance with licensing
16 * terms at www.st.com/sla0081
17 *
18 * STMicroelectronics confidential
19 * Reproduction and Communication of this document is strictly prohibited unless
20 * specifically authorized in writing by STMicroelectronics.
21 *
22 *
23 ********************************************************************************
24 *
25 * Alternatively, VL53L1 Core may be distributed under the terms of
26 * 'BSD 3-clause "New" or "Revised" License', in which case the following
27 * provisions apply instead of the ones mentioned above :
28 *
29 ********************************************************************************
30 *
31 * License terms: BSD 3-clause "New" or "Revised" License.
32 *
33 * Redistribution and use in source and binary forms, with or without
34 * modification, are permitted provided that the following conditions are met:
35 *
36 * 1. Redistributions of source code must retain the above copyright notice, this
37 * list of conditions and the following disclaimer.
38 *
39 * 2. Redistributions in binary form must reproduce the above copyright notice,
40 * this list of conditions and the following disclaimer in the documentation
41 * and/or other materials provided with the distribution.
42 *
43 * 3. Neither the name of the copyright holder nor the names of its contributors
44 * may be used to endorse or promote products derived from this software
45 * without specific prior written permission.
46 *
47 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
48 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
49 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
50 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
51 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
52 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
53 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
54 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
55 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
57 *
58 *
59 ********************************************************************************
60 *
61 */
62 
68 #include "vl53l1_ll_def.h"
69 #include "vl53l1_ll_device.h"
71 #include "vl53l1_core.h"
72 #include "vl53l1_api_debug.h"
73 
74 #define LOG_FUNCTION_START(fmt, ...) \
75  _LOG_FUNCTION_START(VL53L1_TRACE_MODULE_CORE, fmt, ##__VA_ARGS__)
76 #define LOG_FUNCTION_END(status, ...) \
77  _LOG_FUNCTION_END(VL53L1_TRACE_MODULE_CORE, status, ##__VA_ARGS__)
78 #define LOG_FUNCTION_END_FMT(status, fmt, ...) \
79  _LOG_FUNCTION_END_FMT(VL53L1_TRACE_MODULE_CORE, status, \
80  fmt, ##__VA_ARGS__)
81 
82 #define trace_print(level, ...) \
83  _LOG_TRACE_PRINT(trace_flags, \
84  level, VL53L1_TRACE_FUNCTION_NONE, ##__VA_ARGS__)
85 
86 
87 /* Start Patch_AdditionalDebugData_11823 */
88 
90  VL53L1_DEV Dev,
92 {
93  /*
94  * Gets the addition debug data
95  */
96 
98 
100 
101  LOG_FUNCTION_START("");
102 
103  /* get LL Driver configuration parameters */
104 
105  pdata->preset_mode = pdev->preset_mode;
106  pdata->measurement_mode = pdev->measurement_mode;
107 
114 
115  LOG_FUNCTION_END(status);
116 
117  return status;
118 }
119 
120 /* End Patch_AdditionalDebugData_11823 */
121 
122 #ifdef VL53L1_LOG_ENABLE
123 
124 void VL53L1_signed_fixed_point_sprintf(
125  int32_t signed_fp_value,
126  uint8_t frac_bits,
127  uint16_t buf_size,
128  char *pbuffer)
129 {
130  /*
131  * Converts input signed fixed point number into a string
132  */
133 
134  uint32_t fp_value = 0;
135  uint32_t unity_fp_value = 0;
136  uint32_t sign_bit = 0;
137  uint32_t int_part = 0;
138  uint32_t frac_part = 0;
139  uint32_t dec_points = 0;
140  uint32_t dec_scaler = 0;
141  uint32_t dec_part = 0;
142 
143  uint64_t tmp_long_int = 0;
144 
145  char fmt[VL53L1_MAX_STRING_LENGTH];
146 
147  SUPPRESS_UNUSED_WARNING(buf_size);
148 
149  /* split into integer and fractional values */
150 
151  sign_bit = signed_fp_value >> 31;
152 
153  if (sign_bit > 0) {
154  fp_value = 0x80000000 -
155  (0x7FFFFFFF & (uint32_t)signed_fp_value);
156  } else
157  fp_value = (uint32_t)signed_fp_value;
158 
159  int_part = fp_value >> frac_bits;
160  unity_fp_value = 0x01 << frac_bits;
161  frac_part = fp_value & (unity_fp_value-1);
162 
163  /* Calculate decimal scale factor and required decimal points
164  * min number of displayed places is 2
165  */
166  dec_points = 2;
167  dec_scaler = 100;
168 
169  while (dec_scaler < unity_fp_value) {
170  dec_points++;
171  dec_scaler *= 10;
172  }
173 
174  /* Build format string */
175  if (sign_bit > 0)
176  sprintf(fmt, "-%%u.%%0%uu", dec_points);
177  else
178  sprintf(fmt, "%%u.%%0%uu", dec_points);
179 
180  /* Convert fractional part into a decimal
181  * need 64-bit head room at this point
182  */
183  tmp_long_int = (uint64_t)frac_part * (uint64_t)dec_scaler;
184  tmp_long_int += (uint64_t)unity_fp_value/2;
185 
186  tmp_long_int = do_division_u(tmp_long_int, (uint64_t)unity_fp_value);
187 
188  dec_part = (uint32_t)tmp_long_int;
189 
190  /* Generate string for fixed point number */
191  sprintf(
192  pbuffer,
193  fmt,
194  int_part,
195  dec_part);
196 }
197 
198 
199 void VL53L1_print_static_nvm_managed(
201  char *pprefix,
202  uint32_t trace_flags)
203 {
208  char fp_text[VL53L1_MAX_STRING_LENGTH];
209 
210  trace_print(
211  VL53L1_TRACE_LEVEL_INFO,
212  "%s%s = 0x%02X\n",
213  pprefix,
214  "i2c_slave__device_address",
216 
217  trace_print(
218  VL53L1_TRACE_LEVEL_INFO,
219  "%s%s = %u\n",
220  pprefix,
221  "ana_config__vhv_ref_sel_vddpix",
223 
224  trace_print(
225  VL53L1_TRACE_LEVEL_INFO,
226  "%s%s = %u\n",
227  pprefix,
228  "ana_config__vhv_ref_sel_vquench",
230 
231  trace_print(
232  VL53L1_TRACE_LEVEL_INFO,
233  "%s%s = %u\n",
234  pprefix,
235  "ana_config__reg_avdd1v2_sel",
237 
238  trace_print(
239  VL53L1_TRACE_LEVEL_INFO,
240  "%s%s = %u\n",
241  pprefix,
242  "ana_config__fast_osc__trim",
244 
245  VL53L1_signed_fixed_point_sprintf(
247  12,
249  fp_text);
250 
251  trace_print(
252  VL53L1_TRACE_LEVEL_INFO,
253  "%s%s = %s\n",
254  pprefix,
255  "osc_measured__fast_osc__frequency",
256  fp_text);
257 
258  trace_print(
259  VL53L1_TRACE_LEVEL_INFO,
260  "%s%s = %u\n",
261  pprefix,
262  "vhv_config__timeout_macrop_loop_bound",
264 
265  trace_print(
266  VL53L1_TRACE_LEVEL_INFO,
267  "%s%s = %u\n",
268  pprefix,
269  "vhv_config__count_thresh",
270  pdata->vhv_config__count_thresh);
271 
272  trace_print(
273  VL53L1_TRACE_LEVEL_INFO,
274  "%s%s = %u\n",
275  pprefix,
276  "vhv_config__offset",
277  pdata->vhv_config__offset);
278 
279  trace_print(
280  VL53L1_TRACE_LEVEL_INFO,
281  "%s%s = %u\n",
282  pprefix,
283  "vhv_config__init",
284  pdata->vhv_config__init);
285 }
286 
287 
288 void VL53L1_print_customer_nvm_managed(
290  char *pprefix,
291  uint32_t trace_flags)
292 {
293  /*
294  * Prints out VL53L1_customer_nvm_managed_t for debug
295  */
296 
297  char fp_text[VL53L1_MAX_STRING_LENGTH];
298 
299  trace_print(VL53L1_TRACE_LEVEL_INFO,
300  "%s%s = %u\n",
301  pprefix,
302  "global_config__spad_enables_ref_0",
304 
305  trace_print(VL53L1_TRACE_LEVEL_INFO,
306  "%s%s = %u\n",
307  pprefix,
308  "global_config__spad_enables_ref_1",
310 
311  trace_print(VL53L1_TRACE_LEVEL_INFO,
312  "%s%s = %u\n",
313  pprefix,
314  "global_config__spad_enables_ref_2",
316 
317  trace_print(VL53L1_TRACE_LEVEL_INFO,
318  "%s%s = %u\n",
319  pprefix,
320  "global_config__spad_enables_ref_3",
322 
323  trace_print(VL53L1_TRACE_LEVEL_INFO,
324  "%s%s = %u\n",
325  pprefix,
326  "global_config__spad_enables_ref_4",
328 
329  trace_print(VL53L1_TRACE_LEVEL_INFO,
330  "%s%s = %u\n",
331  pprefix,
332  "global_config__spad_enables_ref_5",
334 
335  trace_print(VL53L1_TRACE_LEVEL_INFO,
336  "%s%s = %u\n",
337  pprefix,
338  "global_config__ref_en_start_select",
340 
341  trace_print(VL53L1_TRACE_LEVEL_INFO,
342  "%s%s = %u\n",
343  pprefix,
344  "ref_spad_man__num_requested_ref_spads",
346 
347  trace_print(VL53L1_TRACE_LEVEL_INFO,
348  "%s%s = %u\n",
349  pprefix,
350  "ref_spad_man__ref_location",
352 
353  VL53L1_signed_fixed_point_sprintf(
355  9,
357  fp_text);
358 
359  trace_print(VL53L1_TRACE_LEVEL_INFO,
360  "%s%s = %s\n",
361  pprefix,
362  "algo__crosstalk_compensation_plane_offset_kcps",
363  fp_text);
364 
365  VL53L1_signed_fixed_point_sprintf(
367  11,
369  fp_text);
370 
371  trace_print(VL53L1_TRACE_LEVEL_INFO,
372  "%s%s = %s\n",
373  pprefix,
374  "algo__crosstalk_compensation_x_plane_gradient_kcps",
375  fp_text);
376 
377  VL53L1_signed_fixed_point_sprintf(
379  11,
381  fp_text);
382 
383  trace_print(VL53L1_TRACE_LEVEL_INFO,
384  "%s%s = %s\n",
385  pprefix,
386  "algo__crosstalk_compensation_y_plane_gradient_kcps",
387  fp_text);
388 
389  VL53L1_signed_fixed_point_sprintf(
391  7,
393  fp_text);
394 
395  trace_print(VL53L1_TRACE_LEVEL_INFO,
396  "%s%s = %s\n",
397  pprefix,
398  "ref_spad_char__total_rate_target_mcps",
399  fp_text);
400 
401  VL53L1_signed_fixed_point_sprintf(
403  2,
405  fp_text);
406 
407  trace_print(VL53L1_TRACE_LEVEL_INFO,
408  "%s%s = %s\n",
409  pprefix,
410  "algo__part_to_part_range_offset_mm",
411  fp_text);
412 
413  trace_print(VL53L1_TRACE_LEVEL_INFO,
414  "%s%s = %d\n",
415  pprefix,
416  "mm_config__inner_offset_mm",
418 
419  trace_print(VL53L1_TRACE_LEVEL_INFO,
420  "%s%s = %d\n",
421  pprefix,
422  "mm_config__outer_offset_mm",
424 }
425 
426 
427 void VL53L1_print_nvm_copy_data(
428  VL53L1_nvm_copy_data_t *pdata,
429  char *pprefix,
430  uint32_t trace_flags)
431 {
436  trace_print(
437  VL53L1_TRACE_LEVEL_INFO,
438  "%s%s = %u\n",
439  pprefix,
440  "identification__model_id",
441  pdata->identification__model_id);
442 
443  trace_print(
444  VL53L1_TRACE_LEVEL_INFO,
445  "%s%s = %u\n",
446  pprefix,
447  "identification__module_type",
449 
450  trace_print(
451  VL53L1_TRACE_LEVEL_INFO,
452  "%s%s = %u\n",
453  pprefix,
454  "identification__revision_id",
456 
457  trace_print(
458  VL53L1_TRACE_LEVEL_INFO,
459  "%s%s = %u\n",
460  pprefix,
461  "identification__module_id",
463 
464  trace_print(
465  VL53L1_TRACE_LEVEL_INFO,
466  "%s%s = %u\n",
467  pprefix,
468  "ana_config__fast_osc__trim_max",
470 
471  trace_print(
472  VL53L1_TRACE_LEVEL_INFO,
473  "%s%s = %u\n",
474  pprefix,
475  "ana_config__fast_osc__freq_set",
477 
478  trace_print(
479  VL53L1_TRACE_LEVEL_INFO,
480  "%s%s = %u\n",
481  pprefix,
482  "ana_config__vcsel_trim",
483  pdata->ana_config__vcsel_trim);
484 
485  trace_print(
486  VL53L1_TRACE_LEVEL_INFO,
487  "%s%s = %u\n",
488  pprefix,
489  "ana_config__vcsel_selion",
490  pdata->ana_config__vcsel_selion);
491 
492  trace_print(
493  VL53L1_TRACE_LEVEL_INFO,
494  "%s%s = %u\n",
495  pprefix,
496  "ana_config__vcsel_selion_max",
498 
499  trace_print(
500  VL53L1_TRACE_LEVEL_INFO,
501  "%s%s = %u\n",
502  pprefix,
503  "protected_laser_safety__lock_bit",
505 
506  trace_print(
507  VL53L1_TRACE_LEVEL_INFO,
508  "%s%s = %u\n",
509  pprefix,
510  "laser_safety__key",
511  pdata->laser_safety__key);
512 
513  trace_print(
514  VL53L1_TRACE_LEVEL_INFO,
515  "%s%s = %u\n",
516  pprefix,
517  "laser_safety__key_ro",
518  pdata->laser_safety__key_ro);
519 
520  trace_print(
521  VL53L1_TRACE_LEVEL_INFO,
522  "%s%s = %u\n",
523  pprefix,
524  "laser_safety__clip",
525  pdata->laser_safety__clip);
526 
527  trace_print(
528  VL53L1_TRACE_LEVEL_INFO,
529  "%s%s = %u\n",
530  pprefix,
531  "laser_safety__mult",
532  pdata->laser_safety__mult);
533 
534  trace_print(
535  VL53L1_TRACE_LEVEL_INFO,
536  "%s%s = %u\n",
537  pprefix,
538  "global_config__spad_enables_rtn_0",
540 
541  trace_print(
542  VL53L1_TRACE_LEVEL_INFO,
543  "%s%s = %u\n",
544  pprefix,
545  "global_config__spad_enables_rtn_1",
547 
548  trace_print(
549  VL53L1_TRACE_LEVEL_INFO,
550  "%s%s = %u\n",
551  pprefix,
552  "global_config__spad_enables_rtn_2",
554 
555  trace_print(
556  VL53L1_TRACE_LEVEL_INFO,
557  "%s%s = %u\n",
558  pprefix,
559  "global_config__spad_enables_rtn_3",
561 
562  trace_print(
563  VL53L1_TRACE_LEVEL_INFO,
564  "%s%s = %u\n",
565  pprefix,
566  "global_config__spad_enables_rtn_4",
568 
569  trace_print(
570  VL53L1_TRACE_LEVEL_INFO,
571  "%s%s = %u\n",
572  pprefix,
573  "global_config__spad_enables_rtn_5",
575 
576  trace_print(
577  VL53L1_TRACE_LEVEL_INFO,
578  "%s%s = %u\n",
579  pprefix,
580  "global_config__spad_enables_rtn_6",
582 
583  trace_print(
584  VL53L1_TRACE_LEVEL_INFO,
585  "%s%s = %u\n",
586  pprefix,
587  "global_config__spad_enables_rtn_7",
589 
590  trace_print(
591  VL53L1_TRACE_LEVEL_INFO,
592  "%s%s = %u\n",
593  pprefix,
594  "global_config__spad_enables_rtn_8",
596 
597  trace_print(
598  VL53L1_TRACE_LEVEL_INFO,
599  "%s%s = %u\n",
600  pprefix,
601  "global_config__spad_enables_rtn_9",
603 
604  trace_print(
605  VL53L1_TRACE_LEVEL_INFO,
606  "%s%s = %u\n",
607  pprefix,
608  "global_config__spad_enables_rtn_10",
610 
611  trace_print(
612  VL53L1_TRACE_LEVEL_INFO,
613  "%s%s = %u\n",
614  pprefix,
615  "global_config__spad_enables_rtn_11",
617 
618  trace_print(
619  VL53L1_TRACE_LEVEL_INFO,
620  "%s%s = %u\n",
621  pprefix,
622  "global_config__spad_enables_rtn_12",
624 
625  trace_print(
626  VL53L1_TRACE_LEVEL_INFO,
627  "%s%s = %u\n",
628  pprefix,
629  "global_config__spad_enables_rtn_13",
631 
632  trace_print(
633  VL53L1_TRACE_LEVEL_INFO,
634  "%s%s = %u\n",
635  pprefix,
636  "global_config__spad_enables_rtn_14",
638 
639  trace_print(
640  VL53L1_TRACE_LEVEL_INFO,
641  "%s%s = %u\n",
642  pprefix,
643  "global_config__spad_enables_rtn_15",
645 
646  trace_print(
647  VL53L1_TRACE_LEVEL_INFO,
648  "%s%s = %u\n",
649  pprefix,
650  "global_config__spad_enables_rtn_16",
652 
653  trace_print(
654  VL53L1_TRACE_LEVEL_INFO,
655  "%s%s = %u\n",
656  pprefix,
657  "global_config__spad_enables_rtn_17",
659 
660  trace_print(
661  VL53L1_TRACE_LEVEL_INFO,
662  "%s%s = %u\n",
663  pprefix,
664  "global_config__spad_enables_rtn_18",
666 
667  trace_print(
668  VL53L1_TRACE_LEVEL_INFO,
669  "%s%s = %u\n",
670  pprefix,
671  "global_config__spad_enables_rtn_19",
673 
674  trace_print(
675  VL53L1_TRACE_LEVEL_INFO,
676  "%s%s = %u\n",
677  pprefix,
678  "global_config__spad_enables_rtn_20",
680 
681  trace_print(
682  VL53L1_TRACE_LEVEL_INFO,
683  "%s%s = %u\n",
684  pprefix,
685  "global_config__spad_enables_rtn_21",
687 
688  trace_print(
689  VL53L1_TRACE_LEVEL_INFO,
690  "%s%s = %u\n",
691  pprefix,
692  "global_config__spad_enables_rtn_22",
694 
695  trace_print(
696  VL53L1_TRACE_LEVEL_INFO,
697  "%s%s = %u\n",
698  pprefix,
699  "global_config__spad_enables_rtn_23",
701 
702  trace_print(
703  VL53L1_TRACE_LEVEL_INFO,
704  "%s%s = %u\n",
705  pprefix,
706  "global_config__spad_enables_rtn_24",
708 
709  trace_print(
710  VL53L1_TRACE_LEVEL_INFO,
711  "%s%s = %u\n",
712  pprefix,
713  "global_config__spad_enables_rtn_25",
715 
716  trace_print(
717  VL53L1_TRACE_LEVEL_INFO,
718  "%s%s = %u\n",
719  pprefix,
720  "global_config__spad_enables_rtn_26",
722 
723  trace_print(
724  VL53L1_TRACE_LEVEL_INFO,
725  "%s%s = %u\n",
726  pprefix,
727  "global_config__spad_enables_rtn_27",
729 
730  trace_print(
731  VL53L1_TRACE_LEVEL_INFO,
732  "%s%s = %u\n",
733  pprefix,
734  "global_config__spad_enables_rtn_28",
736 
737  trace_print(
738  VL53L1_TRACE_LEVEL_INFO,
739  "%s%s = %u\n",
740  pprefix,
741  "global_config__spad_enables_rtn_29",
743 
744  trace_print(
745  VL53L1_TRACE_LEVEL_INFO,
746  "%s%s = %u\n",
747  pprefix,
748  "global_config__spad_enables_rtn_30",
750 
751  trace_print(
752  VL53L1_TRACE_LEVEL_INFO,
753  "%s%s = %u\n",
754  pprefix,
755  "global_config__spad_enables_rtn_31",
757 
758  trace_print(
759  VL53L1_TRACE_LEVEL_INFO,
760  "%s%s = %u\n",
761  pprefix,
762  "roi_config__mode_roi_centre_spad",
764 
765  trace_print(
766  VL53L1_TRACE_LEVEL_INFO,
767  "%s%s = 0x%02X\n",
768  pprefix,
769  "roi_config__mode_roi_xy_size",
771 }
772 
773 
774 void VL53L1_print_range_data(
775  VL53L1_range_data_t *pdata,
776  char *pprefix,
777  uint32_t trace_flags)
778 {
779  /*
780  * Prints out the range data structure for debug
781  */
782 
783  char fp_text[VL53L1_MAX_STRING_LENGTH];
784 
785  trace_print(
786  VL53L1_TRACE_LEVEL_INFO,
787  "%s%s = %u\n",
788  pprefix,
789  "range_id",
790  pdata->range_id);
791 
792  trace_print(
793  VL53L1_TRACE_LEVEL_INFO,
794  "%s%s = %u\n",
795  pprefix,
796  "time_stamp",
797  pdata->time_stamp);
798 
799  VL53L1_signed_fixed_point_sprintf(
800  (int32_t)pdata->width,
801  4, VL53L1_MAX_STRING_LENGTH, fp_text);
802 
803  trace_print(
804  VL53L1_TRACE_LEVEL_INFO,
805  "%s%s = %s\n",
806  pprefix,
807  "width",
808  fp_text);
809 
810  trace_print(
811  VL53L1_TRACE_LEVEL_INFO,
812  "%s%s = %u\n",
813  pprefix,
814  "woi",
815  pdata->woi);
816 
817  /* Fast Oscillator Frequency */
818 
819  VL53L1_signed_fixed_point_sprintf(
820  (int32_t)pdata->fast_osc_frequency,
821  12, VL53L1_MAX_STRING_LENGTH, fp_text);
822 
823  trace_print(
824  VL53L1_TRACE_LEVEL_INFO,
825  "%s%s = %s\n",
826  pprefix,
827  "fast_osc_frequency",
828  fp_text);
829 
830  /* Zero Distance Phase */
831 
832  VL53L1_signed_fixed_point_sprintf(
834  11, VL53L1_MAX_STRING_LENGTH, fp_text);
835 
836  trace_print(
837  VL53L1_TRACE_LEVEL_INFO,
838  "%s%s = %s\n",
839  pprefix,
840  "zero_distance_phase",
841  fp_text);
842 
843  /* Actual effective SPAD count */
844 
845  VL53L1_signed_fixed_point_sprintf(
847  8, VL53L1_MAX_STRING_LENGTH, fp_text);
848 
849  trace_print(
850  VL53L1_TRACE_LEVEL_INFO,
851  "%s%s = %s\n",
852  pprefix,
853  "actual_effective_spad",
854  fp_text);
855 
856 
857  trace_print(VL53L1_TRACE_LEVEL_INFO,
858  "%s%s = %u\n",
859  pprefix,
860  "total_periods_elapsed",
861  pdata->total_periods_elapsed);
862 
863  trace_print(
864  VL53L1_TRACE_LEVEL_INFO,
865  "%s%s = %u\n",
866  pprefix,
867  "peak_duration_us",
868  pdata->peak_duration_us);
869 
870  trace_print(
871  VL53L1_TRACE_LEVEL_INFO,
872  "%s%s = %u\n",
873  pprefix,
874  "woi_duration_us",
875  pdata->woi_duration_us);
876 
877  trace_print(
878  VL53L1_TRACE_LEVEL_INFO,
879  "%s%s = %d\n",
880  pprefix,
881  "ambient_window_events",
882  pdata->ambient_window_events);
883 
884  trace_print(
885  VL53L1_TRACE_LEVEL_INFO,
886  "%s%s = %d\n",
887  pprefix,
888  "ranging_total_events",
889  pdata->ranging_total_events);
890 
891  trace_print(
892  VL53L1_TRACE_LEVEL_INFO,
893  "%s%s = %d\n",
894  pprefix,
895  "signal_total_events",
896  pdata->signal_total_events);
897 
898  /* Rates */
899 
900  VL53L1_signed_fixed_point_sprintf(
902  7, VL53L1_MAX_STRING_LENGTH, fp_text);
903 
904  trace_print(
905  VL53L1_TRACE_LEVEL_INFO,
906  "%s%s = %s\n",
907  pprefix,
908  "peak_signal_count_rate_mcps",
909  fp_text);
910 
911  VL53L1_signed_fixed_point_sprintf(
913  7, VL53L1_MAX_STRING_LENGTH, fp_text);
914 
915  trace_print(
916  VL53L1_TRACE_LEVEL_INFO,
917  "%s%s = %s\n",
918  pprefix,
919  "avg_signal_count_rate_mcps",
920  fp_text);
921 
922  VL53L1_signed_fixed_point_sprintf(
924  7, VL53L1_MAX_STRING_LENGTH, fp_text);
925 
926  trace_print(
927  VL53L1_TRACE_LEVEL_INFO,
928  "%s%s = %s\n",
929  pprefix,
930  "ambient_count_rate_mcps",
931  fp_text);
932 
933  VL53L1_signed_fixed_point_sprintf(
935  13, VL53L1_MAX_STRING_LENGTH, fp_text);
936 
937  trace_print(
938  VL53L1_TRACE_LEVEL_INFO,
939  "%s%s = %s\n",
940  pprefix,
941  "total_rate_per_spad_mcps",
942  fp_text);
943 
944  VL53L1_signed_fixed_point_sprintf(
946  11, VL53L1_MAX_STRING_LENGTH, fp_text);
947 
948  trace_print(
949  VL53L1_TRACE_LEVEL_INFO,
950  "%s%s = %s\n",
951  pprefix,
952  "peak_rate_per_spad_kcps",
953  fp_text);
954 
955  /* Sigma */
956 
957  VL53L1_signed_fixed_point_sprintf(
958  (int32_t)pdata->sigma_mm,
959  2, VL53L1_MAX_STRING_LENGTH, fp_text);
960 
961  trace_print(
962  VL53L1_TRACE_LEVEL_INFO,
963  "%s%s = %s\n",
964  pprefix,
965  "sigma_mm",
966  fp_text);
967 
968  /* Phase */
969 
970  VL53L1_signed_fixed_point_sprintf(
971  (int32_t)pdata->median_phase,
972  11, VL53L1_MAX_STRING_LENGTH, fp_text);
973 
974  trace_print(
975  VL53L1_TRACE_LEVEL_INFO,
976  "%s%s = %s\n",
977  pprefix,
978  "median_phase",
979  fp_text);
980 
981  /* Offset Corrected Range */
982 
983  trace_print(
984  VL53L1_TRACE_LEVEL_INFO,
985  "%s%s = %d\n",
986  pprefix,
987  "median_range_mm",
988  pdata->median_range_mm);
989 
990  trace_print(
991  VL53L1_TRACE_LEVEL_INFO,
992  "%s%s = %u\n",
993  pprefix,
994  "range_status",
995  pdata->range_status);
996 }
997 
998 
999 void VL53L1_print_range_results(
1000  VL53L1_range_results_t *pdata,
1001  char *pprefix,
1002  uint32_t trace_flags)
1003 {
1004  /*
1005  * Prints out the range results data structure for debug
1006  */
1007 
1008  trace_print(
1009  VL53L1_TRACE_LEVEL_INFO,
1010  "%s%s = %u\n",
1011  pprefix,
1012  "cfg_device_state",
1013  pdata->cfg_device_state);
1014 
1015  trace_print(
1016  VL53L1_TRACE_LEVEL_INFO,
1017  "%s%s = %u\n",
1018  pprefix,
1019  "rd_device_state",
1020  pdata->rd_device_state);
1021 
1022  trace_print(
1023  VL53L1_TRACE_LEVEL_INFO,
1024  "%s%s = %u\n",
1025  pprefix,
1026  "stream_count",
1027  pdata->stream_count);
1028 
1029  trace_print(
1030  VL53L1_TRACE_LEVEL_INFO,
1031  "%s%s = %u\n",
1032  pprefix,
1033  "device_status",
1034  pdata->device_status);
1035 
1036 }
1037 
1038 void VL53L1_print_offset_range_results(
1040  char *pprefix,
1041  uint32_t trace_flags)
1042 {
1043  /*
1044  * Prints out the offset range results data structure for debug
1045  */
1046 
1047  char pre_text[VL53L1_MAX_STRING_LENGTH];
1048  char *ppre_text = &(pre_text[0]);
1049 
1050  uint8_t i = 0;
1051 
1052  trace_print(
1053  VL53L1_TRACE_LEVEL_INFO,
1054  "%s%s = %u\n",
1055  pprefix,
1056  "cal_distance_mm",
1057  pdata->cal_distance_mm);
1058 
1059  trace_print(
1060  VL53L1_TRACE_LEVEL_INFO,
1061  "%s%s = %u\n",
1062  pprefix,
1063  "cal_status",
1064  pdata->cal_status);
1065 
1066  trace_print(
1067  VL53L1_TRACE_LEVEL_INFO,
1068  "%s%s = %u\n",
1069  pprefix,
1070  "cal_report",
1071  pdata->cal_report);
1072 
1073  trace_print(
1074  VL53L1_TRACE_LEVEL_INFO,
1075  "%s%s = %u\n",
1076  pprefix,
1077  "max_results",
1078  pdata->max_results);
1079 
1080  trace_print(
1081  VL53L1_TRACE_LEVEL_INFO,
1082  "%s%s = %u\n",
1083  pprefix,
1084  "active_results",
1085  pdata->active_results);
1086 
1087  for (i = 0 ; i < pdata->active_results ; i++) {
1088  sprintf(ppre_text, "%sdata[%u].", pprefix, i);
1089  VL53L1_print_offset_range_data(
1090  &(pdata->data[i]),
1091  ppre_text, trace_flags);
1092  }
1093 }
1094 
1095 void VL53L1_print_offset_range_data(
1097  char *pprefix,
1098  uint32_t trace_flags)
1099 {
1100  /*
1101  * Prints out the xtalk range (ROI) data structure for debug
1102  */
1103 
1104  char fp_text[VL53L1_MAX_STRING_LENGTH];
1105 
1106  trace_print(
1107  VL53L1_TRACE_LEVEL_INFO,
1108  "%s%s = %u\n",
1109  pprefix,
1110  "preset_mode",
1111  pdata->preset_mode);
1112 
1113  trace_print(
1114  VL53L1_TRACE_LEVEL_INFO,
1115  "%s%s = %u\n",
1116  pprefix,
1117  "dss_config__roi_mode_control",
1119 
1120  VL53L1_signed_fixed_point_sprintf(
1122  8,
1124  fp_text);
1125 
1126  trace_print(
1127  VL53L1_TRACE_LEVEL_INFO,
1128  "%s%s = %s\n",
1129  pprefix,
1130  "dss_config__manual_effective_spads_select",
1131  fp_text);
1132 
1133  trace_print(
1134  VL53L1_TRACE_LEVEL_INFO,
1135  "%s%s = %u\n",
1136  pprefix,
1137  "no_of_samples",
1138  pdata->no_of_samples);
1139 
1140 
1141  VL53L1_signed_fixed_point_sprintf(
1142  (int32_t)pdata->effective_spads,
1143  8,
1145  fp_text);
1146 
1147  trace_print(
1148  VL53L1_TRACE_LEVEL_INFO,
1149  "%s%s = %s\n",
1150  pprefix,
1151  "effective_spads",
1152  fp_text);
1153 
1154  VL53L1_signed_fixed_point_sprintf(
1155  (int32_t)pdata->peak_rate_mcps,
1156  7,
1158  fp_text);
1159 
1160  trace_print(
1161  VL53L1_TRACE_LEVEL_INFO,
1162  "%s%s = %s\n",
1163  pprefix,
1164  "peak_rate_mcps",
1165  fp_text);
1166 
1167  VL53L1_signed_fixed_point_sprintf(
1168  (int32_t)pdata->sigma_mm,
1169  2,
1171  fp_text);
1172 
1173  trace_print(
1174  VL53L1_TRACE_LEVEL_INFO,
1175  "%s%s = %s\n",
1176  pprefix,
1177  "sigma_mm",
1178  fp_text);
1179 
1180  trace_print(
1181  VL53L1_TRACE_LEVEL_INFO,
1182  "%s%s = %d\n",
1183  pprefix,
1184  "median_range_mm",
1185  pdata->median_range_mm);
1186 
1187  trace_print(
1188  VL53L1_TRACE_LEVEL_INFO,
1189  "%s%s = %d\n",
1190  pprefix,
1191  "range_mm_offset",
1192  pdata->range_mm_offset);
1193 }
1194 
1195 void VL53L1_print_additional_offset_cal_data(
1197  char *pprefix,
1198  uint32_t trace_flags)
1199 {
1200  /*
1201  * Prints out the xtalk range (ROI) data structure for debug
1202  */
1203 
1204  char fp_text[VL53L1_MAX_STRING_LENGTH];
1205 
1206  VL53L1_signed_fixed_point_sprintf(
1208  8,
1210  fp_text);
1211 
1212  trace_print(
1213  VL53L1_TRACE_LEVEL_INFO,
1214  "%s%s = %s\n",
1215  pprefix,
1216  "result__mm_inner_actual_effective_spads",
1217  fp_text);
1218 
1219  VL53L1_signed_fixed_point_sprintf(
1221  8,
1223  fp_text);
1224 
1225  trace_print(
1226  VL53L1_TRACE_LEVEL_INFO,
1227  "%s%s = %s\n",
1228  pprefix,
1229  "result__mm_outer_actual_effective_spads",
1230  fp_text);
1231 
1232  VL53L1_signed_fixed_point_sprintf(
1234  7,
1236  fp_text);
1237 
1238  trace_print(
1239  VL53L1_TRACE_LEVEL_INFO,
1240  "%s%s = %s\n",
1241  pprefix,
1242  "result__mm_inner_peak_signal_count_rtn_mcps",
1243  fp_text);
1244 
1245  VL53L1_signed_fixed_point_sprintf(
1247  7,
1249  fp_text);
1250 
1251  trace_print(
1252  VL53L1_TRACE_LEVEL_INFO,
1253  "%s%s = %s\n",
1254  pprefix,
1255  "result__mm_outer_peak_signal_count_rtn_mcps",
1256  fp_text);
1257 }
1258 
1259 
1260 void VL53L1_print_cal_peak_rate_map(
1262  char *pprefix,
1263  uint32_t trace_flags)
1264 {
1265  /*
1266  * Prints out peak rate map structure for debug
1267  */
1268 
1269  char fp_text[VL53L1_MAX_STRING_LENGTH];
1270  char pre_text[VL53L1_MAX_STRING_LENGTH];
1271  char *ppre_text = &(pre_text[0]);
1272 
1273  uint8_t i = 0;
1274  uint8_t x = 0;
1275  uint8_t y = 0;
1276 
1277  VL53L1_signed_fixed_point_sprintf(
1278  (int32_t)pdata->cal_distance_mm,
1279  2,
1281  fp_text);
1282 
1283  trace_print(
1284  VL53L1_TRACE_LEVEL_INFO,
1285  "%s%s = %s\n",
1286  pprefix,
1287  "cal_distance_mm",
1288  fp_text);
1289 
1290  trace_print(
1291  VL53L1_TRACE_LEVEL_INFO,
1292  "%s%s = %u\n",
1293  pprefix,
1294  "max_samples",
1295  pdata->max_samples);
1296 
1297  trace_print(
1298  VL53L1_TRACE_LEVEL_INFO,
1299  "%s%s = %u\n",
1300  pprefix,
1301  "width",
1302  pdata->width);
1303 
1304  trace_print(
1305  VL53L1_TRACE_LEVEL_INFO,
1306  "%s%s = %u\n",
1307  pprefix,
1308  "height",
1309  pdata->height);
1310 
1311  i = 0;
1312  for (y = 0 ; y < pdata->height ; y++) {
1313  for (x = 0 ; x < pdata->width ; x++) {
1314 
1315  sprintf(ppre_text, "%speak_rate_mcps[%u]", pprefix, i);
1316 
1317  VL53L1_signed_fixed_point_sprintf(
1318  (int32_t)pdata->peak_rate_mcps[i],
1319  7,
1321  fp_text);
1322 
1323  trace_print(
1324  VL53L1_TRACE_LEVEL_INFO,
1325  "%s = %s\n",
1326  ppre_text,
1327  fp_text);
1328 
1329  i++;
1330  }
1331  }
1332 }
1333 
1334 void VL53L1_print_additional_data(
1335  VL53L1_additional_data_t *pdata,
1336  char *pprefix,
1337  uint32_t trace_flags)
1338 {
1339 
1340  /*
1341  * Prints out the Additional data structure for debug
1342  */
1343 
1344  char fp_text[VL53L1_MAX_STRING_LENGTH];
1345 
1346  trace_print(
1347  VL53L1_TRACE_LEVEL_INFO,
1348  "%s%s = %u\n",
1349  pprefix,
1350  "preset_mode",
1351  pdata->preset_mode);
1352 
1353  trace_print(
1354  VL53L1_TRACE_LEVEL_INFO,
1355  "%s%s = %u\n",
1356  pprefix,
1357  "measurement_mode",
1358  pdata->measurement_mode);
1359 
1360  trace_print(
1361  VL53L1_TRACE_LEVEL_INFO,
1362  "%s%s = %u\n",
1363  pprefix,
1364  "phasecal_config_timeout_us",
1366 
1367  trace_print(
1368  VL53L1_TRACE_LEVEL_INFO,
1369  "%s%s = %u\n",
1370  pprefix,
1371  "mm_config_timeout_us",
1372  pdata->mm_config_timeout_us);
1373 
1374  trace_print(
1375  VL53L1_TRACE_LEVEL_INFO,
1376  "%s%s = %u\n",
1377  pprefix,
1378  "range_config_timeout_us",
1379  pdata->range_config_timeout_us);
1380 
1381  trace_print(
1382  VL53L1_TRACE_LEVEL_INFO,
1383  "%s%s = %u\n",
1384  pprefix,
1385  "inter_measurement_period_ms",
1387 
1388 
1389  VL53L1_signed_fixed_point_sprintf(
1391  7,
1393  fp_text);
1394 
1395  trace_print(
1396  VL53L1_TRACE_LEVEL_INFO,
1397  "%s%s = %s\n",
1398  pprefix,
1399  "dss_config__target_total_rate_mcps",
1400  fp_text);
1401 
1402 }
1403 
1404 
1405 void VL53L1_print_gain_calibration_data(
1407  char *pprefix,
1408  uint32_t trace_flags)
1409 {
1410  /*
1411  * Prints out the LL Driver state data for debug
1412  */
1413 
1414  char fp_text[VL53L1_MAX_STRING_LENGTH];
1415 
1416  VL53L1_signed_fixed_point_sprintf(
1418  11,
1420  fp_text);
1421 
1422  trace_print(
1423  VL53L1_TRACE_LEVEL_INFO,
1424  "%s%s = %s\n",
1425  pprefix,
1426  "standard_ranging_gain_factor",
1427  fp_text);
1428 
1429 }
1430 
1431 
1432 void VL53L1_print_xtalk_config(
1433  VL53L1_xtalk_config_t *pdata,
1434  char *pprefix,
1435  uint32_t trace_flags)
1436 {
1437  /*
1438  * Prints out the xtalk config data structure for debug
1439  */
1440 
1441  char fp_text[VL53L1_MAX_STRING_LENGTH];
1442 
1443  VL53L1_signed_fixed_point_sprintf(
1445  9,
1447  fp_text);
1448 
1449  trace_print(
1450  VL53L1_TRACE_LEVEL_INFO,
1451  "%s%s = %s\n",
1452  pprefix,
1453  "algo__crosstalk_compensation_plane_offset_kcps",
1454  fp_text);
1455 
1456  VL53L1_signed_fixed_point_sprintf(
1458  11,
1460  fp_text);
1461 
1462  trace_print(
1463  VL53L1_TRACE_LEVEL_INFO,
1464  "%s%s = %s\n",
1465  pprefix,
1466  "algo__crosstalk_compensation_x_plane_gradient_kcps",
1467  fp_text);
1468 
1469  VL53L1_signed_fixed_point_sprintf(
1471  11,
1473  fp_text);
1474 
1475  trace_print(
1476  VL53L1_TRACE_LEVEL_INFO,
1477  "%s%s = %s\n",
1478  pprefix,
1479  "algo__crosstalk_compensation_y_plane_gradient_kcps",
1480  fp_text);
1481 
1482  trace_print(
1483  VL53L1_TRACE_LEVEL_INFO,
1484  "%s%s = %u\n",
1485  pprefix,
1486  "global_crosstalk_compensation_enable",
1488 
1489  VL53L1_signed_fixed_point_sprintf(
1491  9,
1493  fp_text);
1494 
1495  trace_print(
1496  VL53L1_TRACE_LEVEL_INFO,
1497  "%s%s = %s\n",
1498  pprefix,
1499  "lite_mode_crosstalk_margin_kcps",
1500  fp_text);
1501 
1502  VL53L1_signed_fixed_point_sprintf(
1504  5,
1506  fp_text);
1507 
1508  trace_print(
1509  VL53L1_TRACE_LEVEL_INFO,
1510  "%s%s = %s\n",
1511  pprefix,
1512  "crosstalk_range_ignore_threshold_mult",
1513  fp_text);
1514 
1515 
1516  VL53L1_signed_fixed_point_sprintf(
1518  13,
1520  fp_text);
1521 
1522  trace_print(
1523  VL53L1_TRACE_LEVEL_INFO,
1524  "%s%s = %s\n",
1525  pprefix,
1526  "crosstalk_range_ignore_threshold_rate_mcps",
1527  fp_text);
1528 
1529 }
1530 
1531 
1532 
1533 void VL53L1_print_optical_centre(
1534  VL53L1_optical_centre_t *pdata,
1535  char *pprefix,
1536  uint32_t trace_flags)
1537 {
1538 
1539  /* Prints out the optical centre data structure for debug
1540  */
1541 
1542  char fp_text[VL53L1_MAX_STRING_LENGTH];
1543 
1544  VL53L1_signed_fixed_point_sprintf(
1545  (int32_t)pdata->x_centre,
1546  4,
1548  fp_text);
1549 
1550  trace_print(
1551  VL53L1_TRACE_LEVEL_INFO,
1552  "%s%s = %s\n",
1553  pprefix,
1554  "x_centre",
1555  fp_text);
1556 
1557  VL53L1_signed_fixed_point_sprintf(
1558  (int32_t)pdata->y_centre,
1559  4,
1561  fp_text);
1562 
1563  trace_print(
1564  VL53L1_TRACE_LEVEL_INFO,
1565  "%s%s = %s\n",
1566  pprefix,
1567  "y_centre",
1568  fp_text);
1569 }
1570 
1571 
1572 void VL53L1_print_user_zone(
1573  VL53L1_user_zone_t *pdata,
1574  char *pprefix,
1575  uint32_t trace_flags)
1576 {
1577 
1578  /* Prints out the zone (ROI) data structure for debug
1579  */
1580 
1581  trace_print(
1582  VL53L1_TRACE_LEVEL_INFO,
1583  "%s%s = %u\n",
1584  pprefix,
1585  "x_centre",
1586  pdata->x_centre);
1587 
1588  trace_print(
1589  VL53L1_TRACE_LEVEL_INFO,
1590  "%s%s = %u\n",
1591  pprefix,
1592  "y_centre",
1593  pdata->y_centre);
1594 
1595  trace_print(
1596  VL53L1_TRACE_LEVEL_INFO,
1597  "%s%s = %u\n",
1598  pprefix,
1599  "width",
1600  pdata->width);
1601 
1602  trace_print(VL53L1_TRACE_LEVEL_INFO,
1603  "%s%s = %u\n",
1604  pprefix,
1605  "height",
1606  pdata->height);
1607 }
1608 
1609 
1610 void VL53L1_print_spad_rate_data(
1611  VL53L1_spad_rate_data_t *pspad_rates,
1612  char *pprefix,
1613  uint32_t trace_flags)
1614 {
1615 
1620  uint16_t spad_no = 0;
1621  uint8_t row = 0;
1622  uint8_t col = 0;
1623 
1624  char fp_text[VL53L1_MAX_STRING_LENGTH];
1625 
1626  trace_print(
1627  VL53L1_TRACE_LEVEL_INFO,
1628  "%s%8s,%4s,%4s, %s\n",
1629  pprefix,
1630  "spad_no",
1631  "row",
1632  "col",
1633  "peak_rate_mcps");
1634 
1635  for (spad_no = 0 ; spad_no < pspad_rates->no_of_values ; spad_no++) {
1636 
1637  /* generate row / col location from SPAD number */
1639  (uint8_t)spad_no,
1640  &row,
1641  &col);
1642 
1643  /* Convert fixed point rate value to string */
1644 
1645  VL53L1_signed_fixed_point_sprintf(
1646  (int32_t)pspad_rates->rate_data[spad_no],
1647  pspad_rates->fractional_bits,
1649  fp_text);
1650 
1651  /* Print data */
1652 
1653  trace_print(
1654  VL53L1_TRACE_LEVEL_INFO,
1655  "%s%8u,%4u,%4u, %s\n",
1656  pprefix,
1657  spad_no,
1658  row,
1659  col,
1660  fp_text);
1661  }
1662 }
1663 
1664 
1665 void VL53L1_print_spad_rate_map(
1666  VL53L1_spad_rate_data_t *pspad_rates,
1667  char *pprefix,
1668  uint32_t trace_flags)
1669 {
1670 
1675  uint8_t spad_no = 0;
1676  uint8_t row = 0;
1677  uint8_t col = 0;
1678 
1679  char fp_text[VL53L1_MAX_STRING_LENGTH];
1680 
1681  /* Print column headers */
1682  trace_print(
1683  VL53L1_TRACE_LEVEL_INFO,
1684  "%s%4s",
1685  pprefix,
1686  " ");
1687 
1688  for (col = 0 ; col < VL53L1_SPAD_ARRAY_WIDTH ; col++)
1689  trace_print(
1690  VL53L1_TRACE_LEVEL_INFO,
1691  ",%8u",
1692  col);
1693 
1694  trace_print(
1695  VL53L1_TRACE_LEVEL_INFO,
1696  "\n");
1697 
1698  /* Print rate data */
1699 
1700  for (row = 0 ; row < VL53L1_SPAD_ARRAY_HEIGHT ; row++) {
1701 
1702  trace_print(
1703  VL53L1_TRACE_LEVEL_INFO,
1704  "%s%4u",
1705  pprefix,
1706  row);
1707 
1708  for (col = 0 ; col < VL53L1_SPAD_ARRAY_HEIGHT ; col++) {
1709 
1710  /* generate SPAD number from (row, col) location */
1711 
1713  row,
1714  col,
1715  &spad_no);
1716 
1717  /* Convert fixed point rate value to string */
1718 
1719  VL53L1_signed_fixed_point_sprintf(
1720  (int32_t)pspad_rates->rate_data[spad_no],
1721  pspad_rates->fractional_bits,
1723  fp_text);
1724 
1725  /* Print data */
1726 
1727  trace_print(
1728  VL53L1_TRACE_LEVEL_INFO,
1729  ",%8s",
1730  fp_text);
1731  }
1732 
1733  trace_print(
1734  VL53L1_TRACE_LEVEL_INFO,
1735  "\n");
1736  }
1737 }
1738 
1739 
1740 #endif /* VL53L1_LOG_ENABLE */
1741 
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_20
uint8_t global_config__spad_enables_rtn_20
Definition: vl53l1_register_structs.h:2550
VL53L1_customer_nvm_managed_t::ref_spad_man__ref_location
uint8_t ref_spad_man__ref_location
Definition: vl53l1_register_structs.h:324
VL53L1_range_data_t::range_status
uint8_t range_status
Definition: vl53l1_ll_def.h:597
VL53L1_cal_peak_rate_map_t::height
uint16_t height
Definition: vl53l1_ll_def.h:722
VL53L1_xtalk_config_t::crosstalk_range_ignore_threshold_mult
uint8_t crosstalk_range_ignore_threshold_mult
Definition: vl53l1_ll_def.h:235
VL53L1_get_additional_data
VL53L1_Error VL53L1_get_additional_data(VL53L1_DEV Dev, VL53L1_additional_data_t *pdata)
Gets the current LL Driver configuration parameters and the last set of histogram data for debug.
Definition: vl53l1_api_debug.c:89
VL53L1_user_zone_t
Defines User Zone(ROI) parameters.
Definition: vl53l1_ll_def.h:413
vl53l1_ll_def.h
Type definitions for VL53L1 LL Driver.
VL53L1_offset_range_data_t::sigma_mm
uint32_t sigma_mm
Definition: vl53l1_ll_def.h:647
uint32_t
unsigned int uint32_t
Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...
Definition: vl53l1_types.h:113
uint8_t
unsigned char uint8_t
Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...
Definition: vl53l1_types.h:133
VL53L1_range_data_t::sigma_mm
uint16_t sigma_mm
Definition: vl53l1_ll_def.h:580
vl53l1_api_debug.h
EwokPlus25 low level API function definitions.
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_5
uint8_t global_config__spad_enables_rtn_5
Definition: vl53l1_register_structs.h:2400
VL53L1_additional_data_t::phasecal_config_timeout_us
uint32_t phasecal_config_timeout_us
Definition: vl53l1_ll_def.h:1053
VL53L1_range_data_t::zero_distance_phase
uint16_t zero_distance_phase
Definition: vl53l1_ll_def.h:539
VL53L1_LLDriverData_t::mm_config_timeout_us
uint32_t mm_config_timeout_us
Definition: vl53l1_ll_def.h:828
VL53L1_additional_offset_cal_data_t
Additional Offset Calibration Data.
Definition: vl53l1_ll_def.h:692
VL53L1_offset_range_results_t::cal_report
uint8_t cal_report
Definition: vl53l1_ll_def.h:671
VL53L1_encode_row_col
void VL53L1_encode_row_col(uint8_t row, uint8_t col, uint8_t *pspad_number)
Encodes a (col,row) coord value into ByteIndex.BitIndex format.
Definition: vl53l1_core.c:1451
uint64_t
unsigned long long uint64_t
Definition: vl53l1_types.h:107
VL53L1_LLDriverData_t::dss_config__target_total_rate_mcps
uint16_t dss_config__target_total_rate_mcps
Definition: vl53l1_ll_def.h:834
VL53L1_customer_nvm_managed_t::global_config__ref_en_start_select
uint8_t global_config__ref_en_start_select
Definition: vl53l1_register_structs.h:304
VL53L1_LLDriverData_t::range_config_timeout_us
uint32_t range_config_timeout_us
Definition: vl53l1_ll_def.h:830
VL53L1_range_data_t
Internal data structure for storing post processed ranges.
Definition: vl53l1_ll_def.h:523
VL53L1_additional_data_t::mm_config_timeout_us
uint32_t mm_config_timeout_us
Definition: vl53l1_ll_def.h:1055
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_17
uint8_t global_config__spad_enables_rtn_17
Definition: vl53l1_register_structs.h:2520
VL53L1_offset_range_results_t
Structure for storing the set of range results required for the offset calibration functions.
Definition: vl53l1_ll_def.h:665
VL53L1_additional_offset_cal_data_t::result__mm_inner_actual_effective_spads
uint16_t result__mm_inner_actual_effective_spads
Definition: vl53l1_ll_def.h:694
VL53L1_optical_centre_t::x_centre
uint8_t x_centre
Definition: vl53l1_ll_def.h:403
VL53L1_range_data_t::woi
uint8_t woi
Definition: vl53l1_ll_def.h:534
VL53L1_range_data_t::ranging_total_events
uint32_t ranging_total_events
Definition: vl53l1_ll_def.h:558
VL53L1_range_data_t::median_phase
uint16_t median_phase
Definition: vl53l1_ll_def.h:585
VL53L1_xtalk_config_t::algo__crosstalk_compensation_plane_offset_kcps
uint32_t algo__crosstalk_compensation_plane_offset_kcps
Definition: vl53l1_ll_def.h:215
VL53L1_nvm_copy_data_t::identification__module_type
uint8_t identification__module_type
Definition: vl53l1_register_structs.h:2219
VL53L1_LLDriverData_t::inter_measurement_period_ms
uint32_t inter_measurement_period_ms
Definition: vl53l1_ll_def.h:832
VL53L1_spad_rate_data_t::fractional_bits
uint8_t fractional_bits
Definition: vl53l1_ll_def.h:1029
VL53L1_range_results_t::cfg_device_state
VL53L1_DeviceState cfg_device_state
Definition: vl53l1_ll_def.h:610
VL53L1_additional_data_t::range_config_timeout_us
uint32_t range_config_timeout_us
Definition: vl53l1_ll_def.h:1057
VL53L1_range_data_t::range_id
uint8_t range_id
Definition: vl53l1_ll_def.h:527
VL53L1_static_nvm_managed_t::ana_config__vhv_ref_sel_vddpix
uint8_t ana_config__vhv_ref_sel_vddpix
Definition: vl53l1_register_structs.h:139
VL53L1_spad_rate_data_t
SPAD Rate Data output by SSC.
Definition: vl53l1_ll_def.h:1019
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_8
uint8_t global_config__spad_enables_rtn_8
Definition: vl53l1_register_structs.h:2430
VL53L1_nvm_copy_data_t::ana_config__vcsel_selion
uint8_t ana_config__vcsel_selion
Definition: vl53l1_register_structs.h:2280
VL53L1_offset_range_results_t::active_results
uint8_t active_results
Definition: vl53l1_ll_def.h:676
VL53L1_cal_peak_rate_map_t
Structure for storing the calibration peak rate map Used by DMAX to understand the spatial roll off i...
Definition: vl53l1_ll_def.h:714
VL53L1_range_data_t::ambient_count_rate_mcps
uint16_t ambient_count_rate_mcps
Definition: vl53l1_ll_def.h:571
VL53L1_nvm_copy_data_t::laser_safety__clip
uint8_t laser_safety__clip
Definition: vl53l1_register_structs.h:2330
VL53L1_xtalk_config_t::algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
Definition: vl53l1_ll_def.h:217
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_0
uint8_t global_config__spad_enables_rtn_0
Definition: vl53l1_register_structs.h:2350
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_25
uint8_t global_config__spad_enables_rtn_25
Definition: vl53l1_register_structs.h:2600
VL53L1_nvm_copy_data_t::roi_config__mode_roi_centre_spad
uint8_t roi_config__mode_roi_centre_spad
Definition: vl53l1_register_structs.h:2670
VL53L1_range_data_t::ambient_window_events
uint32_t ambient_window_events
Definition: vl53l1_ll_def.h:556
VL53L1_nvm_copy_data_t::identification__revision_id
uint8_t identification__revision_id
Definition: vl53l1_register_structs.h:2229
vl53l1_core.h
EwokPlus25 core function definitions.
LOG_FUNCTION_START
#define LOG_FUNCTION_START(fmt,...)
Definition: vl53l1_api_debug.c:74
VL53L1_nvm_copy_data_t::protected_laser_safety__lock_bit
uint8_t protected_laser_safety__lock_bit
Definition: vl53l1_register_structs.h:2300
VL53L1_additional_offset_cal_data_t::result__mm_inner_peak_signal_count_rtn_mcps
uint16_t result__mm_inner_peak_signal_count_rtn_mcps
Definition: vl53l1_ll_def.h:698
VL53L1_range_results_t::rd_device_state
VL53L1_DeviceState rd_device_state
Definition: vl53l1_ll_def.h:612
VL53L1_static_nvm_managed_t::vhv_config__offset
uint8_t vhv_config__offset
Definition: vl53l1_register_structs.h:210
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_0
uint8_t global_config__spad_enables_ref_0
Definition: vl53l1_register_structs.h:244
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_6
uint8_t global_config__spad_enables_rtn_6
Definition: vl53l1_register_structs.h:2410
VL53L1_range_data_t::peak_rate_per_spad_kcps
uint32_t peak_rate_per_spad_kcps
Definition: vl53l1_ll_def.h:575
VL53L1_range_data_t::peak_signal_count_rate_mcps
uint16_t peak_signal_count_rate_mcps
Definition: vl53l1_ll_def.h:567
VL53L1_customer_nvm_managed_t
Definition: vl53l1_register_structs.h:243
VL53L1_static_nvm_managed_t::vhv_config__timeout_macrop_loop_bound
uint8_t vhv_config__timeout_macrop_loop_bound
Definition: vl53l1_register_structs.h:189
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_27
uint8_t global_config__spad_enables_rtn_27
Definition: vl53l1_register_structs.h:2620
VL53L1_static_nvm_managed_t::i2c_slave__device_address
uint8_t i2c_slave__device_address
Definition: vl53l1_register_structs.h:129
VL53L1_static_nvm_managed_t::osc_measured__fast_osc__frequency
uint16_t osc_measured__fast_osc__frequency
Definition: vl53l1_register_structs.h:179
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_4
uint8_t global_config__spad_enables_rtn_4
Definition: vl53l1_register_structs.h:2390
VL53L1_Dev_t
Definition: vl53l1_platform_user_data.h:78
VL53L1_cal_peak_rate_map_t::cal_distance_mm
int16_t cal_distance_mm
Definition: vl53l1_ll_def.h:716
VL53L1_offset_range_data_t::range_mm_offset
int32_t range_mm_offset
Definition: vl53l1_ll_def.h:652
VL53L1_offset_range_data_t
Structure for storing the set of range results required for the mm1 and mm2 offset calibration functi...
Definition: vl53l1_ll_def.h:633
VL53L1_cal_peak_rate_map_t::max_samples
uint16_t max_samples
Definition: vl53l1_ll_def.h:718
VL53L1_xtalk_config_t::crosstalk_range_ignore_threshold_rate_mcps
uint16_t crosstalk_range_ignore_threshold_rate_mcps
Definition: vl53l1_ll_def.h:237
VL53L1_range_results_t
Structure for storing the set of range results.
Definition: vl53l1_ll_def.h:608
VL53L1_offset_range_data_t::dss_config__manual_effective_spads_select
uint16_t dss_config__manual_effective_spads_select
Definition: vl53l1_ll_def.h:639
VL53L1_range_data_t::signal_total_events
int32_t signal_total_events
Definition: vl53l1_ll_def.h:561
VL53L1_nvm_copy_data_t::identification__model_id
uint8_t identification__model_id
Definition: vl53l1_register_structs.h:2209
VL53L1_LLDriverData_t::measurement_mode
VL53L1_DeviceMeasurementModes measurement_mode
Definition: vl53l1_ll_def.h:820
VL53L1_additional_data_t::dss_config__target_total_rate_mcps
uint16_t dss_config__target_total_rate_mcps
Definition: vl53l1_ll_def.h:1061
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_1
uint8_t global_config__spad_enables_ref_1
Definition: vl53l1_register_structs.h:254
VL53L1_additional_data_t::inter_measurement_period_ms
uint32_t inter_measurement_period_ms
Definition: vl53l1_ll_def.h:1059
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_3
uint8_t global_config__spad_enables_rtn_3
Definition: vl53l1_register_structs.h:2380
trace_print
#define trace_print(level,...)
Definition: vl53l1_api_debug.c:82
VL53L1_offset_range_results_t::cal_status
VL53L1_Error cal_status
Definition: vl53l1_ll_def.h:669
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_13
uint8_t global_config__spad_enables_rtn_13
Definition: vl53l1_register_structs.h:2480
VL53L1_nvm_copy_data_t::identification__module_id
uint16_t identification__module_id
Definition: vl53l1_register_structs.h:2240
VL53L1_decode_row_col
void VL53L1_decode_row_col(uint8_t spad_number, uint8_t *prow, uint8_t *pcol)
Decodes the Byte.Bit coord encoding into an (x,y) coord value.
Definition: vl53l1_core_support.c:426
VL53L1_cal_peak_rate_map_t::peak_rate_mcps
uint16_t peak_rate_mcps[VL53L1_NVM_PEAK_RATE_MAP_SAMPLES]
Definition: vl53l1_ll_def.h:724
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_1
uint8_t global_config__spad_enables_rtn_1
Definition: vl53l1_register_structs.h:2360
VL53L1_nvm_copy_data_t::ana_config__fast_osc__trim_max
uint8_t ana_config__fast_osc__trim_max
Definition: vl53l1_register_structs.h:2250
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_26
uint8_t global_config__spad_enables_rtn_26
Definition: vl53l1_register_structs.h:2610
VL53L1_offset_range_data_t::dss_config__roi_mode_control
uint8_t dss_config__roi_mode_control
Definition: vl53l1_ll_def.h:637
VL53L1_additional_offset_cal_data_t::result__mm_outer_peak_signal_count_rtn_mcps
uint16_t result__mm_outer_peak_signal_count_rtn_mcps
Definition: vl53l1_ll_def.h:700
LOG_FUNCTION_END
#define LOG_FUNCTION_END(status,...)
Definition: vl53l1_api_debug.c:76
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_2
uint8_t global_config__spad_enables_rtn_2
Definition: vl53l1_register_structs.h:2370
VL53L1_nvm_copy_data_t::roi_config__mode_roi_xy_size
uint8_t roi_config__mode_roi_xy_size
Definition: vl53l1_register_structs.h:2680
VL53L1_static_nvm_managed_t::vhv_config__init
uint8_t vhv_config__init
Definition: vl53l1_register_structs.h:220
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_7
uint8_t global_config__spad_enables_rtn_7
Definition: vl53l1_register_structs.h:2420
vl53l1_register_structs.h
VL53L1 Register Structure definitions.
VL53L1_user_zone_t::height
uint8_t height
Definition: vl53l1_ll_def.h:418
VL53L1_user_zone_t::width
uint8_t width
Definition: vl53l1_ll_def.h:417
VL53L1_xtalk_config_t::lite_mode_crosstalk_margin_kcps
int16_t lite_mode_crosstalk_margin_kcps
Definition: vl53l1_ll_def.h:229
VL53L1_nvm_copy_data_t::ana_config__vcsel_trim
uint8_t ana_config__vcsel_trim
Definition: vl53l1_register_structs.h:2270
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_5
uint8_t global_config__spad_enables_ref_5
Definition: vl53l1_register_structs.h:294
VL53L1_customer_nvm_managed_t::ref_spad_char__total_rate_target_mcps
uint16_t ref_spad_char__total_rate_target_mcps
Definition: vl53l1_register_structs.h:364
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_4
uint8_t global_config__spad_enables_ref_4
Definition: vl53l1_register_structs.h:284
SUPPRESS_UNUSED_WARNING
#define SUPPRESS_UNUSED_WARNING(x)
Definition: vl53l1_ll_def.h:1072
VL53L1_offset_range_data_t::median_range_mm
int32_t median_range_mm
Definition: vl53l1_ll_def.h:649
VL53L1_user_zone_t::y_centre
uint8_t y_centre
Definition: vl53l1_ll_def.h:416
VL53L1_xtalk_config_t::algo__crosstalk_compensation_y_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
Definition: vl53l1_ll_def.h:219
VL53L1_ERROR_NONE
#define VL53L1_ERROR_NONE
Definition: vl53l1_error_codes.h:91
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_23
uint8_t global_config__spad_enables_rtn_23
Definition: vl53l1_register_structs.h:2580
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_9
uint8_t global_config__spad_enables_rtn_9
Definition: vl53l1_register_structs.h:2440
VL53L1_SPAD_ARRAY_HEIGHT
#define VL53L1_SPAD_ARRAY_HEIGHT
Definition: vl53l1_ll_device.h:492
VL53L1_nvm_copy_data_t::ana_config__fast_osc__freq_set
uint8_t ana_config__fast_osc__freq_set
Definition: vl53l1_register_structs.h:2260
VL53L1_static_nvm_managed_t::vhv_config__count_thresh
uint8_t vhv_config__count_thresh
Definition: vl53l1_register_structs.h:200
VL53L1_range_data_t::avg_signal_count_rate_mcps
uint16_t avg_signal_count_rate_mcps
Definition: vl53l1_ll_def.h:569
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_31
uint8_t global_config__spad_enables_rtn_31
Definition: vl53l1_register_structs.h:2660
VL53L1_nvm_copy_data_t::laser_safety__key
uint8_t laser_safety__key
Definition: vl53l1_register_structs.h:2310
VL53L1_customer_nvm_managed_t::mm_config__outer_offset_mm
int16_t mm_config__outer_offset_mm
Definition: vl53l1_register_structs.h:394
VL53L1_customer_nvm_managed_t::algo__crosstalk_compensation_x_plane_gradient_kcps
int16_t algo__crosstalk_compensation_x_plane_gradient_kcps
Definition: vl53l1_register_structs.h:344
VL53L1_range_data_t::peak_duration_us
uint32_t peak_duration_us
Definition: vl53l1_ll_def.h:547
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_22
uint8_t global_config__spad_enables_rtn_22
Definition: vl53l1_register_structs.h:2570
VL53L1_customer_nvm_managed_t::ref_spad_man__num_requested_ref_spads
uint8_t ref_spad_man__num_requested_ref_spads
Definition: vl53l1_register_structs.h:314
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_12
uint8_t global_config__spad_enables_rtn_12
Definition: vl53l1_register_structs.h:2470
VL53L1_offset_range_data_t::no_of_samples
uint8_t no_of_samples
Definition: vl53l1_ll_def.h:641
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_2
uint8_t global_config__spad_enables_ref_2
Definition: vl53l1_register_structs.h:264
VL53L1_gain_calibration_data_t::standard_ranging_gain_factor
uint16_t standard_ranging_gain_factor
Definition: vl53l1_ll_def.h:739
VL53L1_range_data_t::actual_effective_spads
uint16_t actual_effective_spads
Definition: vl53l1_ll_def.h:541
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_24
uint8_t global_config__spad_enables_rtn_24
Definition: vl53l1_register_structs.h:2590
VL53L1_range_data_t::fast_osc_frequency
uint16_t fast_osc_frequency
Definition: vl53l1_ll_def.h:537
VL53L1_SPAD_ARRAY_WIDTH
#define VL53L1_SPAD_ARRAY_WIDTH
Definition: vl53l1_ll_device.h:490
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_30
uint8_t global_config__spad_enables_rtn_30
Definition: vl53l1_register_structs.h:2650
int32_t
int int32_t
Typedef defining 32 bit int type. The developer should modify this to suit the platform being deploye...
Definition: vl53l1_types.h:118
VL53L1_customer_nvm_managed_t::algo__crosstalk_compensation_plane_offset_kcps
uint16_t algo__crosstalk_compensation_plane_offset_kcps
Definition: vl53l1_register_structs.h:334
VL53L1_customer_nvm_managed_t::algo__part_to_part_range_offset_mm
int16_t algo__part_to_part_range_offset_mm
Definition: vl53l1_register_structs.h:374
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_14
uint8_t global_config__spad_enables_rtn_14
Definition: vl53l1_register_structs.h:2490
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_21
uint8_t global_config__spad_enables_rtn_21
Definition: vl53l1_register_structs.h:2560
VL53L1_static_nvm_managed_t::ana_config__reg_avdd1v2_sel
uint8_t ana_config__reg_avdd1v2_sel
Definition: vl53l1_register_structs.h:159
VL53L1_range_results_t::device_status
uint8_t device_status
Definition: vl53l1_ll_def.h:617
VL53L1_spad_rate_data_t::rate_data
uint16_t rate_data[VL53L1_NO_OF_SPAD_ENABLES]
Definition: vl53l1_ll_def.h:1025
VL53L1_LLDriverData_t::preset_mode
VL53L1_DevicePresetModes preset_mode
Definition: vl53l1_ll_def.h:818
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_29
uint8_t global_config__spad_enables_rtn_29
Definition: vl53l1_register_structs.h:2640
VL53L1_optical_centre_t::y_centre
uint8_t y_centre
Definition: vl53l1_ll_def.h:404
VL53L1_offset_range_results_t::data
VL53L1_offset_range_data_t data[VL53L1_MAX_OFFSET_RANGE_RESULTS]
Definition: vl53l1_ll_def.h:678
VL53L1_additional_data_t::measurement_mode
VL53L1_DeviceMeasurementModes measurement_mode
Definition: vl53l1_ll_def.h:1050
VL53L1_xtalk_config_t
Xtalk Extraction and Paramter Config.
Definition: vl53l1_ll_def.h:212
VL53L1_customer_nvm_managed_t::global_config__spad_enables_ref_3
uint8_t global_config__spad_enables_ref_3
Definition: vl53l1_register_structs.h:274
VL53L1_static_nvm_managed_t::ana_config__vhv_ref_sel_vquench
uint8_t ana_config__vhv_ref_sel_vquench
Definition: vl53l1_register_structs.h:149
do_division_u
#define do_division_u(dividend, divisor)
customer supplied division operation - 64-bit unsigned
Definition: vl53l1_platform_user_defines.h:86
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_19
uint8_t global_config__spad_enables_rtn_19
Definition: vl53l1_register_structs.h:2540
VL53L1DevStructGetLLDriverHandle
#define VL53L1DevStructGetLLDriverHandle(Dev)
Definition: vl53l1_platform_user_data.h:94
VL53L1_additional_data_t::preset_mode
VL53L1_DevicePresetModes preset_mode
Definition: vl53l1_ll_def.h:1048
VL53L1_customer_nvm_managed_t::mm_config__inner_offset_mm
int16_t mm_config__inner_offset_mm
Definition: vl53l1_register_structs.h:384
VL53L1_LLDriverData_t::phasecal_config_timeout_us
uint32_t phasecal_config_timeout_us
Definition: vl53l1_ll_def.h:826
VL53L1_nvm_copy_data_t::laser_safety__key_ro
uint8_t laser_safety__key_ro
Definition: vl53l1_register_structs.h:2320
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_28
uint8_t global_config__spad_enables_rtn_28
Definition: vl53l1_register_structs.h:2630
VL53L1_range_data_t::median_range_mm
int16_t median_range_mm
Definition: vl53l1_ll_def.h:590
VL53L1_spad_rate_data_t::no_of_values
uint16_t no_of_values
Definition: vl53l1_ll_def.h:1027
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_16
uint8_t global_config__spad_enables_rtn_16
Definition: vl53l1_register_structs.h:2510
VL53L1_offset_range_data_t::preset_mode
uint8_t preset_mode
Definition: vl53l1_ll_def.h:635
vl53l1_ll_device.h
LL Driver Device specific defines. To be adapted by implementer for the targeted device.
VL53L1_additional_offset_cal_data_t::result__mm_outer_actual_effective_spads
uint16_t result__mm_outer_actual_effective_spads
Definition: vl53l1_ll_def.h:696
VL53L1_offset_range_results_t::cal_distance_mm
int16_t cal_distance_mm
Definition: vl53l1_ll_def.h:667
VL53L1_nvm_copy_data_t::ana_config__vcsel_selion_max
uint8_t ana_config__vcsel_selion_max
Definition: vl53l1_register_structs.h:2290
VL53L1_additional_data_t
Additional debug data.
Definition: vl53l1_ll_def.h:1046
VL53L1_offset_range_data_t::peak_rate_mcps
uint32_t peak_rate_mcps
Definition: vl53l1_ll_def.h:645
VL53L1_optical_centre_t
Optical Centre data.
Definition: vl53l1_ll_def.h:401
VL53L1_xtalk_config_t::global_crosstalk_compensation_enable
uint8_t global_crosstalk_compensation_enable
Definition: vl53l1_ll_def.h:227
VL53L1_LLDriverData_t
VL53L1 LL Driver ST private data structure .
Definition: vl53l1_ll_def.h:814
VL53L1_range_data_t::total_rate_per_spad_mcps
uint16_t total_rate_per_spad_mcps
Definition: vl53l1_ll_def.h:573
VL53L1_nvm_copy_data_t
Definition: vl53l1_register_structs.h:2208
VL53L1_Error
int8_t VL53L1_Error
Definition: vl53l1_error_codes.h:89
VL53L1_gain_calibration_data_t
Gain calibration data.
Definition: vl53l1_ll_def.h:737
VL53L1_range_data_t::width
uint16_t width
Definition: vl53l1_ll_def.h:532
uint16_t
unsigned short uint16_t
Typedef defining 16 bit unsigned short type. The developer should modify this to suit the platform be...
Definition: vl53l1_types.h:123
VL53L1_range_data_t::time_stamp
uint32_t time_stamp
Definition: vl53l1_ll_def.h:529
VL53L1_offset_range_results_t::max_results
uint8_t max_results
Definition: vl53l1_ll_def.h:673
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_15
uint8_t global_config__spad_enables_rtn_15
Definition: vl53l1_register_structs.h:2500
VL53L1_static_nvm_managed_t
Definition: vl53l1_register_structs.h:128
VL53L1_range_data_t::woi_duration_us
uint32_t woi_duration_us
Definition: vl53l1_ll_def.h:550
VL53L1_static_nvm_managed_t::ana_config__fast_osc__trim
uint8_t ana_config__fast_osc__trim
Definition: vl53l1_register_structs.h:169
VL53L1_user_zone_t::x_centre
uint8_t x_centre
Definition: vl53l1_ll_def.h:415
VL53L1_range_data_t::total_periods_elapsed
uint32_t total_periods_elapsed
Definition: vl53l1_ll_def.h:544
VL53L1_MAX_STRING_LENGTH
#define VL53L1_MAX_STRING_LENGTH
Definition: vl53l1_platform_user_config.h:115
VL53L1_nvm_copy_data_t::laser_safety__mult
uint8_t laser_safety__mult
Definition: vl53l1_register_structs.h:2340
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_10
uint8_t global_config__spad_enables_rtn_10
Definition: vl53l1_register_structs.h:2450
VL53L1_range_results_t::stream_count
uint8_t stream_count
Definition: vl53l1_ll_def.h:614
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_11
uint8_t global_config__spad_enables_rtn_11
Definition: vl53l1_register_structs.h:2460
VL53L1_customer_nvm_managed_t::algo__crosstalk_compensation_y_plane_gradient_kcps
int16_t algo__crosstalk_compensation_y_plane_gradient_kcps
Definition: vl53l1_register_structs.h:354
VL53L1_offset_range_data_t::effective_spads
uint32_t effective_spads
Definition: vl53l1_ll_def.h:643
VL53L1_cal_peak_rate_map_t::width
uint16_t width
Definition: vl53l1_ll_def.h:720
VL53L1_nvm_copy_data_t::global_config__spad_enables_rtn_18
uint8_t global_config__spad_enables_rtn_18
Definition: vl53l1_register_structs.h:2530


vl53l1x
Author(s):
autogenerated on Fri Aug 2 2024 08:35:54