@depz/sensor-sdk 0.2.1 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/README.md +13 -5
  2. package/dist/dataset.d.ts.map +1 -1
  3. package/dist/dataset.js +66 -2
  4. package/dist/dataset.js.map +1 -1
  5. package/dist/device/device.d.ts +6 -0
  6. package/dist/device/device.d.ts.map +1 -1
  7. package/dist/device/device.js +29 -6
  8. package/dist/device/device.js.map +1 -1
  9. package/dist/discovery.d.ts.map +1 -1
  10. package/dist/discovery.js +25 -2
  11. package/dist/discovery.js.map +1 -1
  12. package/dist/index.d.ts +21 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +16 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/protocol/bno055.d.ts +101 -0
  17. package/dist/protocol/bno055.d.ts.map +1 -0
  18. package/dist/protocol/bno055.js +105 -0
  19. package/dist/protocol/bno055.js.map +1 -0
  20. package/dist/protocol/identity.d.ts +1 -1
  21. package/dist/protocol/identity.d.ts.map +1 -1
  22. package/dist/protocol/identity.js +6 -0
  23. package/dist/protocol/identity.js.map +1 -1
  24. package/dist/protocol/vl53l7.d.ts +77 -0
  25. package/dist/protocol/vl53l7.d.ts.map +1 -0
  26. package/dist/protocol/vl53l7.js +99 -0
  27. package/dist/protocol/vl53l7.js.map +1 -0
  28. package/dist/protocol/vl53lx.d.ts +72 -0
  29. package/dist/protocol/vl53lx.d.ts.map +1 -0
  30. package/dist/protocol/vl53lx.js +87 -0
  31. package/dist/protocol/vl53lx.js.map +1 -0
  32. package/dist/sensors/bno055/bno055.d.ts +207 -0
  33. package/dist/sensors/bno055/bno055.d.ts.map +1 -0
  34. package/dist/sensors/bno055/bno055.js +547 -0
  35. package/dist/sensors/bno055/bno055.js.map +1 -0
  36. package/dist/sensors/bno055/regs.d.ts +271 -0
  37. package/dist/sensors/bno055/regs.d.ts.map +1 -0
  38. package/dist/sensors/bno055/regs.js +366 -0
  39. package/dist/sensors/bno055/regs.js.map +1 -0
  40. package/dist/sensors/bno086/bno086.d.ts +15 -0
  41. package/dist/sensors/bno086/bno086.d.ts.map +1 -1
  42. package/dist/sensors/bno086/bno086.js +43 -1
  43. package/dist/sensors/bno086/bno086.js.map +1 -1
  44. package/dist/sensors/bno086/sh2.d.ts.map +1 -1
  45. package/dist/sensors/bno086/sh2.js +5 -2
  46. package/dist/sensors/bno086/sh2.js.map +1 -1
  47. package/dist/sensors/reg-bridge.d.ts +35 -0
  48. package/dist/sensors/reg-bridge.d.ts.map +1 -0
  49. package/dist/sensors/reg-bridge.js +44 -0
  50. package/dist/sensors/reg-bridge.js.map +1 -0
  51. package/dist/sensors/vl53l4/vl53l4.d.ts.map +1 -1
  52. package/dist/sensors/vl53l4/vl53l4.js +18 -30
  53. package/dist/sensors/vl53l4/vl53l4.js.map +1 -1
  54. package/dist/sensors/vl53l7/vl53l7.d.ts +97 -0
  55. package/dist/sensors/vl53l7/vl53l7.d.ts.map +1 -0
  56. package/dist/sensors/vl53l7/vl53l7.js +138 -0
  57. package/dist/sensors/vl53l7/vl53l7.js.map +1 -0
  58. package/dist/sensors/vl53l8/assets/index.d.ts +5 -1
  59. package/dist/sensors/vl53l8/assets/index.d.ts.map +1 -1
  60. package/dist/sensors/vl53l8/assets/index.js +7 -1
  61. package/dist/sensors/vl53l8/assets/index.js.map +1 -1
  62. package/dist/sensors/vl53l8/assets/l7ch.d.ts +12 -0
  63. package/dist/sensors/vl53l8/assets/l7ch.d.ts.map +1 -0
  64. package/dist/sensors/vl53l8/assets/l7ch.js +18 -0
  65. package/dist/sensors/vl53l8/assets/l7ch.js.map +1 -0
  66. package/dist/sensors/vl53l8/assets/l7cx.d.ts +14 -0
  67. package/dist/sensors/vl53l8/assets/l7cx.d.ts.map +1 -0
  68. package/dist/sensors/vl53l8/assets/l7cx.js +20 -0
  69. package/dist/sensors/vl53l8/assets/l7cx.js.map +1 -0
  70. package/dist/sensors/vl53l8/cnh.d.ts +4 -3
  71. package/dist/sensors/vl53l8/cnh.d.ts.map +1 -1
  72. package/dist/sensors/vl53l8/cnh.js +4 -3
  73. package/dist/sensors/vl53l8/cnh.js.map +1 -1
  74. package/dist/sensors/vl53l8/uld.d.ts +50 -9
  75. package/dist/sensors/vl53l8/uld.d.ts.map +1 -1
  76. package/dist/sensors/vl53l8/uld.js +241 -35
  77. package/dist/sensors/vl53l8/uld.js.map +1 -1
  78. package/dist/sensors/vl53l8/vl53l8.d.ts +8 -3
  79. package/dist/sensors/vl53l8/vl53l8.d.ts.map +1 -1
  80. package/dist/sensors/vl53l8/vl53l8.js +41 -39
  81. package/dist/sensors/vl53l8/vl53l8.js.map +1 -1
  82. package/dist/sensors/vl53lx/decode.d.ts +70 -0
  83. package/dist/sensors/vl53lx/decode.d.ts.map +1 -0
  84. package/dist/sensors/vl53lx/decode.js +108 -0
  85. package/dist/sensors/vl53lx/decode.js.map +1 -0
  86. package/dist/sensors/vl53lx/uld/arith.d.ts +23 -0
  87. package/dist/sensors/vl53lx/uld/arith.d.ts.map +1 -0
  88. package/dist/sensors/vl53lx/uld/arith.js +42 -0
  89. package/dist/sensors/vl53lx/uld/arith.js.map +1 -0
  90. package/dist/sensors/vl53lx/uld/bare/core.d.ts +345 -0
  91. package/dist/sensors/vl53lx/uld/bare/core.d.ts.map +1 -0
  92. package/dist/sensors/vl53lx/uld/bare/core.js +1085 -0
  93. package/dist/sensors/vl53lx/uld/bare/core.js.map +1 -0
  94. package/dist/sensors/vl53lx/uld/bare/driver.d.ts +91 -0
  95. package/dist/sensors/vl53lx/uld/bare/driver.d.ts.map +1 -0
  96. package/dist/sensors/vl53lx/uld/bare/driver.js +206 -0
  97. package/dist/sensors/vl53lx/uld/bare/driver.js.map +1 -0
  98. package/dist/sensors/vl53lx/uld/bare/hist.d.ts +180 -0
  99. package/dist/sensors/vl53lx/uld/bare/hist.d.ts.map +1 -0
  100. package/dist/sensors/vl53lx/uld/bare/hist.js +949 -0
  101. package/dist/sensors/vl53lx/uld/bare/hist.js.map +1 -0
  102. package/dist/sensors/vl53lx/uld/bare/image.d.ts +53 -0
  103. package/dist/sensors/vl53lx/uld/bare/image.d.ts.map +1 -0
  104. package/dist/sensors/vl53lx/uld/bare/image.js +108 -0
  105. package/dist/sensors/vl53lx/uld/bare/image.js.map +1 -0
  106. package/dist/sensors/vl53lx/uld/bare/imath.d.ts +39 -0
  107. package/dist/sensors/vl53lx/uld/bare/imath.d.ts.map +1 -0
  108. package/dist/sensors/vl53lx/uld/bare/imath.js +99 -0
  109. package/dist/sensors/vl53lx/uld/bare/imath.js.map +1 -0
  110. package/dist/sensors/vl53lx/uld/bare/index.d.ts +22 -0
  111. package/dist/sensors/vl53lx/uld/bare/index.d.ts.map +1 -0
  112. package/dist/sensors/vl53lx/uld/bare/index.js +22 -0
  113. package/dist/sensors/vl53lx/uld/bare/index.js.map +1 -0
  114. package/dist/sensors/vl53lx/uld/bare/nvm.d.ts +85 -0
  115. package/dist/sensors/vl53lx/uld/bare/nvm.d.ts.map +1 -0
  116. package/dist/sensors/vl53lx/uld/bare/nvm.js +148 -0
  117. package/dist/sensors/vl53lx/uld/bare/nvm.js.map +1 -0
  118. package/dist/sensors/vl53lx/uld/bare/regs.d.ts +54 -0
  119. package/dist/sensors/vl53lx/uld/bare/regs.d.ts.map +1 -0
  120. package/dist/sensors/vl53lx/uld/bare/regs.js +496 -0
  121. package/dist/sensors/vl53lx/uld/bare/regs.js.map +1 -0
  122. package/dist/sensors/vl53lx/uld/bare/tuning.d.ts +15 -0
  123. package/dist/sensors/vl53lx/uld/bare/tuning.d.ts.map +1 -0
  124. package/dist/sensors/vl53lx/uld/bare/tuning.js +303 -0
  125. package/dist/sensors/vl53lx/uld/bare/tuning.js.map +1 -0
  126. package/dist/sensors/vl53lx/uld/base.d.ts +129 -0
  127. package/dist/sensors/vl53lx/uld/base.d.ts.map +1 -0
  128. package/dist/sensors/vl53lx/uld/base.js +166 -0
  129. package/dist/sensors/vl53lx/uld/base.js.map +1 -0
  130. package/dist/sensors/vl53lx/uld/l0x.d.ts +306 -0
  131. package/dist/sensors/vl53lx/uld/l0x.d.ts.map +1 -0
  132. package/dist/sensors/vl53lx/uld/l0x.js +1492 -0
  133. package/dist/sensors/vl53lx/uld/l0x.js.map +1 -0
  134. package/dist/sensors/vl53lx/uld/l1.d.ts +69 -0
  135. package/dist/sensors/vl53lx/uld/l1.d.ts.map +1 -0
  136. package/dist/sensors/vl53lx/uld/l1.js +262 -0
  137. package/dist/sensors/vl53lx/uld/l1.js.map +1 -0
  138. package/dist/sensors/vl53lx/uld/l3.d.ts +25 -0
  139. package/dist/sensors/vl53lx/uld/l3.d.ts.map +1 -0
  140. package/dist/sensors/vl53lx/uld/l3.js +51 -0
  141. package/dist/sensors/vl53lx/uld/l3.js.map +1 -0
  142. package/dist/sensors/vl53lx/uld/l4.d.ts +22 -0
  143. package/dist/sensors/vl53lx/uld/l4.d.ts.map +1 -0
  144. package/dist/sensors/vl53lx/uld/l4.js +99 -0
  145. package/dist/sensors/vl53lx/uld/l4.js.map +1 -0
  146. package/dist/sensors/vl53lx/uld/link.d.ts +42 -0
  147. package/dist/sensors/vl53lx/uld/link.d.ts.map +1 -0
  148. package/dist/sensors/vl53lx/uld/link.js +28 -0
  149. package/dist/sensors/vl53lx/uld/link.js.map +1 -0
  150. package/dist/sensors/vl53lx/uld/registry.d.ts +68 -0
  151. package/dist/sensors/vl53lx/uld/registry.d.ts.map +1 -0
  152. package/dist/sensors/vl53lx/uld/registry.js +139 -0
  153. package/dist/sensors/vl53lx/uld/registry.js.map +1 -0
  154. package/dist/sensors/vl53lx/uld/vl53l1-die.d.ts +172 -0
  155. package/dist/sensors/vl53lx/uld/vl53l1-die.d.ts.map +1 -0
  156. package/dist/sensors/vl53lx/uld/vl53l1-die.js +431 -0
  157. package/dist/sensors/vl53lx/uld/vl53l1-die.js.map +1 -0
  158. package/dist/sensors/vl53lx/vl53lx.d.ts +323 -0
  159. package/dist/sensors/vl53lx/vl53lx.d.ts.map +1 -0
  160. package/dist/sensors/vl53lx/vl53lx.js +688 -0
  161. package/dist/sensors/vl53lx/vl53lx.js.map +1 -0
  162. package/dist/transport/webserial.d.ts +4 -0
  163. package/dist/transport/webserial.d.ts.map +1 -1
  164. package/dist/transport/webserial.js +58 -12
  165. package/dist/transport/webserial.js.map +1 -1
  166. package/package.json +9 -2
