Skip to content

Commit 194232c

Browse files
committed
fix handeling of programmer name in ide and cli
1 parent dbe6fe7 commit 194232c

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

src/arduino/programmerManager.ts

+10-9
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import * as constants from "../common/constants";
33
import { DeviceContext } from "../deviceContext";
44
import { ArduinoApp } from "./arduino";
55
import { IArduinoSettings } from "./arduinoSettings";
6-
import { IBoard, IPlatform, IProgrammer } from "./package";
6+
import { IBoard, IProgrammer } from "./package";
77

88
export class ProgrammerManager {
99
public static notFoundDisplayValue: string = "<Select Programmer>";
@@ -53,21 +53,22 @@ export class ProgrammerManager {
5353
return;
5454
}
5555

56-
this.setProgrammerValue(this._settings.useArduinoCli ? chosen.programmer.name : chosen.programmer.key);
57-
DeviceContext.getInstance().programmer = chosen.programmer.name;
56+
this.setProgrammerValue(chosen.programmer.name);
57+
DeviceContext.getInstance().programmer = this._programmerValue;
5858
}
5959

60-
private setProgrammerValue(programmerKey: string | null) {
61-
this._programmerValue = programmerKey;
60+
private setProgrammerValue(programmerName: string | null) {
61+
const programmer = this._arduinoApp.boardManager.installedProgrammers.get(programmerName);
62+
this._programmerValue = this._settings.useArduinoCli ? programmerName : programmer ? programmer.key : programmerName;
6263
this._programmerDisplayName = this._programmerValue
63-
? this.getDisplayName(this._programmerValue)
64+
? this.getDisplayName(programmerName)
6465
: ProgrammerManager.notFoundDisplayValue;
6566
this._programmerStatusBar.text = this._programmerDisplayName;
6667
}
6768

68-
private getDisplayName(programmerKey: string): string {
69-
const programmer = this._arduinoApp.boardManager.installedProgrammers.get(programmerKey);
70-
return programmer ? programmer.displayName : programmerKey;
69+
private getDisplayName(programmerName: string): string {
70+
const programmer = this._arduinoApp.boardManager.installedProgrammers.get(programmerName);
71+
return programmer ? programmer.displayName : programmerName;
7172
}
7273

7374
private getAvailableProgrammers(currentBoard: IBoard): IProgrammer[] {

test/programmermanager.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ suite("Arduino: Programmer Manager.", () => {
7272
test("changing arduino.ino value should change programmer", (done) => {
7373
DeviceContext.getInstance().programmer = programmers[0].name;
7474
setTimeout(() => {
75-
assert.equal(programmerManager.currentProgrammer, programmers[0].name);
75+
assert.equal(programmerManager.currentProgrammer, programmers[0].key);
7676
assert.equal(programmerManager.currentDisplayName, programmers[0].displayName);
7777
done();
7878
}, 200);

0 commit comments

Comments
 (0)