You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`l`| Load image(s) for calibration (shows coverage bar for ~2s)|
67
+
|`c`| Calibration quality check|
68
+
|`v`|**Force** calibration quality check|
69
+
|`n`| Apply **NEW** calibration (when available)|
70
+
|`o`| Apply **PREVIOUS** calibration (rollback)|
71
+
|`p`|**Flash NEW/current** calibration to EEPROM|
72
+
|`k`|**Flash PREVIOUS** calibration to EEPROM|
73
+
|`f`|**Flash FACTORY** calibration to EEPROM|
71
74
|`w / a / s`| Move ROI up/left/down (Depth HUD).<br>**Note:**`d` is reserved for *Force recalibrate*. |
72
-
|`z / x`| ROI size − / + |
75
+
|`z / x`| ROI size − / +|
73
76
74
-
> **Status banners** appear in the **center** after critical actions (e.g., applying/ flashing calibration) and auto-hide after ~2s.
77
+
> **Status banners** appear in the **center** after critical actions (e.g., applying/ flashing calibration) and auto-hide after ~2s.\
75
78
> **Modals** (quality/recalibration) also appear centered and auto-hide after ~3.5s or on any key press.
76
79
77
80
## On‑screen UI Cheat Sheet
78
81
79
-
-**Help panel** (top-left): quick reference of all keys (toggle with `h`).
80
-
-**Coverage bar** (center): big progress bar while collecting frames; also shown briefly (≈2s) after pressing `l`.
81
-
-**Quality modal** (center): three colored segments (green/yellow/red) with a **downward** pointer (`▼`) indicating rotation-change severity; optional line with depth-error deltas (@1m/2m/5m/10m).
82
-
-**Recalibration modal** (center): “Recalibration complete”, significant-axis warning (if any), Euler angles, and depth-error deltas; suggests flashing if the change is significant.
82
+
-**Help panel** (top-left): quick reference of all keys (toggle with `h`).
83
+
-**Coverage bar** (center): big progress bar while collecting frames; also shown briefly (≈2s) after pressing `l`.
84
+
-**Quality modal** (center): three colored segments (green/yellow/red) with a **downward** pointer (`▼`) indicating rotation-change severity; optional line with depth-error deltas (@1m/2m/5m/10m).
85
+
-**Recalibration modal** (center): “Recalibration complete”, significant-axis warning (if any), Euler angles, and depth-error deltas; suggests flashing if the change is significant.
83
86
-**Depth HUD** (inline): shows depth/disp at the ROI center and mean within a tiny box; move with `w/a/s` (and resize with `z/x`).
84
87
85
88
## Output (console)
@@ -93,7 +96,7 @@ Use these keys while the app is running (focus the browser visualizer window):
93
96
94
97
## Tips & Notes
95
98
96
-
- To **flash** (EEPROM) from the UI you must pass the `device` into the controller (`dyn_ctrl.set_device(device)`).
99
+
- To **flash** (EEPROM) from the UI you must pass the `device` into the controller (`dyn_ctrl.set_device(device)`).
97
100
- If you link **disparity** instead of **depth** to the controller, call `dyn_ctrl.set_depth_units_is_mm(False)` so the HUD labels use “Disp” instead of meters.
98
101
- The coverage percentage accepts either `[0..1]` or `[0..100]` from the device; the controller auto-detects and normalizes.
99
102
- The **Collecting frames** bar hides automatically 2s after pressing `l`; during active recalibration (`r`/`d`) it stays up until calibration finishes.
If you use this as a base for your own app, the heart of the UX is `utils/dynamic_controler.py` — it wires `DynamicCalibration` queues and renders all overlays via `ImgAnnotations` so you don’t need `cv2.imshow()`.
116
+
If you use this as a base for your own app, the heart of the UX is `utils/dynamic_controler.py` — it wires `DynamicCalibration` queues and renders all overlays via `ImgAnnotations` so you don’t need `cv2.imshow()`.
0 commit comments