@@ -0,0 +1,303 @@
1
+ /**
2
+ * uld/bare/tuning — ST's tuning parameters, as the BareDriver ships them.
3
+ * Mirror of the Python `depz_sensor_sdk.vl53lx.uld.bare.tuning` (generated
4
+ * from it — data, do not edit by hand).
5
+ *
6
+ * The preset modes read initial phases, timeouts, DSS targets and sigma
7
+ * thresholds out of `VL53LX_tuning_parm_storage_t`, which
8
+ * `VL53LX_init_tuning_parm_storage_struct()` fills from a header of 187
9
+ * defines. `TUNING` is that struct after initialisation, keyed by the C field
10
+ * name; `DEFAULTS` is the raw header, for the parameters the histogram
11
+ * post-processing reads directly without a `tp_` field of their own.
12
+ */
13
+ export const TUNING = {
14
+ tp_tuning_parm_version: 30, // TUNINGPARM_VERSION_DEFAULT
15
+ tp_tuning_parm_key_table_version: 14, // TUNINGPARM_KEY_TABLE_VERSION_DEFAULT
16
+ tp_tuning_parm_lld_version: 12180, // TUNINGPARM_LLD_VERSION_DEFAULT
17
+ tp_init_phase_rtn_lite_long: 14, // TUNINGPARM_INITIAL_PHASE_RTN_LITE_LONG_RANGE_DEFAULT
18
+ tp_init_phase_rtn_lite_med: 10, // TUNINGPARM_INITIAL_PHASE_RTN_LITE_MED_RANGE_DEFAULT
19
+ tp_init_phase_rtn_lite_short: 6, // TUNINGPARM_INITIAL_PHASE_RTN_LITE_SHORT_RANGE_DEFAULT
20
+ tp_init_phase_ref_lite_long: 14, // TUNINGPARM_INITIAL_PHASE_REF_LITE_LONG_RANGE_DEFAULT
21
+ tp_init_phase_ref_lite_med: 10, // TUNINGPARM_INITIAL_PHASE_REF_LITE_MED_RANGE_DEFAULT
22
+ tp_init_phase_ref_lite_short: 6, // TUNINGPARM_INITIAL_PHASE_REF_LITE_SHORT_RANGE_DEFAULT
23
+ tp_init_phase_rtn_hist_long: 9, // TUNINGPARM_INITIAL_PHASE_RTN_HISTO_LONG_RANGE_DEFAULT
24
+ tp_init_phase_rtn_hist_med: 5, // TUNINGPARM_INITIAL_PHASE_RTN_HISTO_MED_RANGE_DEFAULT
25
+ tp_init_phase_rtn_hist_short: 3, // TUNINGPARM_INITIAL_PHASE_RTN_HISTO_SHORT_RANGE_DEFAULT
26
+ tp_init_phase_ref_hist_long: 6, // TUNINGPARM_INITIAL_PHASE_REF_HISTO_LONG_RANGE_DEFAULT
27
+ tp_init_phase_ref_hist_med: 6, // TUNINGPARM_INITIAL_PHASE_REF_HISTO_MED_RANGE_DEFAULT
28
+ tp_init_phase_ref_hist_short: 6, // TUNINGPARM_INITIAL_PHASE_REF_HISTO_SHORT_RANGE_DEFAULT
29
+ tp_consistency_lite_phase_tolerance: 2, // TUNINGPARM_CONSISTENCY_LITE_PHASE_TOLERANCE_DEFAULT
30
+ tp_phasecal_target: 33, // TUNINGPARM_PHASECAL_TARGET_DEFAULT
31
+ tp_cal_repeat_rate: 0, // TUNINGPARM_LITE_CAL_REPEAT_RATE_DEFAULT
32
+ tp_lite_min_clip: 0, // TUNINGPARM_LITE_MIN_CLIP_MM_DEFAULT
33
+ tp_lite_long_sigma_thresh_mm: 60, // TUNINGPARM_LITE_LONG_SIGMA_THRESH_MM_DEFAULT
34
+ tp_lite_med_sigma_thresh_mm: 60, // TUNINGPARM_LITE_MED_SIGMA_THRESH_MM_DEFAULT
35
+ tp_lite_short_sigma_thresh_mm: 60, // TUNINGPARM_LITE_SHORT_SIGMA_THRESH_MM_DEFAULT
36
+ tp_lite_long_min_count_rate_rtn_mcps: 128, // TUNINGPARM_LITE_LONG_MIN_COUNT_RATE_RTN_MCPS_DEFAULT
37
+ tp_lite_med_min_count_rate_rtn_mcps: 128, // TUNINGPARM_LITE_MED_MIN_COUNT_RATE_RTN_MCPS_DEFAULT
38
+ tp_lite_short_min_count_rate_rtn_mcps: 128, // TUNINGPARM_LITE_SHORT_MIN_COUNT_RATE_RTN_MCPS_DEFAULT
39
+ tp_lite_sigma_est_pulse_width_ns: 8, // TUNINGPARM_LITE_SIGMA_EST_PULSE_WIDTH_DEFAULT
40
+ tp_lite_sigma_est_amb_width_ns: 16, // TUNINGPARM_LITE_SIGMA_EST_AMB_WIDTH_NS_DEFAULT
41
+ tp_lite_sigma_ref_mm: 1, // TUNINGPARM_LITE_SIGMA_REF_MM_DEFAULT
42
+ tp_lite_seed_cfg: 2, // TUNINGPARM_LITE_SEED_CONFIG_DEFAULT
43
+ tp_timed_seed_cfg: 1, // TUNINGPARM_TIMED_SEED_CONFIG_DEFAULT
44
+ tp_lite_quantifier: 2, // TUNINGPARM_LITE_QUANTIFIER_DEFAULT
45
+ tp_lite_first_order_select: 0, // TUNINGPARM_LITE_FIRST_ORDER_SELECT_DEFAULT
46
+ tp_uwr_enable: 1, // TUNINGPARM_UWR_ENABLE_DEFAULT
47
+ tp_uwr_med_z_1_min: 2000, // TUNINGPARM_UWR_MEDIUM_ZONE_1_MIN_DEFAULT
48
+ tp_uwr_med_z_1_max: 2750, // TUNINGPARM_UWR_MEDIUM_ZONE_1_MAX_DEFAULT
49
+ tp_uwr_med_z_2_min: 250, // TUNINGPARM_UWR_MEDIUM_ZONE_2_MIN_DEFAULT
50
+ tp_uwr_med_z_2_max: 1000, // TUNINGPARM_UWR_MEDIUM_ZONE_2_MAX_DEFAULT
51
+ tp_uwr_med_z_3_min: 1250, // TUNINGPARM_UWR_MEDIUM_ZONE_3_MIN_DEFAULT
52
+ tp_uwr_med_z_3_max: 1750, // TUNINGPARM_UWR_MEDIUM_ZONE_3_MAX_DEFAULT
53
+ tp_uwr_med_z_4_min: 1250, // TUNINGPARM_UWR_MEDIUM_ZONE_4_MIN_DEFAULT
54
+ tp_uwr_med_z_4_max: 1750, // TUNINGPARM_UWR_MEDIUM_ZONE_4_MAX_DEFAULT
55
+ tp_uwr_med_z_5_min: -200, // TUNINGPARM_UWR_MEDIUM_ZONE_5_MIN_DEFAULT
56
+ tp_uwr_med_z_5_max: 200, // TUNINGPARM_UWR_MEDIUM_ZONE_5_MAX_DEFAULT
57
+ tp_uwr_med_corr_z_1_rangea: 2300, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEA_DEFAULT
58
+ tp_uwr_med_corr_z_1_rangeb: 0, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEB_DEFAULT
59
+ tp_uwr_med_corr_z_2_rangea: 2300, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEA_DEFAULT
60
+ tp_uwr_med_corr_z_2_rangeb: 3050, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEB_DEFAULT
61
+ tp_uwr_med_corr_z_3_rangea: 4600, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEA_DEFAULT
62
+ tp_uwr_med_corr_z_3_rangeb: 3050, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEB_DEFAULT
63
+ tp_uwr_med_corr_z_4_rangea: 4600, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEA_DEFAULT
64
+ tp_uwr_med_corr_z_4_rangeb: 6200, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEB_DEFAULT
65
+ tp_uwr_med_corr_z_5_rangea: 0, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEA_DEFAULT
66
+ tp_uwr_med_corr_z_5_rangeb: 0, // TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEB_DEFAULT
67
+ tp_uwr_lng_z_1_min: 250, // TUNINGPARM_UWR_LONG_ZONE_1_MIN_DEFAULT
68
+ tp_uwr_lng_z_1_max: 1250, // TUNINGPARM_UWR_LONG_ZONE_1_MAX_DEFAULT
69
+ tp_uwr_lng_z_2_min: 3250, // TUNINGPARM_UWR_LONG_ZONE_2_MIN_DEFAULT
70
+ tp_uwr_lng_z_2_max: 4500, // TUNINGPARM_UWR_LONG_ZONE_2_MAX_DEFAULT
71
+ tp_uwr_lng_z_3_min: -200, // TUNINGPARM_UWR_LONG_ZONE_3_MIN_DEFAULT
72
+ tp_uwr_lng_z_3_max: 200, // TUNINGPARM_UWR_LONG_ZONE_3_MAX_DEFAULT
73
+ tp_uwr_lng_z_4_min: 0, // TUNINGPARM_UWR_LONG_ZONE_4_MIN_DEFAULT
74
+ tp_uwr_lng_z_4_max: 0, // TUNINGPARM_UWR_LONG_ZONE_4_MAX_DEFAULT
75
+ tp_uwr_lng_z_5_min: 0, // TUNINGPARM_UWR_LONG_ZONE_5_MIN_DEFAULT
76
+ tp_uwr_lng_z_5_max: 0, // TUNINGPARM_UWR_LONG_ZONE_5_MAX_DEFAULT
77
+ tp_uwr_lng_corr_z_1_rangea: 3850, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEA_DEFAULT
78
+ tp_uwr_lng_corr_z_1_rangeb: 4600, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEB_DEFAULT
79
+ tp_uwr_lng_corr_z_2_rangea: 3850, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEA_DEFAULT
80
+ tp_uwr_lng_corr_z_2_rangeb: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEB_DEFAULT
81
+ tp_uwr_lng_corr_z_3_rangea: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEA_DEFAULT
82
+ tp_uwr_lng_corr_z_3_rangeb: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEB_DEFAULT
83
+ tp_uwr_lng_corr_z_4_rangea: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEA_DEFAULT
84
+ tp_uwr_lng_corr_z_4_rangeb: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEB_DEFAULT
85
+ tp_uwr_lng_corr_z_5_rangea: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEA_DEFAULT
86
+ tp_uwr_lng_corr_z_5_rangeb: 0, // TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEB_DEFAULT
87
+ tp_dss_target_lite_mcps: 2560, // TUNINGPARM_LITE_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT
88
+ tp_dss_target_histo_mcps: 5120, // TUNINGPARM_RANGING_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT
89
+ tp_dss_target_histo_mz_mcps: 5120, // TUNINGPARM_MZ_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT
90
+ tp_dss_target_timed_mcps: 2560, // TUNINGPARM_TIMED_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT
91
+ tp_phasecal_timeout_lite_us: 1000, // TUNINGPARM_LITE_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
92
+ tp_phasecal_timeout_hist_long_us: 15000, // TUNINGPARM_RANGING_LONG_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
93
+ tp_phasecal_timeout_hist_med_us: 9000, // TUNINGPARM_RANGING_MED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
94
+ tp_phasecal_timeout_hist_short_us: 6000, // TUNINGPARM_RANGING_SHORT_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
95
+ tp_phasecal_timeout_mz_long_us: 15000, // TUNINGPARM_MZ_LONG_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
96
+ tp_phasecal_timeout_mz_med_us: 9000, // TUNINGPARM_MZ_MED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
97
+ tp_phasecal_timeout_mz_short_us: 6000, // TUNINGPARM_MZ_SHORT_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
98
+ tp_phasecal_timeout_timed_us: 1000, // TUNINGPARM_TIMED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT
99
+ tp_mm_timeout_lite_us: 2000, // TUNINGPARM_LITE_MM_CONFIG_TIMEOUT_US_DEFAULT
100
+ tp_mm_timeout_histo_us: 2000, // TUNINGPARM_RANGING_MM_CONFIG_TIMEOUT_US_DEFAULT
101
+ tp_mm_timeout_mz_us: 2000, // TUNINGPARM_MZ_MM_CONFIG_TIMEOUT_US_DEFAULT
102
+ tp_mm_timeout_timed_us: 2000, // TUNINGPARM_TIMED_MM_CONFIG_TIMEOUT_US_DEFAULT
103
+ tp_range_timeout_lite_us: 63000, // TUNINGPARM_LITE_RANGE_CONFIG_TIMEOUT_US_DEFAULT
104
+ tp_range_timeout_histo_us: 2500, // TUNINGPARM_RANGING_RANGE_CONFIG_TIMEOUT_US_DEFAULT
105
+ tp_range_timeout_mz_us: 2500, // TUNINGPARM_MZ_RANGE_CONFIG_TIMEOUT_US_DEFAULT
106
+ tp_range_timeout_timed_us: 13000, // TUNINGPARM_TIMED_RANGE_CONFIG_TIMEOUT_US_DEFAULT
107
+ tp_mm_timeout_lpa_us: 1, // TUNINGPARM_LOWPOWERAUTO_MM_CONFIG_TIMEOUT_US_DEFAULT
108
+ tp_range_timeout_lpa_us: 8000, // TUNINGPARM_LOWPOWERAUTO_RANGE_CONFIG_TIMEOUT_US_DEFAULT
109
+ tp_dss_target_very_short_mcps: 10240, // TUNINGPARM_VERY_SHORT_DSS_RATE_MCPS_DEFAULT
110
+ tp_phasecal_patch_power: 0, // TUNINGPARM_PHASECAL_PATCH_POWER_DEFAULT
111
+ tp_hist_merge: 1, // TUNINGPARM_HIST_MERGE_DEFAULT
112
+ tp_reset_merge_threshold: 15000, // TUNINGPARM_RESET_MERGE_THRESHOLD_DEFAULT
113
+ tp_hist_merge_max_size: 6, // TUNINGPARM_HIST_MERGE_MAX_SIZE_DEFAULT
114
+ };
115
+ export const DEFAULTS = {
116
+ TUNINGPARM_CONSISTENCY_HIST_EVENT_SIGMA_DEFAULT: 0,
117
+ TUNINGPARM_CONSISTENCY_HIST_EVENT_SIGMA_MIN_SPAD_LIMIT_DEFAULT: 2048,
118
+ TUNINGPARM_CONSISTENCY_HIST_MIN_MAX_TOLERANCE_MM_DEFAULT: 0,
119
+ TUNINGPARM_CONSISTENCY_HIST_PHASE_TOLERANCE_DEFAULT: 8,
120
+ TUNINGPARM_CONSISTENCY_LITE_PHASE_TOLERANCE_DEFAULT: 2,
121
+ TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_0_DEFAULT: 15,
122
+ TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_1_DEFAULT: 52,
123
+ TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_2_DEFAULT: 200,
124
+ TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_3_DEFAULT: 364,
125
+ TUNINGPARM_DMAX_CFG_REFLECTANCE_ARRAY_4_DEFAULT: 400,
126
+ TUNINGPARM_DMAX_CFG_SIGNAL_THRESH_SIGMA_DEFAULT: 32,
127
+ TUNINGPARM_DYNXTALK_AVERAGED_XTALK_DELTA_DEFAULT: 308,
128
+ TUNINGPARM_DYNXTALK_CLIP_LIMIT_DEFAULT: 10240,
129
+ TUNINGPARM_DYNXTALK_MAX_SMUDGE_FACTOR_DEFAULT: 2000,
130
+ TUNINGPARM_DYNXTALK_NODETECT_AMB_THRESHOLD_KCPS_DEFAULT: 57671680,
131
+ TUNINGPARM_DYNXTALK_NODETECT_MIN_RANGE_MM_DEFAULT: 900,
132
+ TUNINGPARM_DYNXTALK_NODETECT_SAMPLE_LIMIT_DEFAULT: 40,
133
+ TUNINGPARM_DYNXTALK_NODETECT_XTALK_OFFSET_KCPS_DEFAULT: 410,
134
+ TUNINGPARM_DYNXTALK_NOISE_MARGIN_DEFAULT: 100,
135
+ TUNINGPARM_DYNXTALK_SAMPLE_LIMIT_DEFAULT: 200,
136
+ TUNINGPARM_DYNXTALK_SCALER_CALC_METHOD_DEFAULT: 0,
137
+ TUNINGPARM_DYNXTALK_SINGLE_XTALK_DELTA_DEFAULT: 2048,
138
+ TUNINGPARM_DYNXTALK_SMUDGE_COR_SINGLE_APPLY_DEFAULT: 0,
139
+ TUNINGPARM_DYNXTALK_SMUDGE_MARGIN_DEFAULT: 0,
140
+ TUNINGPARM_DYNXTALK_USER_SCALER_SET_DEFAULT: 0,
141
+ TUNINGPARM_DYNXTALK_XGRADIENT_SCALER_DEFAULT: 256,
142
+ TUNINGPARM_DYNXTALK_XTALK_AMB_THRESHOLD_DEFAULT: 128,
143
+ TUNINGPARM_DYNXTALK_XTALK_OFFSET_LIMIT_DEFAULT: 0,
144
+ TUNINGPARM_DYNXTALK_XTALK_OFFSET_LIMIT_HI_DEFAULT: 0,
145
+ TUNINGPARM_DYNXTALK_YGRADIENT_SCALER_DEFAULT: 256,
146
+ TUNINGPARM_HIST_ALGO_SELECT_DEFAULT: 4,
147
+ TUNINGPARM_HIST_AMB_EST_METHOD_DEFAULT: 1,
148
+ TUNINGPARM_HIST_AMB_EVENTS_SCALER_DEFAULT: 4157,
149
+ TUNINGPARM_HIST_AMB_THRESH_SIGMA_0_DEFAULT: 80,
150
+ TUNINGPARM_HIST_AMB_THRESH_SIGMA_1_DEFAULT: 100,
151
+ TUNINGPARM_HIST_FILTER_WOI_0_DEFAULT: 1,
152
+ TUNINGPARM_HIST_FILTER_WOI_1_DEFAULT: 2,
153
+ TUNINGPARM_HIST_GAIN_FACTOR_DEFAULT: 1987,
154
+ TUNINGPARM_HIST_MERGE_DEFAULT: 1,
155
+ TUNINGPARM_HIST_MERGE_MAX_SIZE_DEFAULT: 6,
156
+ TUNINGPARM_HIST_MIN_AMB_THRESH_EVENTS_DEFAULT: 16,
157
+ TUNINGPARM_HIST_NOISE_THRESHOLD_DEFAULT: 50,
158
+ TUNINGPARM_HIST_SIGMA_EST_REF_MM_DEFAULT: 1,
159
+ TUNINGPARM_HIST_SIGMA_THRESH_MM_DEFAULT: 180,
160
+ TUNINGPARM_HIST_SIGNAL_TOTAL_EVENTS_LIMIT_DEFAULT: 100,
161
+ TUNINGPARM_HIST_TARGET_ORDER_DEFAULT: 1,
162
+ TUNINGPARM_HIST_XTALK_MARGIN_KCPS_DEFAULT: 0,
163
+ TUNINGPARM_INITIAL_PHASE_REF_HISTO_LONG_RANGE_DEFAULT: 6,
164
+ TUNINGPARM_INITIAL_PHASE_REF_HISTO_MED_RANGE_DEFAULT: 6,
165
+ TUNINGPARM_INITIAL_PHASE_REF_HISTO_SHORT_RANGE_DEFAULT: 6,
166
+ TUNINGPARM_INITIAL_PHASE_REF_LITE_LONG_RANGE_DEFAULT: 14,
167
+ TUNINGPARM_INITIAL_PHASE_REF_LITE_MED_RANGE_DEFAULT: 10,
168
+ TUNINGPARM_INITIAL_PHASE_REF_LITE_SHORT_RANGE_DEFAULT: 6,
169
+ TUNINGPARM_INITIAL_PHASE_RTN_HISTO_LONG_RANGE_DEFAULT: 9,
170
+ TUNINGPARM_INITIAL_PHASE_RTN_HISTO_MED_RANGE_DEFAULT: 5,
171
+ TUNINGPARM_INITIAL_PHASE_RTN_HISTO_SHORT_RANGE_DEFAULT: 3,
172
+ TUNINGPARM_INITIAL_PHASE_RTN_LITE_LONG_RANGE_DEFAULT: 14,
173
+ TUNINGPARM_INITIAL_PHASE_RTN_LITE_MED_RANGE_DEFAULT: 10,
174
+ TUNINGPARM_INITIAL_PHASE_RTN_LITE_SHORT_RANGE_DEFAULT: 6,
175
+ TUNINGPARM_KEY_TABLE_VERSION_DEFAULT: 14,
176
+ TUNINGPARM_LITE_CAL_REPEAT_RATE_DEFAULT: 0,
177
+ TUNINGPARM_LITE_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT: 2560,
178
+ TUNINGPARM_LITE_FIRST_ORDER_SELECT_DEFAULT: 0,
179
+ TUNINGPARM_LITE_LONG_MIN_COUNT_RATE_RTN_MCPS_DEFAULT: 128,
180
+ TUNINGPARM_LITE_LONG_SIGMA_THRESH_MM_DEFAULT: 60,
181
+ TUNINGPARM_LITE_MED_MIN_COUNT_RATE_RTN_MCPS_DEFAULT: 128,
182
+ TUNINGPARM_LITE_MED_SIGMA_THRESH_MM_DEFAULT: 60,
183
+ TUNINGPARM_LITE_MIN_CLIP_MM_DEFAULT: 0,
184
+ TUNINGPARM_LITE_MM_CONFIG_TIMEOUT_US_DEFAULT: 2000,
185
+ TUNINGPARM_LITE_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 1000,
186
+ TUNINGPARM_LITE_QUANTIFIER_DEFAULT: 2,
187
+ TUNINGPARM_LITE_RANGE_CONFIG_TIMEOUT_US_DEFAULT: 63000,
188
+ TUNINGPARM_LITE_RANGING_GAIN_FACTOR_DEFAULT: 2011,
189
+ TUNINGPARM_LITE_RIT_MULT_DEFAULT: 64,
190
+ TUNINGPARM_LITE_SEED_CONFIG_DEFAULT: 2,
191
+ TUNINGPARM_LITE_SHORT_MIN_COUNT_RATE_RTN_MCPS_DEFAULT: 128,
192
+ TUNINGPARM_LITE_SHORT_SIGMA_THRESH_MM_DEFAULT: 60,
193
+ TUNINGPARM_LITE_SIGMA_EST_AMB_WIDTH_NS_DEFAULT: 16,
194
+ TUNINGPARM_LITE_SIGMA_EST_PULSE_WIDTH_DEFAULT: 8,
195
+ TUNINGPARM_LITE_SIGMA_REF_MM_DEFAULT: 1,
196
+ TUNINGPARM_LITE_XTALK_MARGIN_KCPS_DEFAULT: 0,
197
+ TUNINGPARM_LLD_VERSION_DEFAULT: 12180,
198
+ TUNINGPARM_LOWPOWERAUTO_MM_CONFIG_TIMEOUT_US_DEFAULT: 1,
199
+ TUNINGPARM_LOWPOWERAUTO_RANGE_CONFIG_TIMEOUT_US_DEFAULT: 8000,
200
+ TUNINGPARM_LOWPOWERAUTO_VHV_LOOP_BOUND_DEFAULT: 3,
201
+ TUNINGPARM_MZ_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT: 5120,
202
+ TUNINGPARM_MZ_LONG_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 15000,
203
+ TUNINGPARM_MZ_MED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 9000,
204
+ TUNINGPARM_MZ_MM_CONFIG_TIMEOUT_US_DEFAULT: 2000,
205
+ TUNINGPARM_MZ_RANGE_CONFIG_TIMEOUT_US_DEFAULT: 2500,
206
+ TUNINGPARM_MZ_SHORT_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 6000,
207
+ TUNINGPARM_OFFSET_CAL_DSS_RATE_MCPS_DEFAULT: 2560,
208
+ TUNINGPARM_OFFSET_CAL_MM1_SAMPLES_DEFAULT: 40,
209
+ TUNINGPARM_OFFSET_CAL_MM2_SAMPLES_DEFAULT: 9,
210
+ TUNINGPARM_OFFSET_CAL_MM_TIMEOUT_US_DEFAULT: 13000,
211
+ TUNINGPARM_OFFSET_CAL_PHASECAL_TIMEOUT_US_DEFAULT: 15000,
212
+ TUNINGPARM_OFFSET_CAL_PRE_SAMPLES_DEFAULT: 8,
213
+ TUNINGPARM_OFFSET_CAL_RANGE_TIMEOUT_US_DEFAULT: 13000,
214
+ TUNINGPARM_PHASECAL_PATCH_POWER_DEFAULT: 0,
215
+ TUNINGPARM_PHASECAL_TARGET_DEFAULT: 33,
216
+ TUNINGPARM_RANGING_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT: 5120,
217
+ TUNINGPARM_RANGING_LONG_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 15000,
218
+ TUNINGPARM_RANGING_MED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 9000,
219
+ TUNINGPARM_RANGING_MM_CONFIG_TIMEOUT_US_DEFAULT: 2000,
220
+ TUNINGPARM_RANGING_RANGE_CONFIG_TIMEOUT_US_DEFAULT: 2500,
221
+ TUNINGPARM_RANGING_SHORT_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 6000,
222
+ TUNINGPARM_REFSPADCHAR_DEVICE_TEST_MODE_DEFAULT: 8,
223
+ TUNINGPARM_REFSPADCHAR_MAX_COUNTRATE_LIMIT_MCPS_DEFAULT: 5120,
224
+ TUNINGPARM_REFSPADCHAR_MIN_COUNTRATE_LIMIT_MCPS_DEFAULT: 1280,
225
+ TUNINGPARM_REFSPADCHAR_PHASECAL_TIMEOUT_US_DEFAULT: 1000,
226
+ TUNINGPARM_REFSPADCHAR_TARGET_COUNT_RATE_MCPS_DEFAULT: 2560,
227
+ TUNINGPARM_REFSPADCHAR_VCSEL_PERIOD_DEFAULT: 11,
228
+ TUNINGPARM_RESET_MERGE_THRESHOLD_DEFAULT: 15000,
229
+ TUNINGPARM_SPADMAP_RATE_LIMIT_MCPS_DEFAULT: 12,
230
+ TUNINGPARM_SPADMAP_VCSEL_PERIOD_DEFAULT: 18,
231
+ TUNINGPARM_SPADMAP_VCSEL_START_DEFAULT: 15,
232
+ TUNINGPARM_TIMED_DSS_CONFIG_TARGET_TOTAL_RATE_MCPS_DEFAULT: 2560,
233
+ TUNINGPARM_TIMED_MM_CONFIG_TIMEOUT_US_DEFAULT: 2000,
234
+ TUNINGPARM_TIMED_PHASECAL_CONFIG_TIMEOUT_US_DEFAULT: 1000,
235
+ TUNINGPARM_TIMED_RANGE_CONFIG_TIMEOUT_US_DEFAULT: 13000,
236
+ TUNINGPARM_TIMED_SEED_CONFIG_DEFAULT: 1,
237
+ TUNINGPARM_UWR_ENABLE_DEFAULT: 1,
238
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEA_DEFAULT: 3850,
239
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_1_RANGEB_DEFAULT: 4600,
240
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEA_DEFAULT: 3850,
241
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_2_RANGEB_DEFAULT: 0,
242
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEA_DEFAULT: 0,
243
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_3_RANGEB_DEFAULT: 0,
244
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEA_DEFAULT: 0,
245
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_4_RANGEB_DEFAULT: 0,
246
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEA_DEFAULT: 0,
247
+ TUNINGPARM_UWR_LONG_CORRECTION_ZONE_5_RANGEB_DEFAULT: 0,
248
+ TUNINGPARM_UWR_LONG_ZONE_1_MAX_DEFAULT: 1250,
249
+ TUNINGPARM_UWR_LONG_ZONE_1_MIN_DEFAULT: 250,
250
+ TUNINGPARM_UWR_LONG_ZONE_2_MAX_DEFAULT: 4500,
251
+ TUNINGPARM_UWR_LONG_ZONE_2_MIN_DEFAULT: 3250,
252
+ TUNINGPARM_UWR_LONG_ZONE_3_MAX_DEFAULT: 200,
253
+ TUNINGPARM_UWR_LONG_ZONE_3_MIN_DEFAULT: -200,
254
+ TUNINGPARM_UWR_LONG_ZONE_4_MAX_DEFAULT: 0,
255
+ TUNINGPARM_UWR_LONG_ZONE_4_MIN_DEFAULT: 0,
256
+ TUNINGPARM_UWR_LONG_ZONE_5_MAX_DEFAULT: 0,
257
+ TUNINGPARM_UWR_LONG_ZONE_5_MIN_DEFAULT: 0,
258
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEA_DEFAULT: 2300,
259
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_1_RANGEB_DEFAULT: 0,
260
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEA_DEFAULT: 2300,
261
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_2_RANGEB_DEFAULT: 3050,
262
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEA_DEFAULT: 4600,
263
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_3_RANGEB_DEFAULT: 3050,
264
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEA_DEFAULT: 4600,
265
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_4_RANGEB_DEFAULT: 6200,
266
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEA_DEFAULT: 0,
267
+ TUNINGPARM_UWR_MEDIUM_CORRECTION_ZONE_5_RANGEB_DEFAULT: 0,
268
+ TUNINGPARM_UWR_MEDIUM_ZONE_1_MAX_DEFAULT: 2750,
269
+ TUNINGPARM_UWR_MEDIUM_ZONE_1_MIN_DEFAULT: 2000,
270
+ TUNINGPARM_UWR_MEDIUM_ZONE_2_MAX_DEFAULT: 1000,
271
+ TUNINGPARM_UWR_MEDIUM_ZONE_2_MIN_DEFAULT: 250,
272
+ TUNINGPARM_UWR_MEDIUM_ZONE_3_MAX_DEFAULT: 1750,
273
+ TUNINGPARM_UWR_MEDIUM_ZONE_3_MIN_DEFAULT: 1250,
274
+ TUNINGPARM_UWR_MEDIUM_ZONE_4_MAX_DEFAULT: 1750,
275
+ TUNINGPARM_UWR_MEDIUM_ZONE_4_MIN_DEFAULT: 1250,
276
+ TUNINGPARM_UWR_MEDIUM_ZONE_5_MAX_DEFAULT: 200,
277
+ TUNINGPARM_UWR_MEDIUM_ZONE_5_MIN_DEFAULT: -200,
278
+ TUNINGPARM_VERSION_DEFAULT: 30,
279
+ TUNINGPARM_VERY_SHORT_DSS_RATE_MCPS_DEFAULT: 10240,
280
+ TUNINGPARM_VHV_LOOPBOUND_DEFAULT: 129,
281
+ TUNINGPARM_XTALK_DETECT_EVENT_SIGMA_DEFAULT: 80,
282
+ TUNINGPARM_XTALK_DETECT_MAX_SIGMA_MM_DEFAULT: 140,
283
+ TUNINGPARM_XTALK_DETECT_MAX_VALID_RANGE_MM_DEFAULT: 50,
284
+ TUNINGPARM_XTALK_DETECT_MAX_VALID_RATE_KCPS_DEFAULT: 400,
285
+ TUNINGPARM_XTALK_DETECT_MIN_MAX_TOLERANCE_DEFAULT: 50,
286
+ TUNINGPARM_XTALK_DETECT_MIN_VALID_RANGE_MM_DEFAULT: -50,
287
+ TUNINGPARM_XTALK_EXTRACT_BIN_TIMEOUT_US_DEFAULT: 10000,
288
+ TUNINGPARM_XTALK_EXTRACT_DSS_RATE_MCPS_DEFAULT: 5120,
289
+ TUNINGPARM_XTALK_EXTRACT_DSS_TIMEOUT_US_DEFAULT: 2000,
290
+ TUNINGPARM_XTALK_EXTRACT_MAX_FILTER_THRESH_MM_DEFAULT: 70,
291
+ TUNINGPARM_XTALK_EXTRACT_MAX_VALID_RATE_KCPS_DEFAULT: 640,
292
+ TUNINGPARM_XTALK_EXTRACT_MIN_FILTER_THRESH_MM_DEFAULT: -70,
293
+ TUNINGPARM_XTALK_EXTRACT_NUM_OF_SAMPLES_DEFAULT: 7,
294
+ TUNINGPARM_XTALK_EXTRACT_PHASECAL_TIMEOUT_US_DEFAULT: 15000,
295
+ TUNINGPARM_XTALK_EXTRACT_SIGMA_THRESHOLD_MM_DEFAULT: 140,
296
+ TUNINGPARM_ZONE_CAL_DSS_RATE_MCPS_DEFAULT: 5120,
297
+ TUNINGPARM_ZONE_CAL_DSS_TIMEOUT_US_DEFAULT: 2000,
298
+ TUNINGPARM_ZONE_CAL_PHASECAL_NUM_SAMPLES_DEFAULT: 16,
299
+ TUNINGPARM_ZONE_CAL_PHASECAL_TIMEOUT_US_DEFAULT: 15000,
300
+ TUNINGPARM_ZONE_CAL_RANGE_TIMEOUT_US_DEFAULT: 1000,
301
+ TUNINGPARM_ZONE_CAL_ZONE_NUM_SAMPLES_DEFAULT: 8,
302
+ };
303
+ //# sourceMappingURL=tuning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuning.js","sourceRoot":"","sources":["../../../../../src/sensors/vl53lx/uld/bare/tuning.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * uld/base — what every sensor driver of the 1D family shares. Async mirror of
3
+ * the Python `depz_sensor_sdk.vl53lx.uld.base` (itself the firmware repo's
4
+ * `tof_vl53l0_4/tools/uld/base.py`).
5
+ *
6
+ * `BridgePlatform` is ST's platform layer (RdByte/WrWord/WaitMs...) over the
7
+ * bridge; `SensorDriver` is the contract the device class talks to;
8
+ * `Measurement` is the one result shape every caller understands. Every
9
+ * register access is async, so every driver method that touches the sensor
10
+ * returns a Promise; pure decoding (`decode`, `toMeasurement`) stays sync.
11
+ */
12
+ import { type BridgeDevice } from "./link.js";
13
+ /** VL53L4CD_RdByte/.../WaitMs over the bridge. Register values are big-endian. */
14
+ export declare class BridgePlatform {
15
+ readonly dev: BridgeDevice;
16
+ /** Sleep implementation (tests inject an instant one). */
17
+ readonly sleepImpl: (ms: number) => Promise<void>;
18
+ constructor(dev: BridgeDevice,
19
+ /** Sleep implementation (tests inject an instant one). */
20
+ sleepImpl?: (ms: number) => Promise<void>);
21
+ rdMulti(addr: number, size: number): Promise<Uint8Array>;
22
+ wrMulti(addr: number, data: Uint8Array): Promise<void>;
23
+ rdByte(addr: number): Promise<number>;
24
+ rdWord(addr: number): Promise<number>;
25
+ rdDword(addr: number): Promise<number>;
26
+ wrByte(addr: number, value: number): Promise<void>;
27
+ wrWord(addr: number, value: number): Promise<void>;
28
+ wrDword(addr: number, value: number): Promise<void>;
29
+ /** Outside the C platform layer: only a driver re-times the bus. */
30
+ setI2cSpeed(khz: number): Promise<void>;
31
+ /** Outside the C platform layer: register-address width, sticky. */
32
+ setAddrWidth(width: number): Promise<void>;
33
+ /** Outside the C platform layer: the bridge owns XSHUT. */
34
+ xshutReset(): Promise<void>;
35
+ sleepMs(ms: number): Promise<void>;
36
+ }
37
+ /**
38
+ * One return of a multi-target frame. `minRangeMm`/`maxRangeMm` are the edges
39
+ * of the target's own pulse (histogram parts); the others repeat `distanceMm`.
40
+ */
41
+ export interface Target {
42
+ distanceMm: number;
43
+ status: number;
44
+ statusText: string;
45
+ signalKcps: number;
46
+ ambientKcps: number;
47
+ sigmaMm: number;
48
+ minRangeMm: number;
49
+ maxRangeMm: number;
50
+ }
51
+ /**
52
+ * One range result, the same shape for every sensor of the family. On the
53
+ * histogram driver `targets` holds every return strongest-first and the
54
+ * top-level fields repeat `targets[0]`; on the light drivers it stays empty.
55
+ */
56
+ export interface Measurement {
57
+ distanceMm: number;
58
+ status: number;
59
+ statusText: string;
60
+ signalKcps: number;
61
+ ambientKcps: number;
62
+ sigmaMm: number;
63
+ spads: number;
64
+ targets: Target[];
65
+ extra: Record<string, unknown>;
66
+ }
67
+ /** Build a Measurement with the Python defaults for omitted fields. */
68
+ export declare function measurement(m?: Partial<Measurement>): Measurement;
69
+ /**
70
+ * Everything a caller may use on a sensor driver (mirror of the Python
71
+ * `SensorDriver`). Anything else a driver defines belongs to that product and
72
+ * is reached off the concrete class. `SUPPORTS` says which optional groups
73
+ * the product actually has: mode, timing, offset, xtalk, calib_offset,
74
+ * calib_xtalk, thresholds, roi, signal_thresh, sigma_thresh, temp_update,
75
+ * refspad.
76
+ *
77
+ * Static facts (`ADDR_WIDTH`, `CLEAR_STEPS`, `MAX_KHZ`, `SUPPORTS`, `MODES`,
78
+ * `BUDGET_MS`, `HISTOGRAM`) are exposed both as static members of the driver
79
+ * class (the registry reads them before construction) and as instance getters.
80
+ */
81
+ export declare abstract class SensorDriver {
82
+ readonly p: BridgePlatform;
83
+ /** The product the board reports, e.g. 'VL53L4CX' (one driver serves several). */
84
+ readonly product: string;
85
+ static readonly ADDR_WIDTH: number;
86
+ static readonly CLEAR_STEPS: ReadonlyArray<readonly [number, number]>;
87
+ static readonly MAX_KHZ: number;
88
+ static readonly SUPPORTS: ReadonlySet<string>;
89
+ static readonly MODES: readonly string[];
90
+ static readonly BUDGET_MS: readonly [number, number];
91
+ static readonly HISTOGRAM: boolean;
92
+ constructor(p: BridgePlatform,
93
+ /** The product the board reports, e.g. 'VL53L4CX' (one driver serves several). */
94
+ product: string);
95
+ private get cls();
96
+ get ADDR_WIDTH(): number;
97
+ get CLEAR_STEPS(): ReadonlyArray<readonly [number, number]>;
98
+ get MAX_KHZ(): number;
99
+ get SUPPORTS(): ReadonlySet<string>;
100
+ get MODES(): readonly string[];
101
+ get BUDGET_MS(): readonly [number, number];
102
+ get HISTOGRAM(): boolean;
103
+ abstract modelId(): Promise<number>;
104
+ /** Reset and configure; leaves the bus at MAX_KHZ. Safe to re-run. */
105
+ abstract sensorInit(): Promise<void>;
106
+ abstract startRanging(): Promise<void>;
107
+ abstract stopRanging(): Promise<void>;
108
+ abstract checkForDataReady(): Promise<boolean>;
109
+ waitDataReady(timeoutS?: number): Promise<void>;
110
+ abstract clearInterrupt(): Promise<void>;
111
+ /** [addr, len] — the register block the bridge streams on each INT. */
112
+ abstract streamBlock(): [number, number];
113
+ /** Streamed block bytes → Measurement (pure; stateful on histogram parts). */
114
+ abstract decode(raw: Uint8Array): Measurement;
115
+ /** One polled result. Default: read the stream block and decode it. */
116
+ readMeasurement(): Promise<Measurement>;
117
+ abstract setRangeTiming(timingBudgetMs: number, interMeasurementMs: number): Promise<void>;
118
+ /** → [timingBudgetMs, interMeasurementMs]. */
119
+ abstract getRangeTiming(): Promise<[number, number]>;
120
+ /** The only budgets accepted right now (ascending), or [] for any in BUDGET_MS. */
121
+ budgetChoices(): number[];
122
+ setMode(_name: string): Promise<void>;
123
+ getMode(): Promise<string>;
124
+ /** How far this driver's configuration can measure (mm), or null. */
125
+ reachMm(): number | null;
126
+ /** Numbers beyond the contract, for display only. */
127
+ driverInfo(): Promise<Record<string, unknown>>;
128
+ }
129
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/sensors/vl53lx/uld/base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * uld/base — what every sensor driver of the 1D family shares. Async mirror of
3
+ * the Python `depz_sensor_sdk.vl53lx.uld.base` (itself the firmware repo's
4
+ * `tof_vl53l0_4/tools/uld/base.py`).
5
+ *
6
+ * `BridgePlatform` is ST's platform layer (RdByte/WrWord/WaitMs...) over the
7
+ * bridge; `SensorDriver` is the contract the device class talks to;
8
+ * `Measurement` is the one result shape every caller understands. Every
9
+ * register access is async, so every driver method that touches the sensor
10
+ * returns a Promise; pure decoding (`decode`, `toMeasurement`) stays sync.
11
+ */
12
+ import { Vl53Error, VL53_XSHUT_RESET } from "./link.js";
13
+ /** VL53L4CD_RdByte/.../WaitMs over the bridge. Register values are big-endian. */
14
+ export class BridgePlatform {
15
+ dev;
16
+ sleepImpl;
17
+ constructor(dev,
18
+ /** Sleep implementation (tests inject an instant one). */
19
+ sleepImpl = (ms) => new Promise((r) => setTimeout(r, ms))) {
20
+ this.dev = dev;
21
+ this.sleepImpl = sleepImpl;
22
+ }
23
+ rdMulti(addr, size) {
24
+ return this.dev.readReg(addr, size);
25
+ }
26
+ wrMulti(addr, data) {
27
+ return this.dev.writeReg(addr, data);
28
+ }
29
+ async rdByte(addr) {
30
+ return (await this.dev.readReg(addr, 1))[0];
31
+ }
32
+ async rdWord(addr) {
33
+ const b = await this.dev.readReg(addr, 2);
34
+ return (b[0] << 8) | b[1];
35
+ }
36
+ async rdDword(addr) {
37
+ const b = await this.dev.readReg(addr, 4);
38
+ return ((b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]) >>> 0;
39
+ }
40
+ wrByte(addr, value) {
41
+ return this.dev.writeReg(addr, Uint8Array.of(value & 0xff));
42
+ }
43
+ wrWord(addr, value) {
44
+ const v = value & 0xffff;
45
+ return this.dev.writeReg(addr, Uint8Array.of(v >> 8, v & 0xff));
46
+ }
47
+ wrDword(addr, value) {
48
+ const v = value >>> 0;
49
+ return this.dev.writeReg(addr, Uint8Array.of((v >>> 24) & 0xff, (v >>> 16) & 0xff, (v >>> 8) & 0xff, v & 0xff));
50
+ }
51
+ /** Outside the C platform layer: only a driver re-times the bus. */
52
+ setI2cSpeed(khz) {
53
+ return this.dev.setI2cSpeed(khz);
54
+ }
55
+ /** Outside the C platform layer: register-address width, sticky. */
56
+ setAddrWidth(width) {
57
+ return this.dev.setAddrWidth(width);
58
+ }
59
+ /** Outside the C platform layer: the bridge owns XSHUT. */
60
+ xshutReset() {
61
+ return this.dev.xshut(VL53_XSHUT_RESET);
62
+ }
63
+ sleepMs(ms) {
64
+ return this.sleepImpl(ms);
65
+ }
66
+ }
67
+ /** Build a Measurement with the Python defaults for omitted fields. */
68
+ export function measurement(m = {}) {
69
+ return {
70
+ distanceMm: m.distanceMm ?? 0,
71
+ status: m.status ?? 0,
72
+ statusText: m.statusText ?? "",
73
+ signalKcps: m.signalKcps ?? 0,
74
+ ambientKcps: m.ambientKcps ?? 0,
75
+ sigmaMm: m.sigmaMm ?? 0,
76
+ spads: m.spads ?? 0,
77
+ targets: m.targets ?? [],
78
+ extra: m.extra ?? {},
79
+ };
80
+ }
81
+ /**
82
+ * Everything a caller may use on a sensor driver (mirror of the Python
83
+ * `SensorDriver`). Anything else a driver defines belongs to that product and
84
+ * is reached off the concrete class. `SUPPORTS` says which optional groups
85
+ * the product actually has: mode, timing, offset, xtalk, calib_offset,
86
+ * calib_xtalk, thresholds, roi, signal_thresh, sigma_thresh, temp_update,
87
+ * refspad.
88
+ *
89
+ * Static facts (`ADDR_WIDTH`, `CLEAR_STEPS`, `MAX_KHZ`, `SUPPORTS`, `MODES`,
90
+ * `BUDGET_MS`, `HISTOGRAM`) are exposed both as static members of the driver
91
+ * class (the registry reads them before construction) and as instance getters.
92
+ */
93
+ export class SensorDriver {
94
+ p;
95
+ product;
96
+ static ADDR_WIDTH = 2;
97
+ static CLEAR_STEPS = [];
98
+ static MAX_KHZ = 400;
99
+ static SUPPORTS = new Set();
100
+ static MODES = [];
101
+ static BUDGET_MS = [10, 200];
102
+ static HISTOGRAM = false;
103
+ constructor(p,
104
+ /** The product the board reports, e.g. 'VL53L4CX' (one driver serves several). */
105
+ product) {
106
+ this.p = p;
107
+ this.product = product;
108
+ }
109
+ get cls() {
110
+ return this.constructor;
111
+ }
112
+ get ADDR_WIDTH() {
113
+ return this.cls.ADDR_WIDTH;
114
+ }
115
+ get CLEAR_STEPS() {
116
+ return this.cls.CLEAR_STEPS;
117
+ }
118
+ get MAX_KHZ() {
119
+ return this.cls.MAX_KHZ;
120
+ }
121
+ get SUPPORTS() {
122
+ return this.cls.SUPPORTS;
123
+ }
124
+ get MODES() {
125
+ return this.cls.MODES;
126
+ }
127
+ get BUDGET_MS() {
128
+ return this.cls.BUDGET_MS;
129
+ }
130
+ get HISTOGRAM() {
131
+ return this.cls.HISTOGRAM;
132
+ }
133
+ async waitDataReady(timeoutS = 1.0) {
134
+ const deadline = Date.now() + timeoutS * 1000;
135
+ while (!(await this.checkForDataReady())) {
136
+ if (Date.now() > deadline)
137
+ throw new Vl53Error("timeout waiting for data ready");
138
+ await this.p.sleepMs(1);
139
+ }
140
+ }
141
+ /** One polled result. Default: read the stream block and decode it. */
142
+ async readMeasurement() {
143
+ const [addr, length] = this.streamBlock();
144
+ return this.decode(await this.p.rdMulti(addr, length));
145
+ }
146
+ /** The only budgets accepted right now (ascending), or [] for any in BUDGET_MS. */
147
+ budgetChoices() {
148
+ return [];
149
+ }
150
+ // ── ranging mode (only when 'mode' in SUPPORTS) ──
151
+ async setMode(_name) {
152
+ throw new Vl53Error(`${this.product}: no ranging modes`);
153
+ }
154
+ async getMode() {
155
+ throw new Vl53Error(`${this.product}: no ranging modes`);
156
+ }
157
+ /** How far this driver's configuration can measure (mm), or null. */
158
+ reachMm() {
159
+ return null;
160
+ }
161
+ /** Numbers beyond the contract, for display only. */
162
+ async driverInfo() {
163
+ return {};
164
+ }
165
+ }
166
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/sensors/vl53lx/uld/base.ts"],"names":[],"mappings":"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"}