diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index b95fef6ac22..23380ff2e24 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -258,6 +258,19 @@ func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadReq, stream rpc.ArduinoCor return stream.Send(resp) } +// UploadUsingProgrammer FIXMEDOC +func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerReq, stream rpc.ArduinoCore_UploadUsingProgrammerServer) error { + resp, err := upload.UsingProgrammer( + stream.Context(), req, + utils.FeedStreamTo(func(data []byte) { stream.Send(&rpc.UploadUsingProgrammerResp{OutStream: data}) }), + utils.FeedStreamTo(func(data []byte) { stream.Send(&rpc.UploadUsingProgrammerResp{ErrStream: data}) }), + ) + if err != nil { + return err + } + return stream.Send(resp) +} + // BurnBootloader FIXMEDOC func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderReq, stream rpc.ArduinoCore_BurnBootloaderServer) error { resp, err := upload.BurnBootloader( diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 858549e42ee..d0f231edcec 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -71,6 +71,27 @@ func Upload(ctx context.Context, req *rpc.UploadReq, outStream io.Writer, errStr return &rpc.UploadResp{}, nil } +// UsingProgrammer FIXMEDOC +func UsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerReq, outStream io.Writer, errStream io.Writer) (*rpc.UploadUsingProgrammerResp, error) { + logrus.Tracef("Upload using programmer %s on %s started", req.GetSketchPath(), req.GetFqbn()) + + if req.GetProgrammer() == "" { + return nil, errors.New("programmer not specified") + } + _, err := Upload(ctx, &rpc.UploadReq{ + Instance: req.GetInstance(), + SketchPath: req.GetSketchPath(), + ImportFile: req.GetImportFile(), + ImportDir: req.GetImportDir(), + Fqbn: req.GetFqbn(), + Port: req.GetPort(), + Programmer: req.GetProgrammer(), + Verbose: req.GetVerbose(), + Verify: req.GetVerify(), + }, outStream, errStream) + return &rpc.UploadUsingProgrammerResp{}, err +} + func runProgramAction(pm *packagemanager.PackageManager, sketch *sketches.Sketch, importFile, importDir, fqbnIn, port string, diff --git a/rpc/commands/commands.pb.go b/rpc/commands/commands.pb.go index 0b5b690bad0..b6d2d818592 100644 --- a/rpc/commands/commands.pb.go +++ b/rpc/commands/commands.pb.go @@ -1361,7 +1361,7 @@ var file_commands_commands_proto_rawDesc = []byte{ 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x22, 0x13, 0x0a, 0x11, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x32, 0xda, 0x1a, + 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x32, 0xdd, 0x1b, 0x0a, 0x0b, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x12, 0x4f, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, @@ -1495,91 +1495,99 @@ var file_commands_commands_proto_rawDesc = []byte{ 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0xa2, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x3d, + 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x80, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0xa2, 0x01, 0x0a, 0x21, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x6b, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x75, 0x72, + 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x3e, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6b, 0x0a, - 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, + 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x69, 0x0a, + 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, - 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x69, 0x0a, 0x0e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2a, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x63, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, 0x0f, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x2b, 0x2e, + 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x6e, 0x0a, + 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x2c, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x6b, 0x0a, 0x0e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x2a, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x2c, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x11, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, - 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x6b, 0x0a, + 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, + 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2e, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x71, 0x0a, 0x10, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, - 0x12, 0x8d, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x66, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, 0x2a, 0x2e, 0x63, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x30, 0x01, 0x12, 0x74, 0x0a, + 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, + 0x6c, 0x6c, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x66, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x1a, + 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x12, 0x60, 0x0a, 0x0b, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2d, 0x5a, + 0x2b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, + 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1633,38 +1641,40 @@ var file_commands_commands_proto_goTypes = []interface{}{ (*PlatformUninstallReq)(nil), // 34: cc.arduino.cli.commands.PlatformUninstallReq (*PlatformUpgradeReq)(nil), // 35: cc.arduino.cli.commands.PlatformUpgradeReq (*UploadReq)(nil), // 36: cc.arduino.cli.commands.UploadReq - (*ListProgrammersAvailableForUploadReq)(nil), // 37: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq - (*BurnBootloaderReq)(nil), // 38: cc.arduino.cli.commands.BurnBootloaderReq - (*PlatformSearchReq)(nil), // 39: cc.arduino.cli.commands.PlatformSearchReq - (*PlatformListReq)(nil), // 40: cc.arduino.cli.commands.PlatformListReq - (*LibraryDownloadReq)(nil), // 41: cc.arduino.cli.commands.LibraryDownloadReq - (*LibraryInstallReq)(nil), // 42: cc.arduino.cli.commands.LibraryInstallReq - (*LibraryUninstallReq)(nil), // 43: cc.arduino.cli.commands.LibraryUninstallReq - (*LibraryUpgradeAllReq)(nil), // 44: cc.arduino.cli.commands.LibraryUpgradeAllReq - (*LibraryResolveDependenciesReq)(nil), // 45: cc.arduino.cli.commands.LibraryResolveDependenciesReq - (*LibrarySearchReq)(nil), // 46: cc.arduino.cli.commands.LibrarySearchReq - (*LibraryListReq)(nil), // 47: cc.arduino.cli.commands.LibraryListReq - (*BoardDetailsResp)(nil), // 48: cc.arduino.cli.commands.BoardDetailsResp - (*BoardAttachResp)(nil), // 49: cc.arduino.cli.commands.BoardAttachResp - (*BoardListResp)(nil), // 50: cc.arduino.cli.commands.BoardListResp - (*BoardListAllResp)(nil), // 51: cc.arduino.cli.commands.BoardListAllResp - (*CompileResp)(nil), // 52: cc.arduino.cli.commands.CompileResp - (*PlatformInstallResp)(nil), // 53: cc.arduino.cli.commands.PlatformInstallResp - (*PlatformDownloadResp)(nil), // 54: cc.arduino.cli.commands.PlatformDownloadResp - (*PlatformUninstallResp)(nil), // 55: cc.arduino.cli.commands.PlatformUninstallResp - (*PlatformUpgradeResp)(nil), // 56: cc.arduino.cli.commands.PlatformUpgradeResp - (*UploadResp)(nil), // 57: cc.arduino.cli.commands.UploadResp - (*ListProgrammersAvailableForUploadResp)(nil), // 58: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp - (*BurnBootloaderResp)(nil), // 59: cc.arduino.cli.commands.BurnBootloaderResp - (*PlatformSearchResp)(nil), // 60: cc.arduino.cli.commands.PlatformSearchResp - (*PlatformListResp)(nil), // 61: cc.arduino.cli.commands.PlatformListResp - (*LibraryDownloadResp)(nil), // 62: cc.arduino.cli.commands.LibraryDownloadResp - (*LibraryInstallResp)(nil), // 63: cc.arduino.cli.commands.LibraryInstallResp - (*LibraryUninstallResp)(nil), // 64: cc.arduino.cli.commands.LibraryUninstallResp - (*LibraryUpgradeAllResp)(nil), // 65: cc.arduino.cli.commands.LibraryUpgradeAllResp - (*LibraryResolveDependenciesResp)(nil), // 66: cc.arduino.cli.commands.LibraryResolveDependenciesResp - (*LibrarySearchResp)(nil), // 67: cc.arduino.cli.commands.LibrarySearchResp - (*LibraryListResp)(nil), // 68: cc.arduino.cli.commands.LibraryListResp + (*UploadUsingProgrammerReq)(nil), // 37: cc.arduino.cli.commands.UploadUsingProgrammerReq + (*ListProgrammersAvailableForUploadReq)(nil), // 38: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq + (*BurnBootloaderReq)(nil), // 39: cc.arduino.cli.commands.BurnBootloaderReq + (*PlatformSearchReq)(nil), // 40: cc.arduino.cli.commands.PlatformSearchReq + (*PlatformListReq)(nil), // 41: cc.arduino.cli.commands.PlatformListReq + (*LibraryDownloadReq)(nil), // 42: cc.arduino.cli.commands.LibraryDownloadReq + (*LibraryInstallReq)(nil), // 43: cc.arduino.cli.commands.LibraryInstallReq + (*LibraryUninstallReq)(nil), // 44: cc.arduino.cli.commands.LibraryUninstallReq + (*LibraryUpgradeAllReq)(nil), // 45: cc.arduino.cli.commands.LibraryUpgradeAllReq + (*LibraryResolveDependenciesReq)(nil), // 46: cc.arduino.cli.commands.LibraryResolveDependenciesReq + (*LibrarySearchReq)(nil), // 47: cc.arduino.cli.commands.LibrarySearchReq + (*LibraryListReq)(nil), // 48: cc.arduino.cli.commands.LibraryListReq + (*BoardDetailsResp)(nil), // 49: cc.arduino.cli.commands.BoardDetailsResp + (*BoardAttachResp)(nil), // 50: cc.arduino.cli.commands.BoardAttachResp + (*BoardListResp)(nil), // 51: cc.arduino.cli.commands.BoardListResp + (*BoardListAllResp)(nil), // 52: cc.arduino.cli.commands.BoardListAllResp + (*CompileResp)(nil), // 53: cc.arduino.cli.commands.CompileResp + (*PlatformInstallResp)(nil), // 54: cc.arduino.cli.commands.PlatformInstallResp + (*PlatformDownloadResp)(nil), // 55: cc.arduino.cli.commands.PlatformDownloadResp + (*PlatformUninstallResp)(nil), // 56: cc.arduino.cli.commands.PlatformUninstallResp + (*PlatformUpgradeResp)(nil), // 57: cc.arduino.cli.commands.PlatformUpgradeResp + (*UploadResp)(nil), // 58: cc.arduino.cli.commands.UploadResp + (*UploadUsingProgrammerResp)(nil), // 59: cc.arduino.cli.commands.UploadUsingProgrammerResp + (*ListProgrammersAvailableForUploadResp)(nil), // 60: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp + (*BurnBootloaderResp)(nil), // 61: cc.arduino.cli.commands.BurnBootloaderResp + (*PlatformSearchResp)(nil), // 62: cc.arduino.cli.commands.PlatformSearchResp + (*PlatformListResp)(nil), // 63: cc.arduino.cli.commands.PlatformListResp + (*LibraryDownloadResp)(nil), // 64: cc.arduino.cli.commands.LibraryDownloadResp + (*LibraryInstallResp)(nil), // 65: cc.arduino.cli.commands.LibraryInstallResp + (*LibraryUninstallResp)(nil), // 66: cc.arduino.cli.commands.LibraryUninstallResp + (*LibraryUpgradeAllResp)(nil), // 67: cc.arduino.cli.commands.LibraryUpgradeAllResp + (*LibraryResolveDependenciesResp)(nil), // 68: cc.arduino.cli.commands.LibraryResolveDependenciesResp + (*LibrarySearchResp)(nil), // 69: cc.arduino.cli.commands.LibrarySearchResp + (*LibraryListResp)(nil), // 70: cc.arduino.cli.commands.LibraryListResp } var file_commands_commands_proto_depIdxs = []int32{ 22, // 0: cc.arduino.cli.commands.InitResp.instance:type_name -> cc.arduino.cli.commands.Instance @@ -1706,51 +1716,53 @@ var file_commands_commands_proto_depIdxs = []int32{ 34, // 36: cc.arduino.cli.commands.ArduinoCore.PlatformUninstall:input_type -> cc.arduino.cli.commands.PlatformUninstallReq 35, // 37: cc.arduino.cli.commands.ArduinoCore.PlatformUpgrade:input_type -> cc.arduino.cli.commands.PlatformUpgradeReq 36, // 38: cc.arduino.cli.commands.ArduinoCore.Upload:input_type -> cc.arduino.cli.commands.UploadReq - 37, // 39: cc.arduino.cli.commands.ArduinoCore.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq - 38, // 40: cc.arduino.cli.commands.ArduinoCore.BurnBootloader:input_type -> cc.arduino.cli.commands.BurnBootloaderReq - 39, // 41: cc.arduino.cli.commands.ArduinoCore.PlatformSearch:input_type -> cc.arduino.cli.commands.PlatformSearchReq - 40, // 42: cc.arduino.cli.commands.ArduinoCore.PlatformList:input_type -> cc.arduino.cli.commands.PlatformListReq - 41, // 43: cc.arduino.cli.commands.ArduinoCore.LibraryDownload:input_type -> cc.arduino.cli.commands.LibraryDownloadReq - 42, // 44: cc.arduino.cli.commands.ArduinoCore.LibraryInstall:input_type -> cc.arduino.cli.commands.LibraryInstallReq - 43, // 45: cc.arduino.cli.commands.ArduinoCore.LibraryUninstall:input_type -> cc.arduino.cli.commands.LibraryUninstallReq - 44, // 46: cc.arduino.cli.commands.ArduinoCore.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.LibraryUpgradeAllReq - 45, // 47: cc.arduino.cli.commands.ArduinoCore.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.LibraryResolveDependenciesReq - 46, // 48: cc.arduino.cli.commands.ArduinoCore.LibrarySearch:input_type -> cc.arduino.cli.commands.LibrarySearchReq - 47, // 49: cc.arduino.cli.commands.ArduinoCore.LibraryList:input_type -> cc.arduino.cli.commands.LibraryListReq - 1, // 50: cc.arduino.cli.commands.ArduinoCore.Init:output_type -> cc.arduino.cli.commands.InitResp - 3, // 51: cc.arduino.cli.commands.ArduinoCore.Destroy:output_type -> cc.arduino.cli.commands.DestroyResp - 5, // 52: cc.arduino.cli.commands.ArduinoCore.Rescan:output_type -> cc.arduino.cli.commands.RescanResp - 7, // 53: cc.arduino.cli.commands.ArduinoCore.UpdateIndex:output_type -> cc.arduino.cli.commands.UpdateIndexResp - 9, // 54: cc.arduino.cli.commands.ArduinoCore.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.UpdateLibrariesIndexResp - 11, // 55: cc.arduino.cli.commands.ArduinoCore.UpdateCoreLibrariesIndex:output_type -> cc.arduino.cli.commands.UpdateCoreLibrariesIndexResp - 13, // 56: cc.arduino.cli.commands.ArduinoCore.Outdated:output_type -> cc.arduino.cli.commands.OutdatedResp - 15, // 57: cc.arduino.cli.commands.ArduinoCore.Upgrade:output_type -> cc.arduino.cli.commands.UpgradeResp - 17, // 58: cc.arduino.cli.commands.ArduinoCore.Version:output_type -> cc.arduino.cli.commands.VersionResp - 19, // 59: cc.arduino.cli.commands.ArduinoCore.LoadSketch:output_type -> cc.arduino.cli.commands.LoadSketchResp - 21, // 60: cc.arduino.cli.commands.ArduinoCore.ArchiveSketch:output_type -> cc.arduino.cli.commands.ArchiveSketchResp - 48, // 61: cc.arduino.cli.commands.ArduinoCore.BoardDetails:output_type -> cc.arduino.cli.commands.BoardDetailsResp - 49, // 62: cc.arduino.cli.commands.ArduinoCore.BoardAttach:output_type -> cc.arduino.cli.commands.BoardAttachResp - 50, // 63: cc.arduino.cli.commands.ArduinoCore.BoardList:output_type -> cc.arduino.cli.commands.BoardListResp - 51, // 64: cc.arduino.cli.commands.ArduinoCore.BoardListAll:output_type -> cc.arduino.cli.commands.BoardListAllResp - 52, // 65: cc.arduino.cli.commands.ArduinoCore.Compile:output_type -> cc.arduino.cli.commands.CompileResp - 53, // 66: cc.arduino.cli.commands.ArduinoCore.PlatformInstall:output_type -> cc.arduino.cli.commands.PlatformInstallResp - 54, // 67: cc.arduino.cli.commands.ArduinoCore.PlatformDownload:output_type -> cc.arduino.cli.commands.PlatformDownloadResp - 55, // 68: cc.arduino.cli.commands.ArduinoCore.PlatformUninstall:output_type -> cc.arduino.cli.commands.PlatformUninstallResp - 56, // 69: cc.arduino.cli.commands.ArduinoCore.PlatformUpgrade:output_type -> cc.arduino.cli.commands.PlatformUpgradeResp - 57, // 70: cc.arduino.cli.commands.ArduinoCore.Upload:output_type -> cc.arduino.cli.commands.UploadResp - 58, // 71: cc.arduino.cli.commands.ArduinoCore.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp - 59, // 72: cc.arduino.cli.commands.ArduinoCore.BurnBootloader:output_type -> cc.arduino.cli.commands.BurnBootloaderResp - 60, // 73: cc.arduino.cli.commands.ArduinoCore.PlatformSearch:output_type -> cc.arduino.cli.commands.PlatformSearchResp - 61, // 74: cc.arduino.cli.commands.ArduinoCore.PlatformList:output_type -> cc.arduino.cli.commands.PlatformListResp - 62, // 75: cc.arduino.cli.commands.ArduinoCore.LibraryDownload:output_type -> cc.arduino.cli.commands.LibraryDownloadResp - 63, // 76: cc.arduino.cli.commands.ArduinoCore.LibraryInstall:output_type -> cc.arduino.cli.commands.LibraryInstallResp - 64, // 77: cc.arduino.cli.commands.ArduinoCore.LibraryUninstall:output_type -> cc.arduino.cli.commands.LibraryUninstallResp - 65, // 78: cc.arduino.cli.commands.ArduinoCore.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.LibraryUpgradeAllResp - 66, // 79: cc.arduino.cli.commands.ArduinoCore.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.LibraryResolveDependenciesResp - 67, // 80: cc.arduino.cli.commands.ArduinoCore.LibrarySearch:output_type -> cc.arduino.cli.commands.LibrarySearchResp - 68, // 81: cc.arduino.cli.commands.ArduinoCore.LibraryList:output_type -> cc.arduino.cli.commands.LibraryListResp - 50, // [50:82] is the sub-list for method output_type - 18, // [18:50] is the sub-list for method input_type + 37, // 39: cc.arduino.cli.commands.ArduinoCore.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.UploadUsingProgrammerReq + 38, // 40: cc.arduino.cli.commands.ArduinoCore.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq + 39, // 41: cc.arduino.cli.commands.ArduinoCore.BurnBootloader:input_type -> cc.arduino.cli.commands.BurnBootloaderReq + 40, // 42: cc.arduino.cli.commands.ArduinoCore.PlatformSearch:input_type -> cc.arduino.cli.commands.PlatformSearchReq + 41, // 43: cc.arduino.cli.commands.ArduinoCore.PlatformList:input_type -> cc.arduino.cli.commands.PlatformListReq + 42, // 44: cc.arduino.cli.commands.ArduinoCore.LibraryDownload:input_type -> cc.arduino.cli.commands.LibraryDownloadReq + 43, // 45: cc.arduino.cli.commands.ArduinoCore.LibraryInstall:input_type -> cc.arduino.cli.commands.LibraryInstallReq + 44, // 46: cc.arduino.cli.commands.ArduinoCore.LibraryUninstall:input_type -> cc.arduino.cli.commands.LibraryUninstallReq + 45, // 47: cc.arduino.cli.commands.ArduinoCore.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.LibraryUpgradeAllReq + 46, // 48: cc.arduino.cli.commands.ArduinoCore.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.LibraryResolveDependenciesReq + 47, // 49: cc.arduino.cli.commands.ArduinoCore.LibrarySearch:input_type -> cc.arduino.cli.commands.LibrarySearchReq + 48, // 50: cc.arduino.cli.commands.ArduinoCore.LibraryList:input_type -> cc.arduino.cli.commands.LibraryListReq + 1, // 51: cc.arduino.cli.commands.ArduinoCore.Init:output_type -> cc.arduino.cli.commands.InitResp + 3, // 52: cc.arduino.cli.commands.ArduinoCore.Destroy:output_type -> cc.arduino.cli.commands.DestroyResp + 5, // 53: cc.arduino.cli.commands.ArduinoCore.Rescan:output_type -> cc.arduino.cli.commands.RescanResp + 7, // 54: cc.arduino.cli.commands.ArduinoCore.UpdateIndex:output_type -> cc.arduino.cli.commands.UpdateIndexResp + 9, // 55: cc.arduino.cli.commands.ArduinoCore.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.UpdateLibrariesIndexResp + 11, // 56: cc.arduino.cli.commands.ArduinoCore.UpdateCoreLibrariesIndex:output_type -> cc.arduino.cli.commands.UpdateCoreLibrariesIndexResp + 13, // 57: cc.arduino.cli.commands.ArduinoCore.Outdated:output_type -> cc.arduino.cli.commands.OutdatedResp + 15, // 58: cc.arduino.cli.commands.ArduinoCore.Upgrade:output_type -> cc.arduino.cli.commands.UpgradeResp + 17, // 59: cc.arduino.cli.commands.ArduinoCore.Version:output_type -> cc.arduino.cli.commands.VersionResp + 19, // 60: cc.arduino.cli.commands.ArduinoCore.LoadSketch:output_type -> cc.arduino.cli.commands.LoadSketchResp + 21, // 61: cc.arduino.cli.commands.ArduinoCore.ArchiveSketch:output_type -> cc.arduino.cli.commands.ArchiveSketchResp + 49, // 62: cc.arduino.cli.commands.ArduinoCore.BoardDetails:output_type -> cc.arduino.cli.commands.BoardDetailsResp + 50, // 63: cc.arduino.cli.commands.ArduinoCore.BoardAttach:output_type -> cc.arduino.cli.commands.BoardAttachResp + 51, // 64: cc.arduino.cli.commands.ArduinoCore.BoardList:output_type -> cc.arduino.cli.commands.BoardListResp + 52, // 65: cc.arduino.cli.commands.ArduinoCore.BoardListAll:output_type -> cc.arduino.cli.commands.BoardListAllResp + 53, // 66: cc.arduino.cli.commands.ArduinoCore.Compile:output_type -> cc.arduino.cli.commands.CompileResp + 54, // 67: cc.arduino.cli.commands.ArduinoCore.PlatformInstall:output_type -> cc.arduino.cli.commands.PlatformInstallResp + 55, // 68: cc.arduino.cli.commands.ArduinoCore.PlatformDownload:output_type -> cc.arduino.cli.commands.PlatformDownloadResp + 56, // 69: cc.arduino.cli.commands.ArduinoCore.PlatformUninstall:output_type -> cc.arduino.cli.commands.PlatformUninstallResp + 57, // 70: cc.arduino.cli.commands.ArduinoCore.PlatformUpgrade:output_type -> cc.arduino.cli.commands.PlatformUpgradeResp + 58, // 71: cc.arduino.cli.commands.ArduinoCore.Upload:output_type -> cc.arduino.cli.commands.UploadResp + 59, // 72: cc.arduino.cli.commands.ArduinoCore.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.UploadUsingProgrammerResp + 60, // 73: cc.arduino.cli.commands.ArduinoCore.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp + 61, // 74: cc.arduino.cli.commands.ArduinoCore.BurnBootloader:output_type -> cc.arduino.cli.commands.BurnBootloaderResp + 62, // 75: cc.arduino.cli.commands.ArduinoCore.PlatformSearch:output_type -> cc.arduino.cli.commands.PlatformSearchResp + 63, // 76: cc.arduino.cli.commands.ArduinoCore.PlatformList:output_type -> cc.arduino.cli.commands.PlatformListResp + 64, // 77: cc.arduino.cli.commands.ArduinoCore.LibraryDownload:output_type -> cc.arduino.cli.commands.LibraryDownloadResp + 65, // 78: cc.arduino.cli.commands.ArduinoCore.LibraryInstall:output_type -> cc.arduino.cli.commands.LibraryInstallResp + 66, // 79: cc.arduino.cli.commands.ArduinoCore.LibraryUninstall:output_type -> cc.arduino.cli.commands.LibraryUninstallResp + 67, // 80: cc.arduino.cli.commands.ArduinoCore.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.LibraryUpgradeAllResp + 68, // 81: cc.arduino.cli.commands.ArduinoCore.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.LibraryResolveDependenciesResp + 69, // 82: cc.arduino.cli.commands.ArduinoCore.LibrarySearch:output_type -> cc.arduino.cli.commands.LibrarySearchResp + 70, // 83: cc.arduino.cli.commands.ArduinoCore.LibraryList:output_type -> cc.arduino.cli.commands.LibraryListResp + 51, // [51:84] is the sub-list for method output_type + 18, // [18:51] is the sub-list for method input_type 18, // [18:18] is the sub-list for extension type_name 18, // [18:18] is the sub-list for extension extendee 0, // [0:18] is the sub-list for field type_name @@ -2108,8 +2120,11 @@ type ArduinoCoreClient interface { PlatformUninstall(ctx context.Context, in *PlatformUninstallReq, opts ...grpc.CallOption) (ArduinoCore_PlatformUninstallClient, error) // Upgrade an installed platform to the latest version. PlatformUpgrade(ctx context.Context, in *PlatformUpgradeReq, opts ...grpc.CallOption) (ArduinoCore_PlatformUpgradeClient, error) - // Upload a compiled sketch to an Arduino board. + // Upload a compiled sketch to a board. Upload(ctx context.Context, in *UploadReq, opts ...grpc.CallOption) (ArduinoCore_UploadClient, error) + // Upload a compiled sketch to a board using a programmer. + UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerReq, opts ...grpc.CallOption) (ArduinoCore_UploadUsingProgrammerClient, error) + // List programmers available for a board. ListProgrammersAvailableForUpload(ctx context.Context, in *ListProgrammersAvailableForUploadReq, opts ...grpc.CallOption) (*ListProgrammersAvailableForUploadResp, error) // Burn bootloader to a board. BurnBootloader(ctx context.Context, in *BurnBootloaderReq, opts ...grpc.CallOption) (ArduinoCore_BurnBootloaderClient, error) @@ -2608,6 +2623,38 @@ func (x *arduinoCoreUploadClient) Recv() (*UploadResp, error) { return m, nil } +func (c *arduinoCoreClient) UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerReq, opts ...grpc.CallOption) (ArduinoCore_UploadUsingProgrammerClient, error) { + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[12], "/cc.arduino.cli.commands.ArduinoCore/UploadUsingProgrammer", opts...) + if err != nil { + return nil, err + } + x := &arduinoCoreUploadUsingProgrammerClient{stream} + if err := x.ClientStream.SendMsg(in); err != nil { + return nil, err + } + if err := x.ClientStream.CloseSend(); err != nil { + return nil, err + } + return x, nil +} + +type ArduinoCore_UploadUsingProgrammerClient interface { + Recv() (*UploadUsingProgrammerResp, error) + grpc.ClientStream +} + +type arduinoCoreUploadUsingProgrammerClient struct { + grpc.ClientStream +} + +func (x *arduinoCoreUploadUsingProgrammerClient) Recv() (*UploadUsingProgrammerResp, error) { + m := new(UploadUsingProgrammerResp) + if err := x.ClientStream.RecvMsg(m); err != nil { + return nil, err + } + return m, nil +} + func (c *arduinoCoreClient) ListProgrammersAvailableForUpload(ctx context.Context, in *ListProgrammersAvailableForUploadReq, opts ...grpc.CallOption) (*ListProgrammersAvailableForUploadResp, error) { out := new(ListProgrammersAvailableForUploadResp) err := c.cc.Invoke(ctx, "/cc.arduino.cli.commands.ArduinoCore/ListProgrammersAvailableForUpload", in, out, opts...) @@ -2618,7 +2665,7 @@ func (c *arduinoCoreClient) ListProgrammersAvailableForUpload(ctx context.Contex } func (c *arduinoCoreClient) BurnBootloader(ctx context.Context, in *BurnBootloaderReq, opts ...grpc.CallOption) (ArduinoCore_BurnBootloaderClient, error) { - stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[12], "/cc.arduino.cli.commands.ArduinoCore/BurnBootloader", opts...) + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[13], "/cc.arduino.cli.commands.ArduinoCore/BurnBootloader", opts...) if err != nil { return nil, err } @@ -2668,7 +2715,7 @@ func (c *arduinoCoreClient) PlatformList(ctx context.Context, in *PlatformListRe } func (c *arduinoCoreClient) LibraryDownload(ctx context.Context, in *LibraryDownloadReq, opts ...grpc.CallOption) (ArduinoCore_LibraryDownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[13], "/cc.arduino.cli.commands.ArduinoCore/LibraryDownload", opts...) + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[14], "/cc.arduino.cli.commands.ArduinoCore/LibraryDownload", opts...) if err != nil { return nil, err } @@ -2700,7 +2747,7 @@ func (x *arduinoCoreLibraryDownloadClient) Recv() (*LibraryDownloadResp, error) } func (c *arduinoCoreClient) LibraryInstall(ctx context.Context, in *LibraryInstallReq, opts ...grpc.CallOption) (ArduinoCore_LibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[14], "/cc.arduino.cli.commands.ArduinoCore/LibraryInstall", opts...) + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[15], "/cc.arduino.cli.commands.ArduinoCore/LibraryInstall", opts...) if err != nil { return nil, err } @@ -2732,7 +2779,7 @@ func (x *arduinoCoreLibraryInstallClient) Recv() (*LibraryInstallResp, error) { } func (c *arduinoCoreClient) LibraryUninstall(ctx context.Context, in *LibraryUninstallReq, opts ...grpc.CallOption) (ArduinoCore_LibraryUninstallClient, error) { - stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[15], "/cc.arduino.cli.commands.ArduinoCore/LibraryUninstall", opts...) + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[16], "/cc.arduino.cli.commands.ArduinoCore/LibraryUninstall", opts...) if err != nil { return nil, err } @@ -2764,7 +2811,7 @@ func (x *arduinoCoreLibraryUninstallClient) Recv() (*LibraryUninstallResp, error } func (c *arduinoCoreClient) LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllReq, opts ...grpc.CallOption) (ArduinoCore_LibraryUpgradeAllClient, error) { - stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[16], "/cc.arduino.cli.commands.ArduinoCore/LibraryUpgradeAll", opts...) + stream, err := c.cc.NewStream(ctx, &_ArduinoCore_serviceDesc.Streams[17], "/cc.arduino.cli.commands.ArduinoCore/LibraryUpgradeAll", opts...) if err != nil { return nil, err } @@ -2867,8 +2914,11 @@ type ArduinoCoreServer interface { PlatformUninstall(*PlatformUninstallReq, ArduinoCore_PlatformUninstallServer) error // Upgrade an installed platform to the latest version. PlatformUpgrade(*PlatformUpgradeReq, ArduinoCore_PlatformUpgradeServer) error - // Upload a compiled sketch to an Arduino board. + // Upload a compiled sketch to a board. Upload(*UploadReq, ArduinoCore_UploadServer) error + // Upload a compiled sketch to a board using a programmer. + UploadUsingProgrammer(*UploadUsingProgrammerReq, ArduinoCore_UploadUsingProgrammerServer) error + // List programmers available for a board. ListProgrammersAvailableForUpload(context.Context, *ListProgrammersAvailableForUploadReq) (*ListProgrammersAvailableForUploadResp, error) // Burn bootloader to a board. BurnBootloader(*BurnBootloaderReq, ArduinoCore_BurnBootloaderServer) error @@ -2961,6 +3011,9 @@ func (*UnimplementedArduinoCoreServer) PlatformUpgrade(*PlatformUpgradeReq, Ardu func (*UnimplementedArduinoCoreServer) Upload(*UploadReq, ArduinoCore_UploadServer) error { return status.Errorf(codes.Unimplemented, "method Upload not implemented") } +func (*UnimplementedArduinoCoreServer) UploadUsingProgrammer(*UploadUsingProgrammerReq, ArduinoCore_UploadUsingProgrammerServer) error { + return status.Errorf(codes.Unimplemented, "method UploadUsingProgrammer not implemented") +} func (*UnimplementedArduinoCoreServer) ListProgrammersAvailableForUpload(context.Context, *ListProgrammersAvailableForUploadReq) (*ListProgrammersAvailableForUploadResp, error) { return nil, status.Errorf(codes.Unimplemented, "method ListProgrammersAvailableForUpload not implemented") } @@ -3413,6 +3466,27 @@ func (x *arduinoCoreUploadServer) Send(m *UploadResp) error { return x.ServerStream.SendMsg(m) } +func _ArduinoCore_UploadUsingProgrammer_Handler(srv interface{}, stream grpc.ServerStream) error { + m := new(UploadUsingProgrammerReq) + if err := stream.RecvMsg(m); err != nil { + return err + } + return srv.(ArduinoCoreServer).UploadUsingProgrammer(m, &arduinoCoreUploadUsingProgrammerServer{stream}) +} + +type ArduinoCore_UploadUsingProgrammerServer interface { + Send(*UploadUsingProgrammerResp) error + grpc.ServerStream +} + +type arduinoCoreUploadUsingProgrammerServer struct { + grpc.ServerStream +} + +func (x *arduinoCoreUploadUsingProgrammerServer) Send(m *UploadUsingProgrammerResp) error { + return x.ServerStream.SendMsg(m) +} + func _ArduinoCore_ListProgrammersAvailableForUpload_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListProgrammersAvailableForUploadReq) if err := dec(in); err != nil { @@ -3752,6 +3826,11 @@ var _ArduinoCore_serviceDesc = grpc.ServiceDesc{ Handler: _ArduinoCore_Upload_Handler, ServerStreams: true, }, + { + StreamName: "UploadUsingProgrammer", + Handler: _ArduinoCore_UploadUsingProgrammer_Handler, + ServerStreams: true, + }, { StreamName: "BurnBootloader", Handler: _ArduinoCore_BurnBootloader_Handler, diff --git a/rpc/commands/commands.proto b/rpc/commands/commands.proto index 30894080285..7457c5eb460 100644 --- a/rpc/commands/commands.proto +++ b/rpc/commands/commands.proto @@ -97,9 +97,13 @@ service ArduinoCore { // Upgrade an installed platform to the latest version. rpc PlatformUpgrade(PlatformUpgradeReq) returns (stream PlatformUpgradeResp); - // Upload a compiled sketch to an Arduino board. + // Upload a compiled sketch to a board. rpc Upload(UploadReq) returns (stream UploadResp); + // Upload a compiled sketch to a board using a programmer. + rpc UploadUsingProgrammer(UploadUsingProgrammerReq) returns (stream UploadUsingProgrammerResp); + + // List programmers available for a board. rpc ListProgrammersAvailableForUpload(ListProgrammersAvailableForUploadReq) returns (ListProgrammersAvailableForUploadResp); // Burn bootloader to a board. diff --git a/rpc/commands/upload.pb.go b/rpc/commands/upload.pb.go index 3b3b81f72ca..6dbc72c540d 100644 --- a/rpc/commands/upload.pb.go +++ b/rpc/commands/upload.pb.go @@ -67,7 +67,10 @@ type UploadReq struct { ImportFile string `protobuf:"bytes,7,opt,name=import_file,json=importFile,proto3" json:"import_file,omitempty"` // Custom path to a directory containing compiled files. When `import_dir` is // not specified, the standard build directory under `sketch_path` is used. - ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` + ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` + // The programmer to use for upload. If set an UploadUsingProgrammer is triggered + // instead of a normal upload. The UploadUsingProgrammer call may also be used for + // explicit error check. Programmer string `protobuf:"bytes,9,opt,name=programmer,proto3" json:"programmer,omitempty"` } @@ -223,6 +226,190 @@ func (x *UploadResp) GetErrStream() []byte { return nil } +type UploadUsingProgrammerReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Arduino Core Service instance from the `Init` response. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). + // If this field is not defined, the FQBN of the board attached to the sketch + // via the `BoardAttach` method is used. + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Path where the sketch to be uploaded is stored. Unless the `import_file` + // field is defined, the compiled binary is assumed to be at the location and + // filename under this path where it is saved by the `Compile` method. + SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` + // The port of the board. + Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` + // Whether to turn on verbose output during the upload. + Verbose bool `protobuf:"varint,5,opt,name=verbose,proto3" json:"verbose,omitempty"` + // After upload, verify that the contents of the memory on the board match the + // uploaded binary. + Verify bool `protobuf:"varint,6,opt,name=verify,proto3" json:"verify,omitempty"` + // When `import_file` is specified, it overrides the `import_dir` and `sketch_path` + // params. + ImportFile string `protobuf:"bytes,7,opt,name=import_file,json=importFile,proto3" json:"import_file,omitempty"` + // Custom path to a directory containing compiled files. When `import_dir` is + // not specified, the standard build directory under `sketch_path` is used. + ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` + // The programmer to use for upload. + Programmer string `protobuf:"bytes,9,opt,name=programmer,proto3" json:"programmer,omitempty"` +} + +func (x *UploadUsingProgrammerReq) Reset() { + *x = UploadUsingProgrammerReq{} + if protoimpl.UnsafeEnabled { + mi := &file_commands_upload_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadUsingProgrammerReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadUsingProgrammerReq) ProtoMessage() {} + +func (x *UploadUsingProgrammerReq) ProtoReflect() protoreflect.Message { + mi := &file_commands_upload_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadUsingProgrammerReq.ProtoReflect.Descriptor instead. +func (*UploadUsingProgrammerReq) Descriptor() ([]byte, []int) { + return file_commands_upload_proto_rawDescGZIP(), []int{2} +} + +func (x *UploadUsingProgrammerReq) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +func (x *UploadUsingProgrammerReq) GetFqbn() string { + if x != nil { + return x.Fqbn + } + return "" +} + +func (x *UploadUsingProgrammerReq) GetSketchPath() string { + if x != nil { + return x.SketchPath + } + return "" +} + +func (x *UploadUsingProgrammerReq) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *UploadUsingProgrammerReq) GetVerbose() bool { + if x != nil { + return x.Verbose + } + return false +} + +func (x *UploadUsingProgrammerReq) GetVerify() bool { + if x != nil { + return x.Verify + } + return false +} + +func (x *UploadUsingProgrammerReq) GetImportFile() string { + if x != nil { + return x.ImportFile + } + return "" +} + +func (x *UploadUsingProgrammerReq) GetImportDir() string { + if x != nil { + return x.ImportDir + } + return "" +} + +func (x *UploadUsingProgrammerReq) GetProgrammer() string { + if x != nil { + return x.Programmer + } + return "" +} + +type UploadUsingProgrammerResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The output of the upload process. + OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3" json:"out_stream,omitempty"` + // The error output of the upload process. + ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3" json:"err_stream,omitempty"` +} + +func (x *UploadUsingProgrammerResp) Reset() { + *x = UploadUsingProgrammerResp{} + if protoimpl.UnsafeEnabled { + mi := &file_commands_upload_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UploadUsingProgrammerResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UploadUsingProgrammerResp) ProtoMessage() {} + +func (x *UploadUsingProgrammerResp) ProtoReflect() protoreflect.Message { + mi := &file_commands_upload_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UploadUsingProgrammerResp.ProtoReflect.Descriptor instead. +func (*UploadUsingProgrammerResp) Descriptor() ([]byte, []int) { + return file_commands_upload_proto_rawDescGZIP(), []int{3} +} + +func (x *UploadUsingProgrammerResp) GetOutStream() []byte { + if x != nil { + return x.OutStream + } + return nil +} + +func (x *UploadUsingProgrammerResp) GetErrStream() []byte { + if x != nil { + return x.ErrStream + } + return nil +} + type BurnBootloaderReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -246,7 +433,7 @@ type BurnBootloaderReq struct { func (x *BurnBootloaderReq) Reset() { *x = BurnBootloaderReq{} if protoimpl.UnsafeEnabled { - mi := &file_commands_upload_proto_msgTypes[2] + mi := &file_commands_upload_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -259,7 +446,7 @@ func (x *BurnBootloaderReq) String() string { func (*BurnBootloaderReq) ProtoMessage() {} func (x *BurnBootloaderReq) ProtoReflect() protoreflect.Message { - mi := &file_commands_upload_proto_msgTypes[2] + mi := &file_commands_upload_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -272,7 +459,7 @@ func (x *BurnBootloaderReq) ProtoReflect() protoreflect.Message { // Deprecated: Use BurnBootloaderReq.ProtoReflect.Descriptor instead. func (*BurnBootloaderReq) Descriptor() ([]byte, []int) { - return file_commands_upload_proto_rawDescGZIP(), []int{2} + return file_commands_upload_proto_rawDescGZIP(), []int{4} } func (x *BurnBootloaderReq) GetInstance() *Instance { @@ -331,7 +518,7 @@ type BurnBootloaderResp struct { func (x *BurnBootloaderResp) Reset() { *x = BurnBootloaderResp{} if protoimpl.UnsafeEnabled { - mi := &file_commands_upload_proto_msgTypes[3] + mi := &file_commands_upload_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -344,7 +531,7 @@ func (x *BurnBootloaderResp) String() string { func (*BurnBootloaderResp) ProtoMessage() {} func (x *BurnBootloaderResp) ProtoReflect() protoreflect.Message { - mi := &file_commands_upload_proto_msgTypes[3] + mi := &file_commands_upload_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -357,7 +544,7 @@ func (x *BurnBootloaderResp) ProtoReflect() protoreflect.Message { // Deprecated: Use BurnBootloaderResp.ProtoReflect.Descriptor instead. func (*BurnBootloaderResp) Descriptor() ([]byte, []int) { - return file_commands_upload_proto_rawDescGZIP(), []int{3} + return file_commands_upload_proto_rawDescGZIP(), []int{5} } func (x *BurnBootloaderResp) GetOutStream() []byte { @@ -386,7 +573,7 @@ type ListProgrammersAvailableForUploadReq struct { func (x *ListProgrammersAvailableForUploadReq) Reset() { *x = ListProgrammersAvailableForUploadReq{} if protoimpl.UnsafeEnabled { - mi := &file_commands_upload_proto_msgTypes[4] + mi := &file_commands_upload_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -399,7 +586,7 @@ func (x *ListProgrammersAvailableForUploadReq) String() string { func (*ListProgrammersAvailableForUploadReq) ProtoMessage() {} func (x *ListProgrammersAvailableForUploadReq) ProtoReflect() protoreflect.Message { - mi := &file_commands_upload_proto_msgTypes[4] + mi := &file_commands_upload_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -412,7 +599,7 @@ func (x *ListProgrammersAvailableForUploadReq) ProtoReflect() protoreflect.Messa // Deprecated: Use ListProgrammersAvailableForUploadReq.ProtoReflect.Descriptor instead. func (*ListProgrammersAvailableForUploadReq) Descriptor() ([]byte, []int) { - return file_commands_upload_proto_rawDescGZIP(), []int{4} + return file_commands_upload_proto_rawDescGZIP(), []int{6} } func (x *ListProgrammersAvailableForUploadReq) GetInstance() *Instance { @@ -440,7 +627,7 @@ type ListProgrammersAvailableForUploadResp struct { func (x *ListProgrammersAvailableForUploadResp) Reset() { *x = ListProgrammersAvailableForUploadResp{} if protoimpl.UnsafeEnabled { - mi := &file_commands_upload_proto_msgTypes[5] + mi := &file_commands_upload_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -453,7 +640,7 @@ func (x *ListProgrammersAvailableForUploadResp) String() string { func (*ListProgrammersAvailableForUploadResp) ProtoMessage() {} func (x *ListProgrammersAvailableForUploadResp) ProtoReflect() protoreflect.Message { - mi := &file_commands_upload_proto_msgTypes[5] + mi := &file_commands_upload_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -466,7 +653,7 @@ func (x *ListProgrammersAvailableForUploadResp) ProtoReflect() protoreflect.Mess // Deprecated: Use ListProgrammersAvailableForUploadResp.ProtoReflect.Descriptor instead. func (*ListProgrammersAvailableForUploadResp) Descriptor() ([]byte, []int) { - return file_commands_upload_proto_rawDescGZIP(), []int{5} + return file_commands_upload_proto_rawDescGZIP(), []int{7} } func (x *ListProgrammersAvailableForUploadResp) GetProgrammers() []*Programmer { @@ -506,43 +693,69 @@ var file_commands_upload_proto_rawDesc = []byte{ 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xcc, 0x01, 0x0a, 0x11, + 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xb4, 0x02, 0x0a, 0x18, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, + 0x72, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, + 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, + 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, + 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x22, 0x59, 0x0a, 0x19, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1d, + 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xcc, 0x01, + 0x0a, 0x11, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x12, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, - 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x52, 0x0a, 0x12, 0x42, 0x75, - 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0x79, - 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x6e, 0x0a, 0x25, 0x4c, 0x69, 0x73, - 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x42, 0x2d, 0x5a, 0x2b, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x22, 0x79, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x12, 0x3d, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x6e, 0x0a, 0x25, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x45, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x0b, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x42, 0x2d, 0x5a, 0x2b, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -557,27 +770,30 @@ func file_commands_upload_proto_rawDescGZIP() []byte { return file_commands_upload_proto_rawDescData } -var file_commands_upload_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_commands_upload_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_commands_upload_proto_goTypes = []interface{}{ (*UploadReq)(nil), // 0: cc.arduino.cli.commands.UploadReq (*UploadResp)(nil), // 1: cc.arduino.cli.commands.UploadResp - (*BurnBootloaderReq)(nil), // 2: cc.arduino.cli.commands.BurnBootloaderReq - (*BurnBootloaderResp)(nil), // 3: cc.arduino.cli.commands.BurnBootloaderResp - (*ListProgrammersAvailableForUploadReq)(nil), // 4: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq - (*ListProgrammersAvailableForUploadResp)(nil), // 5: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp - (*Instance)(nil), // 6: cc.arduino.cli.commands.Instance - (*Programmer)(nil), // 7: cc.arduino.cli.commands.Programmer + (*UploadUsingProgrammerReq)(nil), // 2: cc.arduino.cli.commands.UploadUsingProgrammerReq + (*UploadUsingProgrammerResp)(nil), // 3: cc.arduino.cli.commands.UploadUsingProgrammerResp + (*BurnBootloaderReq)(nil), // 4: cc.arduino.cli.commands.BurnBootloaderReq + (*BurnBootloaderResp)(nil), // 5: cc.arduino.cli.commands.BurnBootloaderResp + (*ListProgrammersAvailableForUploadReq)(nil), // 6: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq + (*ListProgrammersAvailableForUploadResp)(nil), // 7: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp + (*Instance)(nil), // 8: cc.arduino.cli.commands.Instance + (*Programmer)(nil), // 9: cc.arduino.cli.commands.Programmer } var file_commands_upload_proto_depIdxs = []int32{ - 6, // 0: cc.arduino.cli.commands.UploadReq.instance:type_name -> cc.arduino.cli.commands.Instance - 6, // 1: cc.arduino.cli.commands.BurnBootloaderReq.instance:type_name -> cc.arduino.cli.commands.Instance - 6, // 2: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq.instance:type_name -> cc.arduino.cli.commands.Instance - 7, // 3: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp.programmers:type_name -> cc.arduino.cli.commands.Programmer - 4, // [4:4] is the sub-list for method output_type - 4, // [4:4] is the sub-list for method input_type - 4, // [4:4] is the sub-list for extension type_name - 4, // [4:4] is the sub-list for extension extendee - 0, // [0:4] is the sub-list for field type_name + 8, // 0: cc.arduino.cli.commands.UploadReq.instance:type_name -> cc.arduino.cli.commands.Instance + 8, // 1: cc.arduino.cli.commands.UploadUsingProgrammerReq.instance:type_name -> cc.arduino.cli.commands.Instance + 8, // 2: cc.arduino.cli.commands.BurnBootloaderReq.instance:type_name -> cc.arduino.cli.commands.Instance + 8, // 3: cc.arduino.cli.commands.ListProgrammersAvailableForUploadReq.instance:type_name -> cc.arduino.cli.commands.Instance + 9, // 4: cc.arduino.cli.commands.ListProgrammersAvailableForUploadResp.programmers:type_name -> cc.arduino.cli.commands.Programmer + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name } func init() { file_commands_upload_proto_init() } @@ -612,7 +828,7 @@ func file_commands_upload_proto_init() { } } file_commands_upload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BurnBootloaderReq); i { + switch v := v.(*UploadUsingProgrammerReq); i { case 0: return &v.state case 1: @@ -624,7 +840,7 @@ func file_commands_upload_proto_init() { } } file_commands_upload_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BurnBootloaderResp); i { + switch v := v.(*UploadUsingProgrammerResp); i { case 0: return &v.state case 1: @@ -636,7 +852,7 @@ func file_commands_upload_proto_init() { } } file_commands_upload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListProgrammersAvailableForUploadReq); i { + switch v := v.(*BurnBootloaderReq); i { case 0: return &v.state case 1: @@ -648,6 +864,30 @@ func file_commands_upload_proto_init() { } } file_commands_upload_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BurnBootloaderResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_commands_upload_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListProgrammersAvailableForUploadReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_commands_upload_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListProgrammersAvailableForUploadResp); i { case 0: return &v.state @@ -666,7 +906,7 @@ func file_commands_upload_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_commands_upload_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/commands/upload.proto b/rpc/commands/upload.proto index 0f5e04e196c..aacdf5b4f3b 100644 --- a/rpc/commands/upload.proto +++ b/rpc/commands/upload.proto @@ -23,15 +23,15 @@ import "commands/common.proto"; message UploadReq { // Arduino Core Service instance from the `Init` response. - Instance instance = 1; + Instance instance = 1; // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). // If this field is not defined, the FQBN of the board attached to the sketch // via the `BoardAttach` method is used. - string fqbn = 2; + string fqbn = 2; // Path where the sketch to be uploaded is stored. Unless the `import_file` // field is defined, the compiled binary is assumed to be at the location and // filename under this path where it is saved by the `Compile` method. - string sketch_path = 3; + string sketch_path = 3; // The port of the board. string port = 4; // Whether to turn on verbose output during the upload. @@ -45,6 +45,9 @@ message UploadReq { // Custom path to a directory containing compiled files. When `import_dir` is // not specified, the standard build directory under `sketch_path` is used. string import_dir = 8; + // The programmer to use for upload. If set an UploadUsingProgrammer is triggered + // instead of a normal upload. The UploadUsingProgrammer call may also be used for + // explicit error check. string programmer = 9; } @@ -55,6 +58,41 @@ message UploadResp { bytes err_stream = 2; } +message UploadUsingProgrammerReq { + // Arduino Core Service instance from the `Init` response. + Instance instance = 1; + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). + // If this field is not defined, the FQBN of the board attached to the sketch + // via the `BoardAttach` method is used. + string fqbn = 2; + // Path where the sketch to be uploaded is stored. Unless the `import_file` + // field is defined, the compiled binary is assumed to be at the location and + // filename under this path where it is saved by the `Compile` method. + string sketch_path = 3; + // The port of the board. + string port = 4; + // Whether to turn on verbose output during the upload. + bool verbose = 5; + // After upload, verify that the contents of the memory on the board match the + // uploaded binary. + bool verify = 6; + // When `import_file` is specified, it overrides the `import_dir` and `sketch_path` + // params. + string import_file = 7; + // Custom path to a directory containing compiled files. When `import_dir` is + // not specified, the standard build directory under `sketch_path` is used. + string import_dir = 8; + // The programmer to use for upload. + string programmer = 9; +} + +message UploadUsingProgrammerResp { + // The output of the upload process. + bytes out_stream = 1; + // The error output of the upload process. + bytes err_stream = 2; +} + message BurnBootloaderReq { // Arduino Core Service instance from the `Init` response. Instance instance = 1;