diff --git a/cli/firmware/flash.go b/cli/firmware/flash.go index 292c7f2..5c3eca9 100644 --- a/cli/firmware/flash.go +++ b/cli/firmware/flash.go @@ -171,7 +171,7 @@ func updateFirmwareWithPlugin(uploader *plugin.FwUploader, fwPath *paths.Path) ( stdout = os.Stdout stderr = os.Stderr } - res, err := uploader.FlashFirmware(commonFlags.Address, fwPath, stdout, stderr) + res, err := uploader.FlashFirmware(commonFlags.Address, commonFlags.Fqbn, fwPath, stdout, stderr) if err != nil { return nil, fmt.Errorf("couldn't update firmware: %s", err) } diff --git a/cli/firmware/getversion.go b/cli/firmware/getversion.go index 10072c7..592173b 100644 --- a/cli/firmware/getversion.go +++ b/cli/firmware/getversion.go @@ -89,7 +89,7 @@ func getVersionWithPlugin(uploader *plugin.FwUploader) *flasher.FlashResult { stdout = os.Stdout stderr = os.Stderr } - res, err := uploader.GetFirmwareVersion(commonFlags.Address, stdout, stderr) + res, err := uploader.GetFirmwareVersion(commonFlags.Address, commonFlags.Fqbn, stdout, stderr) if err != nil { feedback.Fatal(fmt.Sprintf("Couldn't get firmware version: %s", err), feedback.ErrGeneric) } diff --git a/plugin/plugin.go b/plugin/plugin.go index 3c9772c..3d711a8 100644 --- a/plugin/plugin.go +++ b/plugin/plugin.go @@ -84,11 +84,14 @@ func (uploader *FwUploader) QueryAPIVersion() (int, error) { } // GetFirmwareVersion runs the plugin to obtain the version of the installed firmware -func (uploader *FwUploader) GetFirmwareVersion(portAddress string, stdout, stderr io.Writer) (*GetFirmwareVersionResult, error) { +func (uploader *FwUploader) GetFirmwareVersion(portAddress, fqbn string, stdout, stderr io.Writer) (*GetFirmwareVersionResult, error) { args := []string{"firmware", "get-version"} if portAddress != "" { args = append(args, "-p", portAddress) } + if fqbn != "" { + args = append(args, "-b", fqbn) + } execStdout, execStderr, execErr := uploader.exec(stdout, stderr, args...) res := &GetFirmwareVersionResult{ @@ -126,11 +129,14 @@ type GetFirmwareVersionResult struct { } // FlashFirmware runs the plugin to flash the selected firmware -func (uploader *FwUploader) FlashFirmware(portAddress string, firmwarePath *paths.Path, stdout, stderr io.Writer) (*FlashFirmwareResult, error) { +func (uploader *FwUploader) FlashFirmware(portAddress, fqbn string, firmwarePath *paths.Path, stdout, stderr io.Writer) (*FlashFirmwareResult, error) { args := []string{"firmware", "flash", firmwarePath.String()} if portAddress != "" { args = append(args, "-p", portAddress) } + if fqbn != "" { + args = append(args, "-b", fqbn) + } execStdout, execStderr, execErr := uploader.exec(stdout, stderr, args...) res := &FlashFirmwareResult{