mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-07-27 05:06:42 +00:00
Made the port optional for upload using programmer
Signed-off-by: Akos Kitta <kittaakos@typefox.io>
This commit is contained in:
parent
5f515f0597
commit
d13a43668e
@ -98,20 +98,27 @@ export class UploadSketch extends SketchContribution {
|
|||||||
let options: CoreService.Upload.Options | undefined = undefined;
|
let options: CoreService.Upload.Options | undefined = undefined;
|
||||||
const sketchUri = uri;
|
const sketchUri = uri;
|
||||||
const optimizeForDebug = this.editorMode.compileForDebug;
|
const optimizeForDebug = this.editorMode.compileForDebug;
|
||||||
|
const { selectedPort } = boardsConfig;
|
||||||
|
|
||||||
if (usingProgrammer) {
|
if (usingProgrammer) {
|
||||||
const programmer = selectedProgrammer;
|
const programmer = selectedProgrammer;
|
||||||
if (!programmer) {
|
if (!programmer) {
|
||||||
throw new Error('Programmer is not selected. Please select a programmer.');
|
throw new Error('Programmer is not selected. Please select a programmer.');
|
||||||
}
|
}
|
||||||
|
let port: undefined | string = undefined;
|
||||||
|
// If the port is set by the user, we pass it to the CLI as it might be required.
|
||||||
|
// If it is not set but the CLI requires it, we let the CLI to complain.
|
||||||
|
if (selectedPort) {
|
||||||
|
port = selectedPort.address;
|
||||||
|
}
|
||||||
options = {
|
options = {
|
||||||
sketchUri,
|
sketchUri,
|
||||||
fqbn,
|
fqbn,
|
||||||
optimizeForDebug,
|
optimizeForDebug,
|
||||||
programmer
|
programmer,
|
||||||
|
port
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
const { selectedPort } = boardsConfig;
|
|
||||||
if (!selectedPort) {
|
if (!selectedPort) {
|
||||||
throw new Error('No ports selected. Please select a port.');
|
throw new Error('No ports selected. Please select a port.');
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ export namespace CoreService {
|
|||||||
export namespace Upload {
|
export namespace Upload {
|
||||||
export type Options =
|
export type Options =
|
||||||
Compile.Options & Readonly<{ port: string }> |
|
Compile.Options & Readonly<{ port: string }> |
|
||||||
Compile.Options & Readonly<{ programmer: Programmer }>;
|
Compile.Options & Readonly<{ programmer: Programmer, port?: string }>;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -103,11 +103,12 @@ export class CoreServiceImpl implements CoreService {
|
|||||||
uploadReq.setInstance(instance);
|
uploadReq.setInstance(instance);
|
||||||
uploadReq.setSketchPath(sketchpath);
|
uploadReq.setSketchPath(sketchpath);
|
||||||
uploadReq.setFqbn(fqbn);
|
uploadReq.setFqbn(fqbn);
|
||||||
if ('port' in options) {
|
if ('programmer' in options) {
|
||||||
uploadReq.setPort(options.port);
|
|
||||||
} else {
|
|
||||||
uploadReq.setProgrammer(options.programmer.id);
|
uploadReq.setProgrammer(options.programmer.id);
|
||||||
}
|
}
|
||||||
|
if (options.port) {
|
||||||
|
uploadReq.setPort(options.port);
|
||||||
|
}
|
||||||
const result = client.upload(uploadReq);
|
const result = client.upload(uploadReq);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user