diff --git a/builder/nrfutil.go b/builder/nrfutil.go index 6f33eb7c65..d7019f120e 100644 --- a/builder/nrfutil.go +++ b/builder/nrfutil.go @@ -19,7 +19,7 @@ type jsonManifest struct { DataFile string `json:"dat_file"` InitPacketData nrfInitPacket `json:"init_packet_data"` } `json:"application"` - DFUVersion float64 `json:"dfu_version"` // yes, this is a JSON number, not a string + DFUVersion float64 `json:"dfu_version,omitempty"` // yes, this is a JSON number, not a string } `json:"manifest"` } @@ -93,7 +93,19 @@ func makeDFUFirmwareImage(options *compileopts.Options, infile, outfile string) manifest.Manifest.Application.BinaryFile = "application.bin" manifest.Manifest.Application.DataFile = "application.dat" manifest.Manifest.Application.InitPacketData = initPacket - manifest.Manifest.DFUVersion = 0.5 + + // use build tag "nrf_open_dfu" to indicate open DFU format, otherwise defaults to secure DFU + openDFU := false + for _, tag := range options.Tags { + if tag == "nrf_open_dfu" { + openDFU = true + break + } + } + + if !openDFU { + manifest.Manifest.DFUVersion = 0.5 + } // Write the JSON manifest to the file. jsonw, err := w.Create("manifest.json")