Skip to content

Add Doodle Labs Mesh Rider radio support - #332

Open
harelb wants to merge 2 commits into
mainfrom
feature/doodlelabs
Open

Add Doodle Labs Mesh Rider radio support#332
harelb wants to merge 2 commits into
mainfrom
feature/doodlelabs

Conversation

@harelb

@harelb harelb commented Apr 17, 2026

Copy link
Copy Markdown
Contributor

Adds parallel support for Doodle Labs Mesh Rider radios alongside the existing Silvus monitoring, since the fleet is transitioning to Doodle Labs hardware. Auto-detects the radio type from topology.yaml, with an optional --radio-type CLI override on fleet-adt4.

New diagnostic scripts (network_diagnostics/scripts):

  • doodlelabs_status.sh — standalone CLI equivalent to silvus_status.sh, supporting status/topology/discover/linkstate/battery-watch/radio-config/ ssh commands against the HTTPS/ubus API
  • doodlelabs_mesh_viz.py — live force-directed mesh topology visualizer served as a local web dashboard (Python stdlib + vis-on-canvas)

Fleet manager integration (dcist_launch_system):

  • New helpers in fleet_helpers.py: get_doodlelabs_link_quality, get_doodlelabs_radio_details, check/add_doodlelabs_route, and get_active_radio_type(topology, override) for dispatch
  • get_remote_status now accepts doodlelabs_ips/doodlelabs_creds and emits a neutral '---RADIO---' section (backward-compatible with '---SILVUS---' for older remote machines)
  • MonitorScreen refresh/check_zenoh/silvus_detail/check_silvus_routes actions dispatch to the correct API based on active radio type; the F4 detail view renders an RSSI matrix from sta_stats plus batman-adv TQ from mesh_stats; route-check help message now also prints a template command when the LOCAL machine has no radio interface
  • New --radio-type {auto,silvus,doodlelabs,none} CLI flag plumbed through TuiContext.radio_type_override; default 'auto' infers from whichever *_radios section is populated

topology.yaml:

  • New doodlelabs_radios section with user/password/ip per radio
  • Fix typo: sequia -> sequoia in machines and docs

Adds parallel support for Doodle Labs Mesh Rider radios alongside the
existing Silvus monitoring, since the fleet is transitioning to Doodle
Labs hardware. Auto-detects the radio type from topology.yaml, with an
optional --radio-type CLI override on fleet-adt4.

New diagnostic scripts (network_diagnostics/scripts):
* doodlelabs_status.sh — standalone CLI equivalent to silvus_status.sh,
  supporting status/topology/discover/linkstate/battery-watch/radio-config/
  ssh commands against the HTTPS/ubus API
* doodlelabs_mesh_viz.py — live force-directed mesh topology visualizer
  served as a local web dashboard (Python stdlib + vis-on-canvas)

Fleet manager integration (dcist_launch_system):
* New helpers in fleet_helpers.py: get_doodlelabs_link_quality,
  get_doodlelabs_radio_details, check/add_doodlelabs_route, and
  get_active_radio_type(topology, override) for dispatch
* get_remote_status now accepts doodlelabs_ips/doodlelabs_creds and
  emits a neutral '---RADIO---' section (backward-compatible with
  '---SILVUS---' for older remote machines)
* MonitorScreen refresh/check_zenoh/silvus_detail/check_silvus_routes
  actions dispatch to the correct API based on active radio type; the
  F4 detail view renders an RSSI matrix from sta_stats plus batman-adv
  TQ from mesh_stats; route-check help message now also prints a
  template command when the LOCAL machine has no radio interface
* New --radio-type {auto,silvus,doodlelabs,none} CLI flag plumbed
  through TuiContext.radio_type_override; default 'auto' infers from
  whichever *_radios section is populated

topology.yaml:
* New doodlelabs_radios section with user/password/ip per radio
* Fix typo: sequia -> sequoia in machines and docs
@harelb
harelb requested a review from fishberg April 17, 2026 03:16
@harelb
harelb marked this pull request as ready for review April 17, 2026 03:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant