Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit dd7bb2d

Browse files
committedNov 20, 2024·
feat: use Arduino CLI 1.1.0
1 parent d446943 commit dd7bb2d

15 files changed

+1021
-498
lines changed
 

‎arduino-ide-extension/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@
170170
],
171171
"arduino": {
172172
"arduino-cli": {
173-
"version": "1.0.4"
173+
"version": "1.1.0"
174174
},
175175
"arduino-fwuploader": {
176176
"version": "2.4.1"

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@
66

77
import * as grpc from "@grpc/grpc-js";
88
import * as cc_arduino_cli_commands_v1_commands_pb from "../../../../../cc/arduino/cli/commands/v1/commands_pb";
9-
import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb";
10-
import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb";
119
import * as cc_arduino_cli_commands_v1_board_pb from "../../../../../cc/arduino/cli/commands/v1/board_pb";
10+
import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb";
1211
import * as cc_arduino_cli_commands_v1_compile_pb from "../../../../../cc/arduino/cli/commands/v1/compile_pb";
1312
import * as cc_arduino_cli_commands_v1_core_pb from "../../../../../cc/arduino/cli/commands/v1/core_pb";
1413
import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/cli/commands/v1/debug_pb";
15-
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
16-
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
1714
import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb";
15+
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
1816
import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb";
17+
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
18+
import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb";
1919

2020
interface IArduinoCoreServiceService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
2121
create: IArduinoCoreServiceService_ICreate;

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_grpc_pb.js

+25-27
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,16 @@
1919
//
2020
'use strict';
2121
var cc_arduino_cli_commands_v1_commands_pb = require('../../../../../cc/arduino/cli/commands/v1/commands_pb.js');
22-
var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js');
23-
var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js');
2422
var cc_arduino_cli_commands_v1_board_pb = require('../../../../../cc/arduino/cli/commands/v1/board_pb.js');
23+
var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js');
2524
var cc_arduino_cli_commands_v1_compile_pb = require('../../../../../cc/arduino/cli/commands/v1/compile_pb.js');
2625
var cc_arduino_cli_commands_v1_core_pb = require('../../../../../cc/arduino/cli/commands/v1/core_pb.js');
2726
var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli/commands/v1/debug_pb.js');
28-
var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js');
29-
var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js');
3027
var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js');
28+
var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js');
3129
var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js');
30+
var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js');
31+
var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js');
3232

3333
function serialize_cc_arduino_cli_commands_v1_ArchiveSketchRequest(arg) {
3434
if (!(arg instanceof cc_arduino_cli_commands_v1_commands_pb.ArchiveSketchRequest)) {
@@ -1109,9 +1109,9 @@ function deserialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse(buffer
11091109
}
11101110

11111111

1112-
// The main Arduino Platform service API
1112+
// The main Arduino Platform service API.
11131113
var ArduinoCoreServiceService = exports['cc.arduino.cli.commands.v1.ArduinoCoreService'] = {
1114-
// Create a new Arduino Core instance
1114+
// Create a new Arduino Core instance.
11151115
create: {
11161116
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Create',
11171117
requestStream: false,
@@ -1124,7 +1124,7 @@ create: {
11241124
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CreateResponse,
11251125
},
11261126
// Initializes an existing Arduino Core instance by loading platforms and
1127-
// libraries
1127+
// libraries.
11281128
init: {
11291129
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Init',
11301130
requestStream: false,
@@ -1136,7 +1136,7 @@ init: {
11361136
responseSerialize: serialize_cc_arduino_cli_commands_v1_InitResponse,
11371137
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_InitResponse,
11381138
},
1139-
// Destroy an instance of the Arduino Core Service
1139+
// Destroy an instance of the Arduino Core Service.
11401140
destroy: {
11411141
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Destroy',
11421142
requestStream: false,
@@ -1148,7 +1148,7 @@ destroy: {
11481148
responseSerialize: serialize_cc_arduino_cli_commands_v1_DestroyResponse,
11491149
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_DestroyResponse,
11501150
},
1151-
// Update package index of the Arduino Core Service
1151+
// Update package index of the Arduino Core Service.
11521152
updateIndex: {
11531153
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateIndex',
11541154
requestStream: false,
@@ -1160,7 +1160,7 @@ updateIndex: {
11601160
responseSerialize: serialize_cc_arduino_cli_commands_v1_UpdateIndexResponse,
11611161
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_UpdateIndexResponse,
11621162
},
1163-
// Update libraries index
1163+
// Update libraries index.
11641164
updateLibrariesIndex: {
11651165
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/UpdateLibrariesIndex',
11661166
requestStream: false,
@@ -1184,7 +1184,7 @@ version: {
11841184
responseSerialize: serialize_cc_arduino_cli_commands_v1_VersionResponse,
11851185
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_VersionResponse,
11861186
},
1187-
// Create a new Sketch
1187+
// Create a new Sketch.
11881188
newSketch: {
11891189
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/NewSketch',
11901190
requestStream: false,
@@ -1196,7 +1196,7 @@ newSketch: {
11961196
responseSerialize: serialize_cc_arduino_cli_commands_v1_NewSketchResponse,
11971197
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_NewSketchResponse,
11981198
},
1199-
// Returns all files composing a Sketch
1199+
// Returns all files composing a Sketch.
12001200
loadSketch: {
12011201
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/LoadSketch',
12021202
requestStream: false,
@@ -1208,7 +1208,7 @@ loadSketch: {
12081208
responseSerialize: serialize_cc_arduino_cli_commands_v1_LoadSketchResponse,
12091209
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LoadSketchResponse,
12101210
},
1211-
// Creates a zip file containing all files of specified Sketch
1211+
// Creates a zip file containing all files of specified Sketch.
12121212
archiveSketch: {
12131213
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ArchiveSketch',
12141214
requestStream: false,
@@ -1234,10 +1234,7 @@ setSketchDefaults: {
12341234
responseSerialize: serialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse,
12351235
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SetSketchDefaultsResponse,
12361236
},
1237-
// BOARD COMMANDS
1238-
// --------------
1239-
//
1240-
// Requests details about a board
1237+
// Requests details about a board.
12411238
boardDetails: {
12421239
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardDetails',
12431240
requestStream: false,
@@ -1469,7 +1466,7 @@ libraryUpgrade: {
14691466
responseSerialize: serialize_cc_arduino_cli_commands_v1_LibraryUpgradeResponse,
14701467
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LibraryUpgradeResponse,
14711468
},
1472-
// Install a library from a Zip File
1469+
// Install a library from a Zip File.
14731470
zipLibraryInstall: {
14741471
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ZipLibraryInstall',
14751472
requestStream: false,
@@ -1481,7 +1478,7 @@ zipLibraryInstall: {
14811478
responseSerialize: serialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse,
14821479
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ZipLibraryInstallResponse,
14831480
},
1484-
// Download and install a library from a git url
1481+
// Download and install a library from a git url.
14851482
gitLibraryInstall: {
14861483
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/GitLibraryInstall',
14871484
requestStream: false,
@@ -1554,7 +1551,7 @@ libraryList: {
15541551
responseSerialize: serialize_cc_arduino_cli_commands_v1_LibraryListResponse,
15551552
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_LibraryListResponse,
15561553
},
1557-
// Open a monitor connection to a board port
1554+
// Open a monitor connection to a board port.
15581555
monitor: {
15591556
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/Monitor',
15601557
requestStream: true,
@@ -1566,7 +1563,7 @@ monitor: {
15661563
responseSerialize: serialize_cc_arduino_cli_commands_v1_MonitorResponse,
15671564
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_MonitorResponse,
15681565
},
1569-
// Returns the parameters that can be set in the MonitorRequest calls
1566+
// Returns the parameters that can be set in the MonitorRequest calls.
15701567
enumerateMonitorPortSettings: {
15711568
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/EnumerateMonitorPortSettings',
15721569
requestStream: false,
@@ -1638,7 +1635,7 @@ cleanDownloadCacheDirectory: {
16381635
responseSerialize: serialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse,
16391636
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_CleanDownloadCacheDirectoryResponse,
16401637
},
1641-
// Writes the settings currently stored in memory in a YAML file
1638+
// Writes the settings currently stored in memory in a YAML file.
16421639
configurationSave: {
16431640
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave',
16441641
requestStream: false,
@@ -1650,7 +1647,7 @@ configurationSave: {
16501647
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse,
16511648
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationSaveResponse,
16521649
},
1653-
// Read the settings from a YAML file
1650+
// Read the settings from a YAML file.
16541651
configurationOpen: {
16551652
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen',
16561653
requestStream: false,
@@ -1662,7 +1659,8 @@ configurationOpen: {
16621659
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse,
16631660
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationOpenResponse,
16641661
},
1665-
configurationGet: {
1662+
// Get the current configuration.
1663+
configurationGet: {
16661664
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet',
16671665
requestStream: false,
16681666
responseStream: false,
@@ -1673,7 +1671,7 @@ configurationOpen: {
16731671
responseSerialize: serialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse,
16741672
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_ConfigurationGetResponse,
16751673
},
1676-
// Enumerate all the keys/values pairs available in the configuration
1674+
// Enumerate all the keys/values pairs available in the configuration.
16771675
settingsEnumerate: {
16781676
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate',
16791677
requestStream: false,
@@ -1685,7 +1683,7 @@ settingsEnumerate: {
16851683
responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse,
16861684
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsEnumerateResponse,
16871685
},
1688-
// Get a single configuration value
1686+
// Get a single configuration value.
16891687
settingsGetValue: {
16901688
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue',
16911689
requestStream: false,
@@ -1697,7 +1695,7 @@ settingsGetValue: {
16971695
responseSerialize: serialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse,
16981696
responseDeserialize: deserialize_cc_arduino_cli_commands_v1_SettingsGetValueResponse,
16991697
},
1700-
// Set a single configuration value
1698+
// Set a single configuration value.
17011699
settingsSetValue: {
17021700
path: '/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue',
17031701
requestStream: false,

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.d.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
/* eslint-disable */
66

77
import * as jspb from "google-protobuf";
8-
import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb";
9-
import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb";
108
import * as cc_arduino_cli_commands_v1_board_pb from "../../../../../cc/arduino/cli/commands/v1/board_pb";
9+
import * as cc_arduino_cli_commands_v1_common_pb from "../../../../../cc/arduino/cli/commands/v1/common_pb";
1110
import * as cc_arduino_cli_commands_v1_compile_pb from "../../../../../cc/arduino/cli/commands/v1/compile_pb";
1211
import * as cc_arduino_cli_commands_v1_core_pb from "../../../../../cc/arduino/cli/commands/v1/core_pb";
1312
import * as cc_arduino_cli_commands_v1_debug_pb from "../../../../../cc/arduino/cli/commands/v1/debug_pb";
14-
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
15-
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
1613
import * as cc_arduino_cli_commands_v1_lib_pb from "../../../../../cc/arduino/cli/commands/v1/lib_pb";
14+
import * as cc_arduino_cli_commands_v1_monitor_pb from "../../../../../cc/arduino/cli/commands/v1/monitor_pb";
1715
import * as cc_arduino_cli_commands_v1_settings_pb from "../../../../../cc/arduino/cli/commands/v1/settings_pb";
16+
import * as cc_arduino_cli_commands_v1_upload_pb from "../../../../../cc/arduino/cli/commands/v1/upload_pb";
17+
import * as google_rpc_status_pb from "../../../../../google/rpc/status_pb";
1818

1919
export class CreateRequest extends jspb.Message {
2020

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/commands_pb.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@ var global = (function() {
2121
return Function('return this')();
2222
}.call(null));
2323

24-
var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js');
25-
goog.object.extend(proto, google_rpc_status_pb);
26-
var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js');
27-
goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb);
2824
var cc_arduino_cli_commands_v1_board_pb = require('../../../../../cc/arduino/cli/commands/v1/board_pb.js');
2925
goog.object.extend(proto, cc_arduino_cli_commands_v1_board_pb);
26+
var cc_arduino_cli_commands_v1_common_pb = require('../../../../../cc/arduino/cli/commands/v1/common_pb.js');
27+
goog.object.extend(proto, cc_arduino_cli_commands_v1_common_pb);
3028
var cc_arduino_cli_commands_v1_compile_pb = require('../../../../../cc/arduino/cli/commands/v1/compile_pb.js');
3129
goog.object.extend(proto, cc_arduino_cli_commands_v1_compile_pb);
3230
var cc_arduino_cli_commands_v1_core_pb = require('../../../../../cc/arduino/cli/commands/v1/core_pb.js');
3331
goog.object.extend(proto, cc_arduino_cli_commands_v1_core_pb);
3432
var cc_arduino_cli_commands_v1_debug_pb = require('../../../../../cc/arduino/cli/commands/v1/debug_pb.js');
3533
goog.object.extend(proto, cc_arduino_cli_commands_v1_debug_pb);
36-
var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js');
37-
goog.object.extend(proto, cc_arduino_cli_commands_v1_monitor_pb);
38-
var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js');
39-
goog.object.extend(proto, cc_arduino_cli_commands_v1_upload_pb);
4034
var cc_arduino_cli_commands_v1_lib_pb = require('../../../../../cc/arduino/cli/commands/v1/lib_pb.js');
4135
goog.object.extend(proto, cc_arduino_cli_commands_v1_lib_pb);
36+
var cc_arduino_cli_commands_v1_monitor_pb = require('../../../../../cc/arduino/cli/commands/v1/monitor_pb.js');
37+
goog.object.extend(proto, cc_arduino_cli_commands_v1_monitor_pb);
4238
var cc_arduino_cli_commands_v1_settings_pb = require('../../../../../cc/arduino/cli/commands/v1/settings_pb.js');
4339
goog.object.extend(proto, cc_arduino_cli_commands_v1_settings_pb);
40+
var cc_arduino_cli_commands_v1_upload_pb = require('../../../../../cc/arduino/cli/commands/v1/upload_pb.js');
41+
goog.object.extend(proto, cc_arduino_cli_commands_v1_upload_pb);
42+
var google_rpc_status_pb = require('../../../../../google/rpc/status_pb.js');
43+
goog.object.extend(proto, google_rpc_status_pb);
4444
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchRequest', null, global);
4545
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.ArchiveSketchResponse', null, global);
4646
goog.exportSymbol('proto.cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest', null, global);

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.d.ts

+63
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,11 @@ export class Sketch extends jspb.Message {
471471
getDefaultProgrammer(): string;
472472
setDefaultProgrammer(value: string): Sketch;
473473

474+
hasDefaultPortConfig(): boolean;
475+
clearDefaultPortConfig(): void;
476+
getDefaultPortConfig(): MonitorPortConfiguration | undefined;
477+
setDefaultPortConfig(value?: MonitorPortConfiguration): Sketch;
478+
474479
serializeBinary(): Uint8Array;
475480
toObject(includeInstance?: boolean): Sketch.AsObject;
476481
static toObject(includeInstance: boolean, msg: Sketch): Sketch.AsObject;
@@ -494,6 +499,52 @@ export namespace Sketch {
494499
profilesList: Array<SketchProfile.AsObject>,
495500
defaultProfile?: SketchProfile.AsObject,
496501
defaultProgrammer: string,
502+
defaultPortConfig?: MonitorPortConfiguration.AsObject,
503+
}
504+
}
505+
506+
export class MonitorPortConfiguration extends jspb.Message {
507+
clearSettingsList(): void;
508+
getSettingsList(): Array<MonitorPortSetting>;
509+
setSettingsList(value: Array<MonitorPortSetting>): MonitorPortConfiguration;
510+
addSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting;
511+
512+
serializeBinary(): Uint8Array;
513+
toObject(includeInstance?: boolean): MonitorPortConfiguration.AsObject;
514+
static toObject(includeInstance: boolean, msg: MonitorPortConfiguration): MonitorPortConfiguration.AsObject;
515+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
516+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
517+
static serializeBinaryToWriter(message: MonitorPortConfiguration, writer: jspb.BinaryWriter): void;
518+
static deserializeBinary(bytes: Uint8Array): MonitorPortConfiguration;
519+
static deserializeBinaryFromReader(message: MonitorPortConfiguration, reader: jspb.BinaryReader): MonitorPortConfiguration;
520+
}
521+
522+
export namespace MonitorPortConfiguration {
523+
export type AsObject = {
524+
settingsList: Array<MonitorPortSetting.AsObject>,
525+
}
526+
}
527+
528+
export class MonitorPortSetting extends jspb.Message {
529+
getSettingId(): string;
530+
setSettingId(value: string): MonitorPortSetting;
531+
getValue(): string;
532+
setValue(value: string): MonitorPortSetting;
533+
534+
serializeBinary(): Uint8Array;
535+
toObject(includeInstance?: boolean): MonitorPortSetting.AsObject;
536+
static toObject(includeInstance: boolean, msg: MonitorPortSetting): MonitorPortSetting.AsObject;
537+
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
538+
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
539+
static serializeBinaryToWriter(message: MonitorPortSetting, writer: jspb.BinaryWriter): void;
540+
static deserializeBinary(bytes: Uint8Array): MonitorPortSetting;
541+
static deserializeBinaryFromReader(message: MonitorPortSetting, reader: jspb.BinaryReader): MonitorPortSetting;
542+
}
543+
544+
export namespace MonitorPortSetting {
545+
export type AsObject = {
546+
settingId: string,
547+
value: string,
497548
}
498549
}
499550

@@ -504,6 +555,15 @@ export class SketchProfile extends jspb.Message {
504555
setFqbn(value: string): SketchProfile;
505556
getProgrammer(): string;
506557
setProgrammer(value: string): SketchProfile;
558+
getPort(): string;
559+
setPort(value: string): SketchProfile;
560+
561+
hasPortConfig(): boolean;
562+
clearPortConfig(): void;
563+
getPortConfig(): MonitorPortConfiguration | undefined;
564+
setPortConfig(value?: MonitorPortConfiguration): SketchProfile;
565+
getProtocol(): string;
566+
setProtocol(value: string): SketchProfile;
507567

508568
serializeBinary(): Uint8Array;
509569
toObject(includeInstance?: boolean): SketchProfile.AsObject;
@@ -520,5 +580,8 @@ export namespace SketchProfile {
520580
name: string,
521581
fqbn: string,
522582
programmer: string,
583+
port: string,
584+
portConfig?: MonitorPortConfiguration.AsObject,
585+
protocol: string,
523586
}
524587
}

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/common_pb.js

+528-2
Large diffs are not rendered by default.

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.d.ts

+10
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,10 @@ export class IsDebugSupportedRequest extends jspb.Message {
119119
setInterpreter(value: string): IsDebugSupportedRequest;
120120
getProgrammer(): string;
121121
setProgrammer(value: string): IsDebugSupportedRequest;
122+
clearDebugPropertiesList(): void;
123+
getDebugPropertiesList(): Array<string>;
124+
setDebugPropertiesList(value: Array<string>): IsDebugSupportedRequest;
125+
addDebugProperties(value: string, index?: number): string;
122126

123127
serializeBinary(): Uint8Array;
124128
toObject(includeInstance?: boolean): IsDebugSupportedRequest.AsObject;
@@ -137,6 +141,7 @@ export namespace IsDebugSupportedRequest {
137141
port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject,
138142
interpreter: string,
139143
programmer: string,
144+
debugPropertiesList: Array<string>,
140145
}
141146
}
142147

@@ -184,6 +189,10 @@ export class GetDebugConfigRequest extends jspb.Message {
184189
setImportDir(value: string): GetDebugConfigRequest;
185190
getProgrammer(): string;
186191
setProgrammer(value: string): GetDebugConfigRequest;
192+
clearDebugPropertiesList(): void;
193+
getDebugPropertiesList(): Array<string>;
194+
setDebugPropertiesList(value: Array<string>): GetDebugConfigRequest;
195+
addDebugProperties(value: string, index?: number): string;
187196

188197
serializeBinary(): Uint8Array;
189198
toObject(includeInstance?: boolean): GetDebugConfigRequest.AsObject;
@@ -204,6 +213,7 @@ export namespace GetDebugConfigRequest {
204213
interpreter: string,
205214
importDir: string,
206215
programmer: string,
216+
debugPropertiesList: Array<string>,
207217
}
208218
}
209219

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/debug_pb.js

+116-4
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ if (goog.DEBUG && !COMPILED) {
111111
* @constructor
112112
*/
113113
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest = function(opt_data) {
114-
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
114+
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.repeatedFields_, null);
115115
};
116116
goog.inherits(proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest, jspb.Message);
117117
if (goog.DEBUG && !COMPILED) {
@@ -153,7 +153,7 @@ if (goog.DEBUG && !COMPILED) {
153153
* @constructor
154154
*/
155155
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest = function(opt_data) {
156-
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
156+
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.repeatedFields_, null);
157157
};
158158
goog.inherits(proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest, jspb.Message);
159159
if (goog.DEBUG && !COMPILED) {
@@ -841,6 +841,13 @@ proto.cc.arduino.cli.commands.v1.DebugResponse.prototype.hasResult = function()
841841

842842

843843

844+
/**
845+
* List of repeated fields within this message type.
846+
* @private {!Array<number>}
847+
* @const
848+
*/
849+
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.repeatedFields_ = [6];
850+
844851

845852

846853
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -876,7 +883,8 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.toObject = function(inc
876883
fqbn: jspb.Message.getFieldWithDefault(msg, 2, ""),
877884
port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f),
878885
interpreter: jspb.Message.getFieldWithDefault(msg, 4, ""),
879-
programmer: jspb.Message.getFieldWithDefault(msg, 5, "")
886+
programmer: jspb.Message.getFieldWithDefault(msg, 5, ""),
887+
debugPropertiesList: (f = jspb.Message.getRepeatedField(msg, 6)) == null ? undefined : f
880888
};
881889

882890
if (includeInstance) {
@@ -935,6 +943,10 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.deserializeBinaryFromRe
935943
var value = /** @type {string} */ (reader.readString());
936944
msg.setProgrammer(value);
937945
break;
946+
case 6:
947+
var value = /** @type {string} */ (reader.readString());
948+
msg.addDebugProperties(value);
949+
break;
938950
default:
939951
reader.skipField();
940952
break;
@@ -1001,6 +1013,13 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.serializeBinaryToWriter
10011013
f
10021014
);
10031015
}
1016+
f = message.getDebugPropertiesList();
1017+
if (f.length > 0) {
1018+
writer.writeRepeatedString(
1019+
6,
1020+
f
1021+
);
1022+
}
10041023
};
10051024

10061025

@@ -1132,6 +1151,43 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.setProgrammer
11321151
};
11331152

11341153

1154+
/**
1155+
* repeated string debug_properties = 6;
1156+
* @return {!Array<string>}
1157+
*/
1158+
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.getDebugPropertiesList = function() {
1159+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 6));
1160+
};
1161+
1162+
1163+
/**
1164+
* @param {!Array<string>} value
1165+
* @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this
1166+
*/
1167+
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.setDebugPropertiesList = function(value) {
1168+
return jspb.Message.setField(this, 6, value || []);
1169+
};
1170+
1171+
1172+
/**
1173+
* @param {string} value
1174+
* @param {number=} opt_index
1175+
* @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this
1176+
*/
1177+
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.addDebugProperties = function(value, opt_index) {
1178+
return jspb.Message.addToRepeatedField(this, 6, value, opt_index);
1179+
};
1180+
1181+
1182+
/**
1183+
* Clears the list making it empty but non-null.
1184+
* @return {!proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest} returns this
1185+
*/
1186+
proto.cc.arduino.cli.commands.v1.IsDebugSupportedRequest.prototype.clearDebugPropertiesList = function() {
1187+
return this.setDebugPropertiesList([]);
1188+
};
1189+
1190+
11351191

11361192

11371193

@@ -1293,6 +1349,13 @@ proto.cc.arduino.cli.commands.v1.IsDebugSupportedResponse.prototype.setDebugFqbn
12931349

12941350

12951351

1352+
/**
1353+
* List of repeated fields within this message type.
1354+
* @private {!Array<number>}
1355+
* @const
1356+
*/
1357+
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.repeatedFields_ = [10];
1358+
12961359

12971360

12981361
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -1330,7 +1393,8 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.toObject = function(inclu
13301393
port: (f = msg.getPort()) && cc_arduino_cli_commands_v1_port_pb.Port.toObject(includeInstance, f),
13311394
interpreter: jspb.Message.getFieldWithDefault(msg, 5, ""),
13321395
importDir: jspb.Message.getFieldWithDefault(msg, 8, ""),
1333-
programmer: jspb.Message.getFieldWithDefault(msg, 9, "")
1396+
programmer: jspb.Message.getFieldWithDefault(msg, 9, ""),
1397+
debugPropertiesList: (f = jspb.Message.getRepeatedField(msg, 10)) == null ? undefined : f
13341398
};
13351399

13361400
if (includeInstance) {
@@ -1397,6 +1461,10 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.deserializeBinaryFromRead
13971461
var value = /** @type {string} */ (reader.readString());
13981462
msg.setProgrammer(value);
13991463
break;
1464+
case 10:
1465+
var value = /** @type {string} */ (reader.readString());
1466+
msg.addDebugProperties(value);
1467+
break;
14001468
default:
14011469
reader.skipField();
14021470
break;
@@ -1477,6 +1545,13 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.serializeBinaryToWriter =
14771545
f
14781546
);
14791547
}
1548+
f = message.getDebugPropertiesList();
1549+
if (f.length > 0) {
1550+
writer.writeRepeatedString(
1551+
10,
1552+
f
1553+
);
1554+
}
14801555
};
14811556

14821557

@@ -1644,6 +1719,43 @@ proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.setProgrammer =
16441719
};
16451720

16461721

1722+
/**
1723+
* repeated string debug_properties = 10;
1724+
* @return {!Array<string>}
1725+
*/
1726+
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.getDebugPropertiesList = function() {
1727+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 10));
1728+
};
1729+
1730+
1731+
/**
1732+
* @param {!Array<string>} value
1733+
* @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this
1734+
*/
1735+
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.setDebugPropertiesList = function(value) {
1736+
return jspb.Message.setField(this, 10, value || []);
1737+
};
1738+
1739+
1740+
/**
1741+
* @param {string} value
1742+
* @param {number=} opt_index
1743+
* @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this
1744+
*/
1745+
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.addDebugProperties = function(value, opt_index) {
1746+
return jspb.Message.addToRepeatedField(this, 10, value, opt_index);
1747+
};
1748+
1749+
1750+
/**
1751+
* Clears the list making it empty but non-null.
1752+
* @return {!proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest} returns this
1753+
*/
1754+
proto.cc.arduino.cli.commands.v1.GetDebugConfigRequest.prototype.clearDebugPropertiesList = function() {
1755+
return this.setDebugPropertiesList([]);
1756+
};
1757+
1758+
16471759

16481760

16491761

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.d.ts

+9-54
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ export class MonitorRequest extends jspb.Message {
2424

2525
hasUpdatedConfiguration(): boolean;
2626
clearUpdatedConfiguration(): void;
27-
getUpdatedConfiguration(): MonitorPortConfiguration | undefined;
28-
setUpdatedConfiguration(value?: MonitorPortConfiguration): MonitorRequest;
27+
getUpdatedConfiguration(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined;
28+
setUpdatedConfiguration(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorRequest;
2929

3030
hasClose(): boolean;
3131
clearClose(): void;
@@ -48,7 +48,7 @@ export namespace MonitorRequest {
4848
export type AsObject = {
4949
openRequest?: MonitorPortOpenRequest.AsObject,
5050
txData: Uint8Array | string,
51-
updatedConfiguration?: MonitorPortConfiguration.AsObject,
51+
updatedConfiguration?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject,
5252
close: boolean,
5353
}
5454

@@ -78,8 +78,8 @@ export class MonitorPortOpenRequest extends jspb.Message {
7878

7979
hasPortConfiguration(): boolean;
8080
clearPortConfiguration(): void;
81-
getPortConfiguration(): MonitorPortConfiguration | undefined;
82-
setPortConfiguration(value?: MonitorPortConfiguration): MonitorPortOpenRequest;
81+
getPortConfiguration(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined;
82+
setPortConfiguration(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorPortOpenRequest;
8383

8484
serializeBinary(): Uint8Array;
8585
toObject(includeInstance?: boolean): MonitorPortOpenRequest.AsObject;
@@ -96,29 +96,7 @@ export namespace MonitorPortOpenRequest {
9696
instance?: cc_arduino_cli_commands_v1_common_pb.Instance.AsObject,
9797
port?: cc_arduino_cli_commands_v1_port_pb.Port.AsObject,
9898
fqbn: string,
99-
portConfiguration?: MonitorPortConfiguration.AsObject,
100-
}
101-
}
102-
103-
export class MonitorPortConfiguration extends jspb.Message {
104-
clearSettingsList(): void;
105-
getSettingsList(): Array<MonitorPortSetting>;
106-
setSettingsList(value: Array<MonitorPortSetting>): MonitorPortConfiguration;
107-
addSettings(value?: MonitorPortSetting, index?: number): MonitorPortSetting;
108-
109-
serializeBinary(): Uint8Array;
110-
toObject(includeInstance?: boolean): MonitorPortConfiguration.AsObject;
111-
static toObject(includeInstance: boolean, msg: MonitorPortConfiguration): MonitorPortConfiguration.AsObject;
112-
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
113-
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
114-
static serializeBinaryToWriter(message: MonitorPortConfiguration, writer: jspb.BinaryWriter): void;
115-
static deserializeBinary(bytes: Uint8Array): MonitorPortConfiguration;
116-
static deserializeBinaryFromReader(message: MonitorPortConfiguration, reader: jspb.BinaryReader): MonitorPortConfiguration;
117-
}
118-
119-
export namespace MonitorPortConfiguration {
120-
export type AsObject = {
121-
settingsList: Array<MonitorPortSetting.AsObject>,
99+
portConfiguration?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject,
122100
}
123101
}
124102

@@ -138,8 +116,8 @@ export class MonitorResponse extends jspb.Message {
138116

139117
hasAppliedSettings(): boolean;
140118
clearAppliedSettings(): void;
141-
getAppliedSettings(): MonitorPortConfiguration | undefined;
142-
setAppliedSettings(value?: MonitorPortConfiguration): MonitorResponse;
119+
getAppliedSettings(): cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration | undefined;
120+
setAppliedSettings(value?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration): MonitorResponse;
143121

144122
hasSuccess(): boolean;
145123
clearSuccess(): void;
@@ -162,7 +140,7 @@ export namespace MonitorResponse {
162140
export type AsObject = {
163141
error: string,
164142
rxData: Uint8Array | string,
165-
appliedSettings?: MonitorPortConfiguration.AsObject,
143+
appliedSettings?: cc_arduino_cli_commands_v1_common_pb.MonitorPortConfiguration.AsObject,
166144
success: boolean,
167145
}
168146

@@ -176,29 +154,6 @@ export namespace MonitorResponse {
176154

177155
}
178156

179-
export class MonitorPortSetting extends jspb.Message {
180-
getSettingId(): string;
181-
setSettingId(value: string): MonitorPortSetting;
182-
getValue(): string;
183-
setValue(value: string): MonitorPortSetting;
184-
185-
serializeBinary(): Uint8Array;
186-
toObject(includeInstance?: boolean): MonitorPortSetting.AsObject;
187-
static toObject(includeInstance: boolean, msg: MonitorPortSetting): MonitorPortSetting.AsObject;
188-
static extensions: {[key: number]: jspb.ExtensionFieldInfo<jspb.Message>};
189-
static extensionsBinary: {[key: number]: jspb.ExtensionFieldBinaryInfo<jspb.Message>};
190-
static serializeBinaryToWriter(message: MonitorPortSetting, writer: jspb.BinaryWriter): void;
191-
static deserializeBinary(bytes: Uint8Array): MonitorPortSetting;
192-
static deserializeBinaryFromReader(message: MonitorPortSetting, reader: jspb.BinaryReader): MonitorPortSetting;
193-
}
194-
195-
export namespace MonitorPortSetting {
196-
export type AsObject = {
197-
settingId: string,
198-
value: string,
199-
}
200-
}
201-
202157
export class EnumerateMonitorPortSettingsRequest extends jspb.Message {
203158

204159
hasInstance(): boolean;

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/monitor_pb.js

+15-379
Large diffs are not rendered by default.

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.d.ts

+15
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ export class UploadRequest extends jspb.Message {
3838

3939
getUserFieldsMap(): jspb.Map<string, string>;
4040
clearUserFieldsMap(): void;
41+
clearUploadPropertiesList(): void;
42+
getUploadPropertiesList(): Array<string>;
43+
setUploadPropertiesList(value: Array<string>): UploadRequest;
44+
addUploadProperties(value: string, index?: number): string;
4145

4246
serializeBinary(): Uint8Array;
4347
toObject(includeInstance?: boolean): UploadRequest.AsObject;
@@ -63,6 +67,7 @@ export namespace UploadRequest {
6367
dryRun: boolean,
6468

6569
userFieldsMap: Array<[string, string]>,
70+
uploadPropertiesList: Array<string>,
6671
}
6772
}
6873

@@ -185,6 +190,10 @@ export class UploadUsingProgrammerRequest extends jspb.Message {
185190

186191
getUserFieldsMap(): jspb.Map<string, string>;
187192
clearUserFieldsMap(): void;
193+
clearUploadPropertiesList(): void;
194+
getUploadPropertiesList(): Array<string>;
195+
setUploadPropertiesList(value: Array<string>): UploadUsingProgrammerRequest;
196+
addUploadProperties(value: string, index?: number): string;
188197

189198
serializeBinary(): Uint8Array;
190199
toObject(includeInstance?: boolean): UploadUsingProgrammerRequest.AsObject;
@@ -210,6 +219,7 @@ export namespace UploadUsingProgrammerRequest {
210219
dryRun: boolean,
211220

212221
userFieldsMap: Array<[string, string]>,
222+
uploadPropertiesList: Array<string>,
213223
}
214224
}
215225

@@ -279,6 +289,10 @@ export class BurnBootloaderRequest extends jspb.Message {
279289

280290
getUserFieldsMap(): jspb.Map<string, string>;
281291
clearUserFieldsMap(): void;
292+
clearUploadPropertiesList(): void;
293+
getUploadPropertiesList(): Array<string>;
294+
setUploadPropertiesList(value: Array<string>): BurnBootloaderRequest;
295+
addUploadProperties(value: string, index?: number): string;
282296

283297
serializeBinary(): Uint8Array;
284298
toObject(includeInstance?: boolean): BurnBootloaderRequest.AsObject;
@@ -301,6 +315,7 @@ export namespace BurnBootloaderRequest {
301315
dryRun: boolean,
302316

303317
userFieldsMap: Array<[string, string]>,
318+
uploadPropertiesList: Array<string>,
304319
}
305320
}
306321

‎arduino-ide-extension/src/node/cli-protocol/cc/arduino/cli/commands/v1/upload_pb.js

+174-6
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ goog.exportSymbol('proto.cc.arduino.cli.commands.v1.UserField', null, global);
5252
* @constructor
5353
*/
5454
proto.cc.arduino.cli.commands.v1.UploadRequest = function(opt_data) {
55-
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
55+
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.UploadRequest.repeatedFields_, null);
5656
};
5757
goog.inherits(proto.cc.arduino.cli.commands.v1.UploadRequest, jspb.Message);
5858
if (goog.DEBUG && !COMPILED) {
@@ -136,7 +136,7 @@ if (goog.DEBUG && !COMPILED) {
136136
* @constructor
137137
*/
138138
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest = function(opt_data) {
139-
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
139+
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.repeatedFields_, null);
140140
};
141141
goog.inherits(proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest, jspb.Message);
142142
if (goog.DEBUG && !COMPILED) {
@@ -178,7 +178,7 @@ if (goog.DEBUG && !COMPILED) {
178178
* @constructor
179179
*/
180180
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest = function(opt_data) {
181-
jspb.Message.initialize(this, opt_data, 0, -1, null, null);
181+
jspb.Message.initialize(this, opt_data, 0, -1, proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.repeatedFields_, null);
182182
};
183183
goog.inherits(proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest, jspb.Message);
184184
if (goog.DEBUG && !COMPILED) {
@@ -315,6 +315,13 @@ if (goog.DEBUG && !COMPILED) {
315315
proto.cc.arduino.cli.commands.v1.SupportedUserFieldsResponse.displayName = 'proto.cc.arduino.cli.commands.v1.SupportedUserFieldsResponse';
316316
}
317317

318+
/**
319+
* List of repeated fields within this message type.
320+
* @private {!Array<number>}
321+
* @const
322+
*/
323+
proto.cc.arduino.cli.commands.v1.UploadRequest.repeatedFields_ = [12];
324+
318325

319326

320327
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -356,7 +363,8 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.toObject = function(includeInstan
356363
importDir: jspb.Message.getFieldWithDefault(msg, 8, ""),
357364
programmer: jspb.Message.getFieldWithDefault(msg, 9, ""),
358365
dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),
359-
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : []
366+
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [],
367+
uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f
360368
};
361369

362370
if (includeInstance) {
@@ -441,6 +449,10 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.deserializeBinaryFromReader = fun
441449
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
442450
});
443451
break;
452+
case 12:
453+
var value = /** @type {string} */ (reader.readString());
454+
msg.addUploadProperties(value);
455+
break;
444456
default:
445457
reader.skipField();
446458
break;
@@ -546,6 +558,13 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.serializeBinaryToWriter = functio
546558
if (f && f.getLength() > 0) {
547559
f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
548560
}
561+
f = message.getUploadPropertiesList();
562+
if (f.length > 0) {
563+
writer.writeRepeatedString(
564+
12,
565+
f
566+
);
567+
}
549568
};
550569

551570

@@ -789,6 +808,43 @@ proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.clearUserFieldsMap = fu
789808
return this;};
790809

791810

811+
/**
812+
* repeated string upload_properties = 12;
813+
* @return {!Array<string>}
814+
*/
815+
proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.getUploadPropertiesList = function() {
816+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 12));
817+
};
818+
819+
820+
/**
821+
* @param {!Array<string>} value
822+
* @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this
823+
*/
824+
proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.setUploadPropertiesList = function(value) {
825+
return jspb.Message.setField(this, 12, value || []);
826+
};
827+
828+
829+
/**
830+
* @param {string} value
831+
* @param {number=} opt_index
832+
* @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this
833+
*/
834+
proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.addUploadProperties = function(value, opt_index) {
835+
return jspb.Message.addToRepeatedField(this, 12, value, opt_index);
836+
};
837+
838+
839+
/**
840+
* Clears the list making it empty but non-null.
841+
* @return {!proto.cc.arduino.cli.commands.v1.UploadRequest} returns this
842+
*/
843+
proto.cc.arduino.cli.commands.v1.UploadRequest.prototype.clearUploadPropertiesList = function() {
844+
return this.setUploadPropertiesList([]);
845+
};
846+
847+
792848

793849
/**
794850
* Oneof group definitions for this message. Each group defines the field
@@ -1364,6 +1420,13 @@ proto.cc.arduino.cli.commands.v1.ProgrammerIsRequiredForUploadError.serializeBin
13641420

13651421

13661422

1423+
/**
1424+
* List of repeated fields within this message type.
1425+
* @private {!Array<number>}
1426+
* @const
1427+
*/
1428+
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.repeatedFields_ = [12];
1429+
13671430

13681431

13691432
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -1405,7 +1468,8 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.toObject = functio
14051468
importDir: jspb.Message.getFieldWithDefault(msg, 8, ""),
14061469
programmer: jspb.Message.getFieldWithDefault(msg, 9, ""),
14071470
dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 10, false),
1408-
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : []
1471+
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [],
1472+
uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f
14091473
};
14101474

14111475
if (includeInstance) {
@@ -1490,6 +1554,10 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.deserializeBinaryF
14901554
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
14911555
});
14921556
break;
1557+
case 12:
1558+
var value = /** @type {string} */ (reader.readString());
1559+
msg.addUploadProperties(value);
1560+
break;
14931561
default:
14941562
reader.skipField();
14951563
break;
@@ -1595,6 +1663,13 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.serializeBinaryToW
15951663
if (f && f.getLength() > 0) {
15961664
f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
15971665
}
1666+
f = message.getUploadPropertiesList();
1667+
if (f.length > 0) {
1668+
writer.writeRepeatedString(
1669+
12,
1670+
f
1671+
);
1672+
}
15981673
};
15991674

16001675

@@ -1838,6 +1913,43 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUse
18381913
return this;};
18391914

18401915

1916+
/**
1917+
* repeated string upload_properties = 12;
1918+
* @return {!Array<string>}
1919+
*/
1920+
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.getUploadPropertiesList = function() {
1921+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 12));
1922+
};
1923+
1924+
1925+
/**
1926+
* @param {!Array<string>} value
1927+
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this
1928+
*/
1929+
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.setUploadPropertiesList = function(value) {
1930+
return jspb.Message.setField(this, 12, value || []);
1931+
};
1932+
1933+
1934+
/**
1935+
* @param {string} value
1936+
* @param {number=} opt_index
1937+
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this
1938+
*/
1939+
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.addUploadProperties = function(value, opt_index) {
1940+
return jspb.Message.addToRepeatedField(this, 12, value, opt_index);
1941+
};
1942+
1943+
1944+
/**
1945+
* Clears the list making it empty but non-null.
1946+
* @return {!proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest} returns this
1947+
*/
1948+
proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest.prototype.clearUploadPropertiesList = function() {
1949+
return this.setUploadPropertiesList([]);
1950+
};
1951+
1952+
18411953

18421954
/**
18431955
* Oneof group definitions for this message. Each group defines the field
@@ -2109,6 +2221,13 @@ proto.cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse.prototype.hasErrS
21092221

21102222

21112223

2224+
/**
2225+
* List of repeated fields within this message type.
2226+
* @private {!Array<number>}
2227+
* @const
2228+
*/
2229+
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.repeatedFields_ = [12];
2230+
21122231

21132232

21142233
if (jspb.Message.GENERATE_TO_OBJECT) {
@@ -2147,7 +2266,8 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.toObject = function(inclu
21472266
verify: jspb.Message.getBooleanFieldWithDefault(msg, 5, false),
21482267
programmer: jspb.Message.getFieldWithDefault(msg, 6, ""),
21492268
dryRun: jspb.Message.getBooleanFieldWithDefault(msg, 7, false),
2150-
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : []
2269+
userFieldsMap: (f = msg.getUserFieldsMap()) ? f.toObject(includeInstance, undefined) : [],
2270+
uploadPropertiesList: (f = jspb.Message.getRepeatedField(msg, 12)) == null ? undefined : f
21512271
};
21522272

21532273
if (includeInstance) {
@@ -2220,6 +2340,10 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.deserializeBinaryFromRead
22202340
jspb.Map.deserializeBinary(message, reader, jspb.BinaryReader.prototype.readString, jspb.BinaryReader.prototype.readString, null, "", "");
22212341
});
22222342
break;
2343+
case 12:
2344+
var value = /** @type {string} */ (reader.readString());
2345+
msg.addUploadProperties(value);
2346+
break;
22232347
default:
22242348
reader.skipField();
22252349
break;
@@ -2304,6 +2428,13 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.serializeBinaryToWriter =
23042428
if (f && f.getLength() > 0) {
23052429
f.serializeBinary(11, writer, jspb.BinaryWriter.prototype.writeString, jspb.BinaryWriter.prototype.writeString);
23062430
}
2431+
f = message.getUploadPropertiesList();
2432+
if (f.length > 0) {
2433+
writer.writeRepeatedString(
2434+
12,
2435+
f
2436+
);
2437+
}
23072438
};
23082439

23092440

@@ -2493,6 +2624,43 @@ proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUserFields
24932624
return this;};
24942625

24952626

2627+
/**
2628+
* repeated string upload_properties = 12;
2629+
* @return {!Array<string>}
2630+
*/
2631+
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.getUploadPropertiesList = function() {
2632+
return /** @type {!Array<string>} */ (jspb.Message.getRepeatedField(this, 12));
2633+
};
2634+
2635+
2636+
/**
2637+
* @param {!Array<string>} value
2638+
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this
2639+
*/
2640+
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.setUploadPropertiesList = function(value) {
2641+
return jspb.Message.setField(this, 12, value || []);
2642+
};
2643+
2644+
2645+
/**
2646+
* @param {string} value
2647+
* @param {number=} opt_index
2648+
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this
2649+
*/
2650+
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.addUploadProperties = function(value, opt_index) {
2651+
return jspb.Message.addToRepeatedField(this, 12, value, opt_index);
2652+
};
2653+
2654+
2655+
/**
2656+
* Clears the list making it empty but non-null.
2657+
* @return {!proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest} returns this
2658+
*/
2659+
proto.cc.arduino.cli.commands.v1.BurnBootloaderRequest.prototype.clearUploadPropertiesList = function() {
2660+
return this.setUploadPropertiesList([]);
2661+
};
2662+
2663+
24962664

24972665
/**
24982666
* Oneof group definitions for this message. Each group defines the field

‎arduino-ide-extension/src/node/monitor-service.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@ import {
2222
import {
2323
EnumerateMonitorPortSettingsRequest,
2424
EnumerateMonitorPortSettingsResponse,
25-
MonitorPortConfiguration,
2625
MonitorPortOpenRequest,
27-
MonitorPortSetting,
2826
MonitorRequest,
2927
MonitorResponse,
3028
} from './cli-protocol/cc/arduino/cli/commands/v1/monitor_pb';
@@ -39,6 +37,10 @@ import {
3937
} from '@theia/core/lib/common/promise-util';
4038
import { MonitorServiceFactoryOptions } from './monitor-service-factory';
4139
import { ServiceError } from './service-error';
40+
import {
41+
MonitorPortConfiguration,
42+
MonitorPortSetting,
43+
} from './cli-protocol/cc/arduino/cli/commands/v1/common_pb';
4244

4345
export const MonitorServiceName = 'monitor-service';
4446
type DuplexHandlerKeys =

‎arduino-ide-extension/src/node/sketches-service-impl.ts

+45-7
Original file line numberDiff line numberDiff line change
@@ -670,25 +670,30 @@ export class SketchesServiceImpl
670670

671671
async tempBuildPath(sketch: Sketch): Promise<string[]> {
672672
const sketchPath = FileUri.fsPath(sketch.uri);
673-
const { tempDirRealpath } = this.isTempSketch;
674-
const tempBuildPaths = [
675-
this.tempBuildPathMD5Hash(tempDirRealpath, sketchPath),
676-
];
673+
674+
let basePath: string;
675+
try {
676+
basePath = this.userCacheDir();
677+
} catch {
678+
const { tempDirRealpath } = this.isTempSketch;
679+
basePath = tempDirRealpath;
680+
}
681+
const tempBuildPaths = [this.tempBuildPathMD5Hash(basePath, sketchPath)];
677682

678683
// If on Windows, provide both the upper and the lowercase drive letter MD5 hashes. All together four paths are expected:
679684
// One of them should match if the sketch is not yet compiled.
680685
// https://github.com/arduino/arduino-ide/pull/1809#discussion_r1071031040
681-
if (isWindows && Win32DriveRegex.test(tempDirRealpath)) {
686+
if (isWindows && Win32DriveRegex.test(basePath)) {
682687
const toggleFirstCharCasing = (s: string) =>
683688
startsWithUpperCase(s) ? firstToLowerCase(s) : firstToUpperCase(s);
684-
const otherCaseTempDirRealPath = toggleFirstCharCasing(tempDirRealpath);
689+
const otherCaseTempDirRealPath = toggleFirstCharCasing(basePath);
685690
tempBuildPaths.push(
686691
this.tempBuildPathMD5Hash(otherCaseTempDirRealPath, sketchPath)
687692
);
688693
if (Win32DriveRegex.test(sketchPath)) {
689694
const otherCaseSketchPath = toggleFirstCharCasing(sketchPath);
690695
tempBuildPaths.push(
691-
this.tempBuildPathMD5Hash(tempDirRealpath, otherCaseSketchPath),
696+
this.tempBuildPathMD5Hash(basePath, otherCaseSketchPath),
692697
this.tempBuildPathMD5Hash(
693698
otherCaseTempDirRealPath,
694699
otherCaseSketchPath
@@ -699,6 +704,39 @@ export class SketchesServiceImpl
699704
return tempBuildPaths;
700705
}
701706

707+
/**
708+
* Replica of Go `os.UserCacheDir()`.
709+
* https://github.com/golang/go/blob/777f43ab27bde4c662cd0a663f807f74f3fbab0f/src/os/file.go#L477
710+
*/
711+
userCacheDir(): string {
712+
let dir: string | undefined;
713+
const platform = os.platform();
714+
715+
switch (platform) {
716+
case 'darwin': {
717+
dir = os.homedir() + '/Library/Caches';
718+
break;
719+
}
720+
case 'win32': {
721+
dir = process.env.LocalAppData || undefined;
722+
if (!dir) {
723+
throw new Error('%LocalAppData% is not defined');
724+
}
725+
break;
726+
}
727+
default: {
728+
dir = process.env.XDG_CACHE_HOME || undefined;
729+
if (!dir) {
730+
dir = os.homedir() + '/.cache';
731+
} else if (!path.isAbsolute(dir)) {
732+
throw new Error('path in $XDG_CACHE_HOME is relative');
733+
}
734+
}
735+
}
736+
737+
return dir;
738+
}
739+
702740
private tempBuildPathMD5Hash(tempFolderPath: string, path: string): string {
703741
return join(
704742
tempFolderPath,

0 commit comments

Comments
 (0)
Please sign in to comment.