Skip to content

Commit 4b2ec86

Browse files
committed
Change gRPC DebugConfigRequest port field type
1 parent 372b881 commit 4b2ec86

File tree

5 files changed

+132
-117
lines changed

5 files changed

+132
-117
lines changed

cli/debug/debug.go

+14-4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222
"os/signal"
2323
"sort"
2424

25+
"github.com/arduino/arduino-cli/arduino/sketch"
2526
"github.com/arduino/arduino-cli/cli/arguments"
2627
"github.com/arduino/arduino-cli/cli/errorcodes"
2728
"github.com/arduino/arduino-cli/cli/feedback"
@@ -38,7 +39,7 @@ import (
3839

3940
var (
4041
fqbn string
41-
port string
42+
port arguments.Port
4243
verbose bool
4344
verify bool
4445
interpreter string
@@ -60,7 +61,7 @@ func NewCommand() *cobra.Command {
6061
}
6162

6263
debugCommand.Flags().StringVarP(&fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno"))
63-
debugCommand.Flags().StringVarP(&port, "port", "p", "", tr("Debug port, e.g.: COM10 or /dev/ttyACM0"))
64+
port.AddToCommand(debugCommand)
6465
debugCommand.Flags().StringVarP(&programmer, "programmer", "P", "", tr("Programmer to use for debugging"))
6566
debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", fmt.Sprintf(tr("Debug interpreter e.g.: %s, %s, %s, %s, %s"), "console", "mi", "mi1", "mi2", "mi3"))
6667
debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries for debug."))
@@ -77,12 +78,21 @@ func run(command *cobra.Command, args []string) {
7778
path = args[0]
7879
}
7980
sketchPath := arguments.InitSketchPath(path)
80-
81+
sk, err := sketch.New(sketchPath)
82+
if err != nil {
83+
feedback.Errorf(tr("Error during Debug: %v"), err)
84+
os.Exit(errorcodes.ErrGeneric)
85+
}
86+
discoveryPort, err := port.GetPort(instance, sk)
87+
if err != nil {
88+
feedback.Errorf(tr("Error during Debug: %v"), err)
89+
os.Exit(errorcodes.ErrGeneric)
90+
}
8191
debugConfigRequested := &dbg.DebugConfigRequest{
8292
Instance: instance,
8393
Fqbn: fqbn,
8494
SketchPath: sketchPath.String(),
85-
Port: port,
95+
Port: discoveryPort.ToRPC(),
8696
Interpreter: interpreter,
8797
ImportDir: importDir,
8898
Programmer: programmer,

commands/debug/debug_info.go

+4-7
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,10 @@ func getDebugProperties(req *debug.DebugConfigRequest, pm *packagemanager.Packag
130130

131131
// Set debug port property
132132
port := req.GetPort()
133-
if port != "" {
134-
toolProperties.Set("debug.port", port)
135-
if strings.HasPrefix(port, "/dev/") {
136-
toolProperties.Set("debug.port.file", port[5:])
137-
} else {
138-
toolProperties.Set("debug.port.file", port)
139-
}
133+
if port.GetAddress() != "" {
134+
toolProperties.Set("debug.port", port.Address)
135+
portFile := strings.TrimPrefix(port.Address, "/dev/")
136+
toolProperties.Set("debug.port.file", portFile)
140137
}
141138

142139
// Extract and expand all debugging properties

docs/UPGRADING.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ Here you can find a list of migration guides to handle breaking changes between
44

55
## Unreleased
66

7-
### gRPC interface `UploadRequest`, `UploadUsingProgrammerRequest`, `BurnBootloaderRequest`, `DetectedPort` field changes
7+
### gRPC interface `DebugConfigRequest`, `UploadRequest`, `UploadUsingProgrammerRequest`, `BurnBootloaderRequest`, `DetectedPort` field changes
88

9-
`UploadRequest`, `UploadUsingProgrammerRequest` and `BurnBootloaderRequest` had their `port` field change from type
10-
`string` to `Port`.
9+
`DebugConfigRequest`, `UploadRequest`, `UploadUsingProgrammerRequest` and `BurnBootloaderRequest` had their `port` field
10+
change from type `string` to `Port`.
1111

1212
`Port` contains the following information:
1313

0 commit comments

Comments
 (0)