Skip to content

Commit 86cb04f

Browse files
committed
Updated docs
1 parent 9c59c34 commit 86cb04f

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

docs/UPGRADING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,65 @@ Here you can find a list of migration guides to handle breaking changes between
88

99
We're dropping the `builtin.tools` support. It was the equivalent of Arduino IDE 1.x bundled tools directory.
1010

11+
### The gRPC `cc.arduino.cli.commands.v1.MonitorRequest` message has been changed.
12+
13+
Previously the `MonitorRequest` was a single message used to open the monitor, to stream data, and to change the port
14+
configuration:
15+
16+
```proto
17+
message MonitorRequest {
18+
// Arduino Core Service instance from the `Init` response.
19+
Instance instance = 1;
20+
// Port to open, must be filled only on the first request
21+
Port port = 2;
22+
// The board FQBN we are trying to connect to. This is optional, and it's
23+
// needed to disambiguate if more than one platform provides the pluggable
24+
// monitor for a given port protocol.
25+
string fqbn = 3;
26+
// Data to send to the port
27+
bytes tx_data = 4;
28+
// Port configuration, optional, contains settings of the port to be applied
29+
MonitorPortConfiguration port_configuration = 5;
30+
}
31+
```
32+
33+
Now the meaning of the fields has been clarified with the `oneof` clause, making it more explicit:
34+
35+
```proto
36+
message MonitorRequest {
37+
oneof message {
38+
// Open request, it must be the first incoming message
39+
MonitorPortOpenRequest open_request = 1;
40+
// Data to send to the port
41+
bytes tx_data = 2;
42+
// Port configuration, contains settings of the port to be changed
43+
MonitorPortConfiguration updated_configuration = 3;
44+
// Close message, set to true to gracefully close a port (this ensure
45+
// that the gRPC streaming call is closed by the daemon AFTER the port
46+
// has been successfully closed)
47+
bool close = 4;
48+
}
49+
}
50+
51+
message MonitorPortOpenRequest {
52+
// Arduino Core Service instance from the `Init` response.
53+
Instance instance = 1;
54+
// Port to open, must be filled only on the first request
55+
Port port = 2;
56+
// The board FQBN we are trying to connect to. This is optional, and it's
57+
// needed to disambiguate if more than one platform provides the pluggable
58+
// monitor for a given port protocol.
59+
string fqbn = 3;
60+
// Port configuration, optional, contains settings of the port to be applied
61+
MonitorPortConfiguration port_configuration = 4;
62+
}
63+
```
64+
65+
Now the message field `MonitorPortOpenRequest.open_request` must be sent in the first message after opening the
66+
streaming gRPC call.
67+
68+
The identification number of the fields has been changed, this change is not binary compatible with old clients.
69+
1170
### Some golang modules from `github.com/arduino/arduino-cli/*` have been made private.
1271

1372
The following golang modules are no longer available as public API:

0 commit comments

Comments
 (0)