Protocol Documentation
Table of Contents
Top
debug/debug.proto
DebugConfigReq
Field |
Type |
Label |
Description |
instance |
cc.arduino.cli.commands.Instance |
|
Arduino Core Service instance from the Init response. |
fqbn |
string |
|
Fully qualified board name of the board in use (e.g., arduino:samd:mkr1000 ). If this is omitted, the FQBN attached to the sketch will be used. |
sketch_path |
string |
|
Path to the sketch that is running on the board. The compiled executable is expected to be located under this path. |
port |
string |
|
Port of the debugger (optional). |
interpreter |
string |
|
Which GDB command interpreter to use. |
import_dir |
string |
|
Directory containing the compiled executable. If import_dir is not specified, the executable is assumed to be in {sketch_path}/build/{fqbn}/ . |
programmer |
string |
|
The programmer to use for debugging. |
DebugReq
The top-level message sent by the client for the Debug
method. Multiple DebugReq
messages can be sent but the first
message must contain a DebugConfigReq
message to initialize the debug session. All subsequent messages must contain
bytes to be sent to the debug session and must not contain a DebugReq
message.
Content must be either a debug session config or data to be sent.
Field |
Type |
Label |
Description |
debugReq |
DebugConfigReq |
|
Provides information to the debug that specifies which is the target. The first StreamingOpenReq message must contain a DebugReq message. |
data |
bytes |
|
The data to be sent to the target being monitored. |
send_interrupt |
bool |
|
Set this to true to send and Interrupt signal to the debugger process |
DebugResp
Field |
Type |
Label |
Description |
data |
bytes |
|
Incoming data from the debugger tool. |
error |
string |
|
Incoming error output from the debugger tool. |
GetDebugConfigResp
Field |
Type |
Label |
Description |
executable |
string |
|
The executable binary to debug |
toolchain |
string |
|
The toolchain type used for the build (for example "gcc") |
toolchain_path |
string |
|
The toolchain directory |
toolchain_prefix |
string |
|
The toolchain architecture prefix (for example "arm-none-eabi-") |
server |
string |
|
The GDB server type used to connect to the programmer/board (for example "openocd") |
server_path |
string |
|
The GDB server directory |
toolchain_configuration |
GetDebugConfigResp.ToolchainConfigurationEntry |
repeated |
Extra configuration parameters wrt toolchain |
server_configuration |
GetDebugConfigResp.ServerConfigurationEntry |
repeated |
Extra configuration parameters wrt GDB server |
GetDebugConfigResp.ServerConfigurationEntry
GetDebugConfigResp.ToolchainConfigurationEntry
Debug
Service that abstract a debug Session usage
Scalar Value Types
.proto Type |
Notes |
C++ |
Java |
Python |
Go |
C# |
PHP |
Ruby |
double |
|
double |
double |
float |
float64 |
double |
float |
Float |
float |
|
float |
float |
float |
float32 |
float |
float |
Float |
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum or Fixnum (as required) |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum |
sfixed32 |
Always four bytes. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
bool |
|
bool |
boolean |
boolean |
bool |
bool |
boolean |
TrueClass/FalseClass |
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
string |
string |
string |
String (UTF-8) |
bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |
[]byte |
ByteString |
string |
String (ASCII-8BIT) |