Skip to content

Add link to Setup tab for users to download the connected drone's Cloud Build firmware binary (corresponding Log and Configuration already supported) #4444

@DavidAnson

Description

@DavidAnson

Is your feature request related to a problem? Please describe

Someone who purchases a RTF or BNF drone with Betaflight already installed may want to save a copy of the factory-installed firmware build before attempting to flash their own - in case anything goes wrong. Some manufacturers provide a link to their firmware build, but not all do. And in the case of buying a drone from someone else OR forgetting what you did 3 months ago, there's currently no good option.

Describe the solution you'd like

For firmware builds produced by Cloud Build, the Betaflight Configurator already provides links to the corresponding build log and configuration:

const buildRoot = `https://build.betaflight.com/api/builds/${FC.CONFIG.buildKey}`;
const buildConfig = `<span class="buildInfoBtn" title="${i18n.getMessage(
"initialSetupInfoBuildConfig",
)}: ${buildRoot}/json">
<a href="${buildRoot}/json" target="_blank"><strong>${i18n.getMessage(
"initialSetupInfoBuildConfig",
)}</strong></a></span>`;
const buildLog = `<span class="buildInfoBtn" title="${i18n.getMessage(
"initialSetupInfoBuildLog",
)}: ${buildRoot}/log">
<a href="${buildRoot}/log" target="_blank"><strong>${i18n.getMessage(
"initialSetupInfoBuildLog",
)}</strong></a></span>`;
. These links are created by calling the Betaflight Build API and passing the current image's build key to the /json and /log endpoints. It looks like that API also provides access to the firmware binary via the /hex endpoint: https://build.betaflight.com/api/index.html. I've verified this works for 2 different drones/manufacturers.

It would be nice to expose this link in the UI for the benefit of folks who don't grovel Swagger docs for fun. :) If you agree and nobody has time to do this and the Configurator can be developed in a GitHub Codespace, I could send a PR for this - it appears to be a relatively simple UI-only change that works the same as the existing two links (which are already suppressed for non-Cloud Build firmware).

Describe alternatives you've considered

N/A

Other information

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions