Protocol Documentation
Table of Contents
Top
cc/arduino/cli/monitor/v1/monitor.proto
MonitorConfig
Tells the monitor which target to open and provides additional parameters that might be needed to configure the target
or the monitor itself.
Field
Type
Label
Description
target
string
The target name.
type
MonitorConfig.TargetType
additional_config
google.protobuf.Struct
Additional parameters that might be needed to configure the target or the monitor itself.
recv_rate_limit_buffer
int32
This parameter indicates how many bytes should be buffered on the server side before dropping. If >0 then the server will enable a rate limiter and will send incoming data to the client only when the client allows it: see the StreamingOpenReq.recv_acknowledge parameter for details.
StreamingOpenRequest
The top-level message sent by the client for the StreamingOpen
method. Multiple StreamingOpenReq
messages can be
sent but the first message must contain a monitor_config
message to initialize the monitor target. All subsequent
messages must contain bytes to be sent to the target and must not contain a monitor_config
message.
Field
Type
Label
Description
config
MonitorConfig
Provides information to the monitor that specifies which is the target. The first StreamingOpenReq
message must contain a config
message.
data
bytes
The data to be sent to the target being monitored.
recv_acknowledge
int32
When the rate limiter is enabled, this parameter is used to report the number of successfully processed StreamingOpenResp messages (with data).
StreamingOpenResponse
Field
Type
Label
Description
data
bytes
The data received from the target.
dropped
int32
The number of bytes dropped. During regular updates this number should be 0, but in case the client is not able to process the recv window quickly enough this parameter will report the number of dropped bytes.
MonitorConfig.TargetType
Name
Number
Description
TARGET_TYPE_SERIAL
0
TARGET_TYPE_NULL
99
MonitorService
MonitorService provides services for boards monitor
Method Name
Request Type
Response Type
Description
StreamingOpen
StreamingOpenRequest stream
StreamingOpenResponse stream
Open a bidirectional monitor stream. This can be used to implement something similar to the Arduino IDE's Serial Monitor.
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)