Skip to content

Device: download and cache ArduPilot device IDs - #3859

Draft
Sharanie0612 wants to merge 2 commits into
ArduPilot:masterfrom
ZeroOne-Aero:feat/devid-json
Draft

Sharanie0612 wants to merge 2 commits into
ArduPilot:masterfrom
ZeroOne-Aero:feat/devid-json

Conversation

@Sharanie0612

@Sharanie0612 Sharanie0612 commented Nov 5, 2026 •

Copy link
Copy Markdown

Hardware IDs display numeric values for IMU types absent from the local enums. Read names from ArduPilot's generated devid.json so new catalog entries can be recognized without adding C# enum members.

Related to #3778. Following the feedback on this PR, the catalog is downloaded and cached locally; it is no longer embedded or shipped with the application.

  • Load the local cache into a category/type lookup used by both device string output and the Hardware IDs page.
  • Check for updates in the background at startup, using the existing download helper and data directory. The seven-day cache lifetime follows the existing log/parameter metadata convention.
  • Validate downloads before replacing the cached file. Failed updates retain the previous valid cache; unavailable or unknown entries fall back to the existing enum/numeric display.
  • Preserve the existing parameter classification, Device ID decoding and Hardware IDs DroneCAN SENSOR_ID# handling.

Validation: Windows Release build and MSI packaging succeeded. Administrative MSI extraction and hashes of the packaged EXE/DLL files were verified on the Windows runner. The downloaded MSI SHA-256 was also checked locally. Physical flight-controller validation is still pending.

Kept as a draft for discussion of the download/cache approach.

@meee1

meee1 commented Nov 5, 2026

Copy link
Copy Markdown
Collaborator

it should be downloaded and cached, not embedded

@Sharanie0612 Sharanie0612 changed the title Device: use bundled ArduPilot device ID catalog Device: download and cache ArduPilot device IDs Nov 5, 2026
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.

2 participants