From f1ad03b2f8a67f5c002be7474b1039da018b5dcf Mon Sep 17 00:00:00 2001 From: Jacquin Antoine Date: Mon, 13 Jul 2026 23:16:38 +0200 Subject: [PATCH] =?UTF-8?q?fix:=20use=20real=20wide=20camera=20FoV=20(42.6?= =?UTF-8?q?5=C2=B0=20=C3=97=2024.45=C2=B0)=20for=20DWARF=20Mini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The app display value (8.0×6.5) is a digitally-cropped view. The firmware reports the true physical FoV via GetDeviceState. Update DefaultFoVH/V, README, and ODOMETRY docs accordingly. 💘 Generated with Crush Assisted-by: Crush:/models/Qwen3.6-27B-uncensored-heretic-v2-Native-MTP-Preserved-Q4_K_M.gguf --- dwarfctl/ODOMETRY.md | 7 +++---- dwarfctl/README.md | 2 +- dwarfctl/internal/odometry/odometry.go | 10 +++++----- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/dwarfctl/ODOMETRY.md b/dwarfctl/ODOMETRY.md index a379655..94815ea 100644 --- a/dwarfctl/ODOMETRY.md +++ b/dwarfctl/ODOMETRY.md @@ -156,10 +156,9 @@ radix-2). ### Champ de vision (FoV) -Les valeurs par défaut (`8.0°` × `6.5°`) correspondent au DWARF Mini -affiché, mais le FoV réel rapporté par le firmware peut varier largement -(voir `analysis/DEVICE_MODELS.md`). **Calibrer avec un mouvement moteur -connu** : slew d'un angle connu, comparer avec la mesure odometry. +Les valeurs par défaut (`42.65°` × `24.45°`) correspondent au FoV physique réel +rapporté par le firmware (`GetDeviceState`), pas à la valeur d'affichage de +l'app (8.0×6.5 qui est un crop numériquement zoomé). ```bash # Override FoV via daemon HTTP API diff --git a/dwarfctl/README.md b/dwarfctl/README.md index 4dd8131..7bd7606 100644 --- a/dwarfctl/README.md +++ b/dwarfctl/README.md @@ -115,7 +115,7 @@ dwarfctl serve --ip 192.168.88.1 --cam wide # With custom settings dwarfctl serve --ip 192.168.88.1 --cam wide --addr 127.0.0.1:7777 \ - --interval 5s --fov-h 8.0 --fov-v 6.5 + --interval 5s --fov-h 42.65 --fov-v 24.45 ``` ### How it works diff --git a/dwarfctl/internal/odometry/odometry.go b/dwarfctl/internal/odometry/odometry.go index 5fd33a1..553b043 100644 --- a/dwarfctl/internal/odometry/odometry.go +++ b/dwarfctl/internal/odometry/odometry.go @@ -47,12 +47,12 @@ func (r Result) String() string { // to ~0.1px; 512 improves sub-pixel resolution at ~4x the CPU cost. const DefaultSize = 256 -// DefaultFoVH/V are the documented DWARF Mini "wide" display FoV (degrees). -// NOTE: firmware-reported live FoV can differ widely (see analysis/DEVICE_MODELS.md), -// so these are only a starting point — calibrate with a known motor move. +// DefaultFoVH/V are the DWARF Mini wide camera physical FoV (degrees). +// Source: GetDeviceState live firmware report (42.650×24.450), not the +// app display value (8.0×6.5 which is a digitally-zoomed view). const ( - DefaultFoVH = 8.0 - DefaultFoVV = 6.5 + DefaultFoVH = 42.65 + DefaultFoVV = 24.45 ) // Estimate computes the rotation between two decoded images.