Add the Ver message parser and a fixed UbxQuery (was unused and had a
broken semaphore/state bug) to poll MON-VER once on connect. The CLI
prints hw/sw version and extensions; the GUI polls it per receiver,
pre-fills the read-only ID field with a connection counter and
rewrites it from the MOD= extension once the device answers, and
propagates the resolved display name to the Sky and Plot tabs so they
no longer show the stale placeholder ID.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XM4FNUjhu9x8df5Dp1hHvd
- Fix _nice_ticks: use floor for first tick and ceil for last tick so the
tick range always fully brackets the data; data was previously clipped
when the maximum fell between two nice tick values
- Add 5% headroom padding so data does not sit flush against plot edges
- Add 'Visible Sats' and 'Used Sats' y-axis modes (global, like pDOP)
- Right-click context menu on plot canvas: Save as PNG and Copy to clipboard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>