Skip to content

Commit dfededb

Browse files
committed
enable programmer output to be printed in json
1 parent 6b4f285 commit dfededb

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

cli/firmware/flash.go

+23-3
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,11 @@ func run(cmd *cobra.Command, args []string) {
169169
}
170170

171171
// Flash loader Sketch
172-
flashOut := new(bytes.Buffer)
173-
flashErr := new(bytes.Buffer)
172+
programmerOut := new(bytes.Buffer)
173+
programmerErr := new(bytes.Buffer)
174174
// var err error
175175
if feedback.GetFormat() == feedback.JSON {
176-
err = programmer.Flash(commandLine, flashOut, flashErr)
176+
err = programmer.Flash(commandLine, programmerOut, programmerErr)
177177
} else {
178178
err = programmer.Flash(commandLine, os.Stdout, os.Stderr)
179179
}
@@ -206,4 +206,24 @@ func run(cmd *cobra.Command, args []string) {
206206
feedback.Errorf("Error during firmware flashing: %s", err)
207207
os.Exit(errorcodes.ErrGeneric)
208208
}
209+
210+
// Print the results
211+
feedback.PrintResult(&flashResult{
212+
ProgrammerOut: programmerOut.String(),
213+
ProgrammerErr: programmerErr.String(),
214+
})
215+
}
216+
217+
type flashResult struct {
218+
ProgrammerOut string
219+
ProgrammerErr string
220+
}
221+
222+
func (r *flashResult) Data() interface{} {
223+
return r
224+
}
225+
226+
func (r *flashResult) String() string {
227+
// The output is already printed via os.Stdout/os.Stdin
228+
return ""
209229
}

0 commit comments

Comments
 (0)