@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,496 @@
1
+ /**
2
+ * uld/bare/regs — the VL53LX register blocks, as ST's BareDriver sees them.
3
+ * Mirror of the Python `depz_sensor_sdk.vl53lx.uld.bare.regs`.
4
+ *
5
+ * The BareDriver does not touch registers one at a time. It keeps the device
6
+ * image in a handful of C structs (`VL53LX_static_config_t`, ...), each mapping
7
+ * onto one contiguous I2C block, and moves a whole block at a time. `BLOCKS`
8
+ * is that mapping: base address, byte length, whether the block is writable,
9
+ * and the field list with offset, width, signedness and the bit mask the C
10
+ * codec applies. Generated from the Python table (itself generated from
11
+ * `vl53lx_register_funcs.c`) — data, not hand-written: the masks and the
12
+ * reserved holes (general_config has one at offset 10) match the C driver.
13
+ */
14
+ function F(name, off, width, signed, mask) {
15
+ return { name, off, width, signed, mask };
16
+ }
17
+ export const BLOCK_NAMES = [
18
+ "static_nvm_managed",
19
+ "customer_nvm_managed",
20
+ "static_config",
21
+ "general_config",
22
+ "timing_config",
23
+ "dynamic_config",
24
+ "system_control",
25
+ "system_results",
26
+ "core_results",
27
+ "debug_results",
28
+ "nvm_copy_data",
29
+ "patch_debug",
30
+ "gph_general_config",
31
+ "gph_static_config",
32
+ "gph_timing_config",
33
+ "fw_internal",
34
+ ];
35
+ export const BLOCKS = {
36
+ static_nvm_managed: {
37
+ base: 0x0001,
38
+ size: 11,
39
+ writable: true,
40
+ fields: [
41
+ F("i2c_slave__device_address", 0, 1, false, 0x7F),
42
+ F("ana_config__vhv_ref_sel_vddpix", 1, 1, false, 0xF),
43
+ F("ana_config__vhv_ref_sel_vquench", 2, 1, false, 0x7F),
44
+ F("ana_config__reg_avdd1v2_sel", 3, 1, false, 0x3),
45
+ F("ana_config__fast_osc__trim", 4, 1, false, 0x7F),
46
+ F("osc_measured__fast_osc__frequency", 5, 2, false, null),
47
+ F("vhv_config__timeout_macrop_loop_bound", 7, 1, false, null),
48
+ F("vhv_config__count_thresh", 8, 1, false, null),
49
+ F("vhv_config__offset", 9, 1, false, 0x3F),
50
+ F("vhv_config__init", 10, 1, false, null),
51
+ ],
52
+ },
53
+ customer_nvm_managed: {
54
+ base: 0x000D,
55
+ size: 23,
56
+ writable: true,
57
+ fields: [
58
+ F("global_config__spad_enables_ref_0", 0, 1, false, null),
59
+ F("global_config__spad_enables_ref_1", 1, 1, false, null),
60
+ F("global_config__spad_enables_ref_2", 2, 1, false, null),
61
+ F("global_config__spad_enables_ref_3", 3, 1, false, null),
62
+ F("global_config__spad_enables_ref_4", 4, 1, false, null),
63
+ F("global_config__spad_enables_ref_5", 5, 1, false, 0xF),
64
+ F("global_config__ref_en_start_select", 6, 1, false, null),
65
+ F("ref_spad_man__num_requested_ref_spads", 7, 1, false, 0x3F),
66
+ F("ref_spad_man__ref_location", 8, 1, false, 0x3),
67
+ F("algo__crosstalk_compensation_plane_offset_kcps", 9, 2, false, null),
68
+ F("algo__crosstalk_compensation_x_plane_gradient_kcps", 11, 2, true, null),
69
+ F("algo__crosstalk_compensation_y_plane_gradient_kcps", 13, 2, true, null),
70
+ F("ref_spad_char__total_rate_target_mcps", 15, 2, false, null),
71
+ F("algo__part_to_part_range_offset_mm", 17, 2, true, 0x1FFF),
72
+ F("mm_config__inner_offset_mm", 19, 2, true, null),
73
+ F("mm_config__outer_offset_mm", 21, 2, true, null),
74
+ ],
75
+ },
76
+ static_config: {
77
+ base: 0x0024,
78
+ size: 32,
79
+ writable: true,
80
+ fields: [
81
+ F("dss_config__target_total_rate_mcps", 0, 2, false, null),
82
+ F("debug__ctrl", 2, 1, false, 0x1),
83
+ F("test_mode__ctrl", 3, 1, false, 0xF),
84
+ F("clk_gating__ctrl", 4, 1, false, 0xF),
85
+ F("nvm_bist__ctrl", 5, 1, false, 0x1F),
86
+ F("nvm_bist__num_nvm_words", 6, 1, false, 0x7F),
87
+ F("nvm_bist__start_address", 7, 1, false, 0x7F),
88
+ F("host_if__status", 8, 1, false, 0x1),
89
+ F("pad_i2c_hv__config", 9, 1, false, null),
90
+ F("pad_i2c_hv__extsup_config", 10, 1, false, 0x1),
91
+ F("gpio_hv_pad__ctrl", 11, 1, false, 0x3),
92
+ F("gpio_hv_mux__ctrl", 12, 1, false, 0x1F),
93
+ F("gpio__tio_hv_status", 13, 1, false, 0x3),
94
+ F("gpio__fio_hv_status", 14, 1, false, 0x3),
95
+ F("ana_config__spad_sel_pswidth", 15, 1, false, 0x7),
96
+ F("ana_config__vcsel_pulse_width_offset", 16, 1, false, 0x1F),
97
+ F("ana_config__fast_osc__config_ctrl", 17, 1, false, 0x1),
98
+ F("sigma_estimator__effective_pulse_width_ns", 18, 1, false, null),
99
+ F("sigma_estimator__effective_ambient_width_ns", 19, 1, false, null),
100
+ F("sigma_estimator__sigma_ref_mm", 20, 1, false, null),
101
+ F("algo__crosstalk_compensation_valid_height_mm", 21, 1, false, null),
102
+ F("spare_host_config__static_config_spare_0", 22, 1, false, null),
103
+ F("spare_host_config__static_config_spare_1", 23, 1, false, null),
104
+ F("algo__range_ignore_threshold_mcps", 24, 2, false, null),
105
+ F("algo__range_ignore_valid_height_mm", 26, 1, false, null),
106
+ F("algo__range_min_clip", 27, 1, false, null),
107
+ F("algo__consistency_check__tolerance", 28, 1, false, 0xF),
108
+ F("spare_host_config__static_config_spare_2", 29, 1, false, null),
109
+ F("sd_config__reset_stages_msb", 30, 1, false, 0xF),
110
+ F("sd_config__reset_stages_lsb", 31, 1, false, null),
111
+ ],
112
+ },
113
+ general_config: {
114
+ base: 0x0044,
115
+ size: 22,
116
+ writable: true,
117
+ fields: [
118
+ F("gph_config__stream_count_update_value", 0, 1, false, null),
119
+ F("global_config__stream_divider", 1, 1, false, null),
120
+ F("system__interrupt_config_gpio", 2, 1, false, null),
121
+ F("cal_config__vcsel_start", 3, 1, false, 0x7F),
122
+ F("cal_config__repeat_rate", 4, 2, false, 0xFFF),
123
+ F("global_config__vcsel_width", 6, 1, false, 0x7F),
124
+ F("phasecal_config__timeout_macrop", 7, 1, false, null),
125
+ F("phasecal_config__target", 8, 1, false, null),
126
+ F("phasecal_config__override", 9, 1, false, 0x1),
127
+ F("dss_config__roi_mode_control", 11, 1, false, 0x7),
128
+ F("system__thresh_rate_high", 12, 2, false, null),
129
+ F("system__thresh_rate_low", 14, 2, false, null),
130
+ F("dss_config__manual_effective_spads_select", 16, 2, false, null),
131
+ F("dss_config__manual_block_select", 18, 1, false, null),
132
+ F("dss_config__aperture_attenuation", 19, 1, false, null),
133
+ F("dss_config__max_spads_limit", 20, 1, false, null),
134
+ F("dss_config__min_spads_limit", 21, 1, false, null),
135
+ ],
136
+ },
137
+ timing_config: {
138
+ base: 0x005A,
139
+ size: 23,
140
+ writable: true,
141
+ fields: [
142
+ F("mm_config__timeout_macrop_a_hi", 0, 1, false, 0xF),
143
+ F("mm_config__timeout_macrop_a_lo", 1, 1, false, null),
144
+ F("mm_config__timeout_macrop_b_hi", 2, 1, false, 0xF),
145
+ F("mm_config__timeout_macrop_b_lo", 3, 1, false, null),
146
+ F("range_config__timeout_macrop_a_hi", 4, 1, false, 0xF),
147
+ F("range_config__timeout_macrop_a_lo", 5, 1, false, null),
148
+ F("range_config__vcsel_period_a", 6, 1, false, 0x3F),
149
+ F("range_config__timeout_macrop_b_hi", 7, 1, false, 0xF),
150
+ F("range_config__timeout_macrop_b_lo", 8, 1, false, null),
151
+ F("range_config__vcsel_period_b", 9, 1, false, 0x3F),
152
+ F("range_config__sigma_thresh", 10, 2, false, null),
153
+ F("range_config__min_count_rate_rtn_limit_mcps", 12, 2, false, null),
154
+ F("range_config__valid_phase_low", 14, 1, false, null),
155
+ F("range_config__valid_phase_high", 15, 1, false, null),
156
+ F("system__intermeasurement_period", 18, 4, false, null),
157
+ F("system__fractional_enable", 22, 1, false, 0x1),
158
+ ],
159
+ },
160
+ dynamic_config: {
161
+ base: 0x0071,
162
+ size: 18,
163
+ writable: true,
164
+ fields: [
165
+ F("system__grouped_parameter_hold_0", 0, 1, false, 0x3),
166
+ F("system__thresh_high", 1, 2, false, null),
167
+ F("system__thresh_low", 3, 2, false, null),
168
+ F("system__enable_xtalk_per_quadrant", 5, 1, false, 0x1),
169
+ F("system__seed_config", 6, 1, false, 0x7),
170
+ F("sd_config__woi_sd0", 7, 1, false, null),
171
+ F("sd_config__woi_sd1", 8, 1, false, null),
172
+ F("sd_config__initial_phase_sd0", 9, 1, false, 0x7F),
173
+ F("sd_config__initial_phase_sd1", 10, 1, false, 0x7F),
174
+ F("system__grouped_parameter_hold_1", 11, 1, false, 0x3),
175
+ F("sd_config__first_order_select", 12, 1, false, 0x3),
176
+ F("sd_config__quantifier", 13, 1, false, 0xF),
177
+ F("roi_config__user_roi_centre_spad", 14, 1, false, null),
178
+ F("roi_config__user_roi_requested_global_xy_size", 15, 1, false, null),
179
+ F("system__sequence_config", 16, 1, false, null),
180
+ F("system__grouped_parameter_hold", 17, 1, false, 0x3),
181
+ ],
182
+ },
183
+ system_control: {
184
+ base: 0x0083,
185
+ size: 5,
186
+ writable: true,
187
+ fields: [
188
+ F("power_management__go1_power_force", 0, 1, false, 0x1),
189
+ F("system__stream_count_ctrl", 1, 1, false, 0x1),
190
+ F("firmware__enable", 2, 1, false, 0x1),
191
+ F("system__interrupt_clear", 3, 1, false, 0x3),
192
+ F("system__mode_start", 4, 1, false, null),
193
+ ],
194
+ },
195
+ system_results: {
196
+ base: 0x0088,
197
+ size: 44,
198
+ writable: true,
199
+ fields: [
200
+ F("result__interrupt_status", 0, 1, false, 0x3F),
201
+ F("result__range_status", 1, 1, false, null),
202
+ F("result__report_status", 2, 1, false, 0xF),
203
+ F("result__stream_count", 3, 1, false, null),
204
+ F("result__dss_actual_effective_spads_sd0", 4, 2, false, null),
205
+ F("result__peak_signal_count_rate_mcps_sd0", 6, 2, false, null),
206
+ F("result__ambient_count_rate_mcps_sd0", 8, 2, false, null),
207
+ F("result__sigma_sd0", 10, 2, false, null),
208
+ F("result__phase_sd0", 12, 2, false, null),
209
+ F("result__final_crosstalk_corrected_range_mm_sd0", 14, 2, false, null),
210
+ F("result__peak_signal_count_rate_crosstalk_corrected_mcps_sd0", 16, 2, false, null),
211
+ F("result__mm_inner_actual_effective_spads_sd0", 18, 2, false, null),
212
+ F("result__mm_outer_actual_effective_spads_sd0", 20, 2, false, null),
213
+ F("result__avg_signal_count_rate_mcps_sd0", 22, 2, false, null),
214
+ F("result__dss_actual_effective_spads_sd1", 24, 2, false, null),
215
+ F("result__peak_signal_count_rate_mcps_sd1", 26, 2, false, null),
216
+ F("result__ambient_count_rate_mcps_sd1", 28, 2, false, null),
217
+ F("result__sigma_sd1", 30, 2, false, null),
218
+ F("result__phase_sd1", 32, 2, false, null),
219
+ F("result__final_crosstalk_corrected_range_mm_sd1", 34, 2, false, null),
220
+ F("result__spare_0_sd1", 36, 2, false, null),
221
+ F("result__spare_1_sd1", 38, 2, false, null),
222
+ F("result__spare_2_sd1", 40, 2, false, null),
223
+ F("result__spare_3_sd1", 42, 1, false, null),
224
+ F("result__thresh_info", 43, 1, false, null),
225
+ ],
226
+ },
227
+ core_results: {
228
+ base: 0x00B4,
229
+ size: 33,
230
+ writable: true,
231
+ fields: [
232
+ F("result_core__ambient_window_events_sd0", 0, 4, false, null),
233
+ F("result_core__ranging_total_events_sd0", 4, 4, false, null),
234
+ F("result_core__signal_total_events_sd0", 8, 4, true, null),
235
+ F("result_core__total_periods_elapsed_sd0", 12, 4, false, null),
236
+ F("result_core__ambient_window_events_sd1", 16, 4, false, null),
237
+ F("result_core__ranging_total_events_sd1", 20, 4, false, null),
238
+ F("result_core__signal_total_events_sd1", 24, 4, true, null),
239
+ F("result_core__total_periods_elapsed_sd1", 28, 4, false, null),
240
+ F("result_core__spare_0", 32, 1, false, null),
241
+ ],
242
+ },
243
+ debug_results: {
244
+ base: 0x00D6,
245
+ size: 56,
246
+ writable: true,
247
+ fields: [
248
+ F("phasecal_result__reference_phase", 0, 2, false, null),
249
+ F("phasecal_result__vcsel_start", 2, 1, false, 0x7F),
250
+ F("ref_spad_char_result__num_actual_ref_spads", 3, 1, false, 0x3F),
251
+ F("ref_spad_char_result__ref_location", 4, 1, false, 0x3),
252
+ F("vhv_result__coldboot_status", 5, 1, false, 0x1),
253
+ F("vhv_result__search_result", 6, 1, false, 0x3F),
254
+ F("vhv_result__latest_setting", 7, 1, false, 0x3F),
255
+ F("result__osc_calibrate_val", 8, 2, false, 0x3FF),
256
+ F("ana_config__powerdown_go1", 10, 1, false, 0x3),
257
+ F("ana_config__ref_bg_ctrl", 11, 1, false, 0x3),
258
+ F("ana_config__regdvdd1v2_ctrl", 12, 1, false, 0xF),
259
+ F("ana_config__osc_slow_ctrl", 13, 1, false, 0x7),
260
+ F("test_mode__status", 14, 1, false, 0x1),
261
+ F("firmware__system_status", 15, 1, false, 0x3),
262
+ F("firmware__mode_status", 16, 1, false, null),
263
+ F("firmware__secondary_mode_status", 17, 1, false, null),
264
+ F("firmware__cal_repeat_rate_counter", 18, 2, false, 0xFFF),
265
+ F("gph__system__thresh_high", 22, 2, false, null),
266
+ F("gph__system__thresh_low", 24, 2, false, null),
267
+ F("gph__system__enable_xtalk_per_quadrant", 26, 1, false, 0x1),
268
+ F("gph__spare_0", 27, 1, false, 0x7),
269
+ F("gph__sd_config__woi_sd0", 28, 1, false, null),
270
+ F("gph__sd_config__woi_sd1", 29, 1, false, null),
271
+ F("gph__sd_config__initial_phase_sd0", 30, 1, false, 0x7F),
272
+ F("gph__sd_config__initial_phase_sd1", 31, 1, false, 0x7F),
273
+ F("gph__sd_config__first_order_select", 32, 1, false, 0x3),
274
+ F("gph__sd_config__quantifier", 33, 1, false, 0xF),
275
+ F("gph__roi_config__user_roi_centre_spad", 34, 1, false, null),
276
+ F("gph__roi_config__user_roi_requested_global_xy_size", 35, 1, false, null),
277
+ F("gph__system__sequence_config", 36, 1, false, null),
278
+ F("gph__gph_id", 37, 1, false, 0x1),
279
+ F("system__interrupt_set", 38, 1, false, 0x3),
280
+ F("interrupt_manager__enables", 39, 1, false, 0x1F),
281
+ F("interrupt_manager__clear", 40, 1, false, 0x1F),
282
+ F("interrupt_manager__status", 41, 1, false, 0x1F),
283
+ F("mcu_to_host_bank__wr_access_en", 42, 1, false, 0x1),
284
+ F("power_management__go1_reset_status", 43, 1, false, 0x1),
285
+ F("pad_startup_mode__value_ro", 44, 1, false, 0x3),
286
+ F("pad_startup_mode__value_ctrl", 45, 1, false, 0x3F),
287
+ F("pll_period_us", 46, 4, false, 0x3FFFF),
288
+ F("interrupt_scheduler__data_out", 50, 4, false, null),
289
+ F("nvm_bist__complete", 54, 1, false, 0x1),
290
+ F("nvm_bist__status", 55, 1, false, 0x1),
291
+ ],
292
+ },
293
+ nvm_copy_data: {
294
+ base: 0x010F,
295
+ size: 49,
296
+ writable: true,
297
+ fields: [
298
+ F("identification__model_id", 0, 1, false, null),
299
+ F("identification__module_type", 1, 1, false, null),
300
+ F("identification__revision_id", 2, 1, false, null),
301
+ F("identification__module_id", 3, 2, false, null),
302
+ F("ana_config__fast_osc__trim_max", 5, 1, false, 0x7F),
303
+ F("ana_config__fast_osc__freq_set", 6, 1, false, 0x7),
304
+ F("ana_config__vcsel_trim", 7, 1, false, 0x7),
305
+ F("ana_config__vcsel_selion", 8, 1, false, 0x3F),
306
+ F("ana_config__vcsel_selion_max", 9, 1, false, 0x3F),
307
+ F("protected_laser_safety__lock_bit", 10, 1, false, 0x1),
308
+ F("laser_safety__key", 11, 1, false, 0x7F),
309
+ F("laser_safety__key_ro", 12, 1, false, 0x1),
310
+ F("laser_safety__clip", 13, 1, false, 0x3F),
311
+ F("laser_safety__mult", 14, 1, false, 0x3F),
312
+ F("global_config__spad_enables_rtn_0", 15, 1, false, null),
313
+ F("global_config__spad_enables_rtn_1", 16, 1, false, null),
314
+ F("global_config__spad_enables_rtn_2", 17, 1, false, null),
315
+ F("global_config__spad_enables_rtn_3", 18, 1, false, null),
316
+ F("global_config__spad_enables_rtn_4", 19, 1, false, null),
317
+ F("global_config__spad_enables_rtn_5", 20, 1, false, null),
318
+ F("global_config__spad_enables_rtn_6", 21, 1, false, null),
319
+ F("global_config__spad_enables_rtn_7", 22, 1, false, null),
320
+ F("global_config__spad_enables_rtn_8", 23, 1, false, null),
321
+ F("global_config__spad_enables_rtn_9", 24, 1, false, null),
322
+ F("global_config__spad_enables_rtn_10", 25, 1, false, null),
323
+ F("global_config__spad_enables_rtn_11", 26, 1, false, null),
324
+ F("global_config__spad_enables_rtn_12", 27, 1, false, null),
325
+ F("global_config__spad_enables_rtn_13", 28, 1, false, null),
326
+ F("global_config__spad_enables_rtn_14", 29, 1, false, null),
327
+ F("global_config__spad_enables_rtn_15", 30, 1, false, null),
328
+ F("global_config__spad_enables_rtn_16", 31, 1, false, null),
329
+ F("global_config__spad_enables_rtn_17", 32, 1, false, null),
330
+ F("global_config__spad_enables_rtn_18", 33, 1, false, null),
331
+ F("global_config__spad_enables_rtn_19", 34, 1, false, null),
332
+ F("global_config__spad_enables_rtn_20", 35, 1, false, null),
333
+ F("global_config__spad_enables_rtn_21", 36, 1, false, null),
334
+ F("global_config__spad_enables_rtn_22", 37, 1, false, null),
335
+ F("global_config__spad_enables_rtn_23", 38, 1, false, null),
336
+ F("global_config__spad_enables_rtn_24", 39, 1, false, null),
337
+ F("global_config__spad_enables_rtn_25", 40, 1, false, null),
338
+ F("global_config__spad_enables_rtn_26", 41, 1, false, null),
339
+ F("global_config__spad_enables_rtn_27", 42, 1, false, null),
340
+ F("global_config__spad_enables_rtn_28", 43, 1, false, null),
341
+ F("global_config__spad_enables_rtn_29", 44, 1, false, null),
342
+ F("global_config__spad_enables_rtn_30", 45, 1, false, null),
343
+ F("global_config__spad_enables_rtn_31", 46, 1, false, null),
344
+ F("roi_config__mode_roi_centre_spad", 47, 1, false, null),
345
+ F("roi_config__mode_roi_xy_size", 48, 1, false, null),
346
+ ],
347
+ },
348
+ patch_debug: {
349
+ base: 0x0F20,
350
+ size: 2,
351
+ writable: true,
352
+ fields: [
353
+ F("result__debug_status", 0, 1, false, null),
354
+ F("result__debug_stage", 1, 1, false, null),
355
+ ],
356
+ },
357
+ gph_general_config: {
358
+ base: 0x0F24,
359
+ size: 5,
360
+ writable: true,
361
+ fields: [
362
+ F("gph__system__thresh_rate_high", 0, 2, false, null),
363
+ F("gph__system__thresh_rate_low", 2, 2, false, null),
364
+ F("gph__system__interrupt_config_gpio", 4, 1, false, null),
365
+ ],
366
+ },
367
+ gph_static_config: {
368
+ base: 0x0F2F,
369
+ size: 6,
370
+ writable: true,
371
+ fields: [
372
+ F("gph__dss_config__roi_mode_control", 0, 1, false, 0x7),
373
+ F("gph__dss_config__manual_effective_spads_select", 1, 2, false, null),
374
+ F("gph__dss_config__manual_block_select", 3, 1, false, null),
375
+ F("gph__dss_config__max_spads_limit", 4, 1, false, null),
376
+ F("gph__dss_config__min_spads_limit", 5, 1, false, null),
377
+ ],
378
+ },
379
+ gph_timing_config: {
380
+ base: 0x0F36,
381
+ size: 16,
382
+ writable: true,
383
+ fields: [
384
+ F("gph__mm_config__timeout_macrop_a_hi", 0, 1, false, 0xF),
385
+ F("gph__mm_config__timeout_macrop_a_lo", 1, 1, false, null),
386
+ F("gph__mm_config__timeout_macrop_b_hi", 2, 1, false, 0xF),
387
+ F("gph__mm_config__timeout_macrop_b_lo", 3, 1, false, null),
388
+ F("gph__range_config__timeout_macrop_a_hi", 4, 1, false, 0xF),
389
+ F("gph__range_config__timeout_macrop_a_lo", 5, 1, false, null),
390
+ F("gph__range_config__vcsel_period_a", 6, 1, false, 0x3F),
391
+ F("gph__range_config__vcsel_period_b", 7, 1, false, 0x3F),
392
+ F("gph__range_config__timeout_macrop_b_hi", 8, 1, false, 0xF),
393
+ F("gph__range_config__timeout_macrop_b_lo", 9, 1, false, null),
394
+ F("gph__range_config__sigma_thresh", 10, 2, false, null),
395
+ F("gph__range_config__min_count_rate_rtn_limit_mcps", 12, 2, false, null),
396
+ F("gph__range_config__valid_phase_low", 14, 1, false, null),
397
+ F("gph__range_config__valid_phase_high", 15, 1, false, null),
398
+ ],
399
+ },
400
+ fw_internal: {
401
+ base: 0x0F46,
402
+ size: 2,
403
+ writable: true,
404
+ fields: [
405
+ F("firmware__internal_stream_count_div", 0, 1, false, null),
406
+ F("firmware__internal_stream_counter_val", 1, 1, false, null),
407
+ ],
408
+ },
409
+ };
410
+ /** Python `x % m` for a positive modulus (result in [0, m)). */
411
+ function mod(x, m) {
412
+ const r = x % m;
413
+ return r < 0 ? r + m : r;
414
+ }
415
+ /** Apply the field's mask and width, the way the C codec does (Python `_clip`). */
416
+ function clip(value, f) {
417
+ // Python: int(value); a signed field is taken mod 2^bits (two's complement),
418
+ // then the mask, then the width. An unsigned field's `&` on a negative
419
+ // Python int is the same mod-2^bits view, so one path serves both.
420
+ let v = mod(Math.trunc(value), 2 ** (f.width * 8));
421
+ if (f.mask !== null)
422
+ v = (v & f.mask) >>> 0;
423
+ return v;
424
+ }
425
+ function unsign(value, f) {
426
+ const bits = f.width * 8;
427
+ if (f.signed && value >= 2 ** (bits - 1))
428
+ return value - 2 ** bits;
429
+ return value;
430
+ }
431
+ function readBe(raw, off, width) {
432
+ let v = 0;
433
+ for (let i = 0; i < width; i++)
434
+ v = v * 256 + raw[off + i];
435
+ return v;
436
+ }
437
+ /**
438
+ * One register block's worth of device image, addressed by field name.
439
+ *
440
+ * `v` holds the field values exactly as the Python `RegBlock` does: a write
441
+ * stores the value as given (unclipped — Python keeps `int(value)`), a decode
442
+ * stores it masked and sign-extended; the mask/width are applied only on
443
+ * `encode()`. `v` is sealed, so writing a field the block does not have
444
+ * throws (ES modules are strict mode), as Python's `AttributeError` does.
445
+ * Fields not named in the block (the reserved holes) keep whatever bytes were
446
+ * read, so a read-modify-write round trip is byte-exact.
447
+ */
448
+ export class RegBlock {
449
+ name;
450
+ block;
451
+ v;
452
+ raw;
453
+ constructor(name) {
454
+ this.name = name;
455
+ this.block = BLOCKS[name];
456
+ const v = {};
457
+ for (const f of this.block.fields)
458
+ v[f.name] = 0;
459
+ this.v = Object.seal(v);
460
+ this.raw = new Uint8Array(this.block.size);
461
+ }
462
+ decode(raw) {
463
+ if (raw.length < this.block.size) {
464
+ throw new RangeError(`${this.name}: ${raw.length} bytes, need ${this.block.size}`);
465
+ }
466
+ this.raw = raw.slice(0, this.block.size);
467
+ for (const f of this.block.fields) {
468
+ let value = readBe(raw, f.off, f.width);
469
+ if (f.mask !== null)
470
+ value = (value & f.mask) >>> 0;
471
+ this.v[f.name] = unsign(value, f);
472
+ }
473
+ return this;
474
+ }
475
+ encode() {
476
+ const buf = this.raw.slice();
477
+ for (const f of this.block.fields) {
478
+ let x = clip(this.v[f.name], f);
479
+ for (let i = f.width - 1; i >= 0; i--) {
480
+ buf[f.off + i] = x % 256;
481
+ x = Math.floor(x / 256);
482
+ }
483
+ }
484
+ return buf;
485
+ }
486
+ get base() {
487
+ return this.block.base;
488
+ }
489
+ get size() {
490
+ return this.block.size;
491
+ }
492
+ items() {
493
+ return this.block.fields.map((f) => [f.name, this.v[f.name]]);
494
+ }
495
+ }
496
+ //# sourceMappingURL=regs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regs.js","sourceRoot":"","sources":["../../../../../src/sensors/vl53lx/uld/bare/regs.ts"],"names":[],"mappings":"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,CAAC,CAAC,mCAAmC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC1D,CAAC,CAAC,mCAAmC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC1D,CAAC,CAAC,mCAAmC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC1D,CAAC,CAAC,mCAAmC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC1D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC;YAC3D,CAAC,CAAC,oCAAoC,EAAE,EAAE,EAAE,CAAC,EAAE,K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"}
@@ -0,0 +1,15 @@
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 declare const TUNING: Readonly<Record<string, number>>;
14
+ export declare const DEFAULTS: Readonly<Record<string, number>>;
15
+ //# sourceMappingURL=tuning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuning.d.ts","sourceRoot":"","sources":["../../../../../src/sensors/vl53lx/uld/bare/tuning.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqGnD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA2LrD,CAAC"}