Skip to content

Commit d75ae8f

Browse files
Alberto Iannacconefstasi
Alberto Iannaccone
authored andcommitted
fix fwuploader flashing inssues
1 parent fe8ec09 commit d75ae8f

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

Diff for: arduino-ide-extension/src/browser/dialogs/firmware-uploader/firmware-uploader-component.tsx

+15-10
Original file line numberDiff line numberDiff line change
@@ -70,16 +70,21 @@ export const FirmwareUploaderComponent = ({
7070
(firmware) => firmware.firmware_version === selectedFirmware?.value
7171
);
7272

73-
const installStatus =
74-
!!firmwareToFlash &&
75-
!!selectedBoard?.port &&
76-
(await firmwareUploader.flash(
77-
firmwareToFlash,
78-
selectedBoard?.port.address
79-
));
80-
81-
setInstallFeedback((installStatus && 'ok') || 'fail');
82-
setInstallingFw(false);
73+
try {
74+
const installStatus =
75+
!!firmwareToFlash &&
76+
!!selectedBoard?.port &&
77+
(await firmwareUploader.flash(
78+
firmwareToFlash,
79+
selectedBoard?.port.address
80+
));
81+
82+
setInstallFeedback((installStatus && 'ok') || 'fail');
83+
setInstallingFw(false);
84+
} catch {
85+
setInstallFeedback('fail');
86+
setInstallingFw(false);
87+
}
8388
}, [firmwareUploader, selectedBoard, selectedFirmware, availableFirmwares]);
8489

8590
const onBoardSelect = React.useCallback(

Diff for: arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts

+10-13
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,7 @@ export class ArduinoFirmwareUploaderImpl implements ArduinoFirmwareUploader {
3232

3333
async runCommand(args: string[]): Promise<any> {
3434
const execPath = await this.getExecPath();
35-
const raw = await spawnCommand(
36-
`"${execPath}"`,
37-
args,
38-
this.onError.bind(this)
39-
);
40-
return JSON.parse(raw);
35+
return await spawnCommand(`"${execPath}"`, args, this.onError.bind(this));
4136
}
4237

4338
async uploadCertificates(command: string): Promise<any> {
@@ -47,13 +42,15 @@ export class ArduinoFirmwareUploaderImpl implements ArduinoFirmwareUploader {
4742
async list(fqbn?: string): Promise<FirmwareInfo[]> {
4843
const fqbnFlag = fqbn ? ['--fqbn', fqbn] : [];
4944
const firmwares: FirmwareInfo[] =
50-
(await this.runCommand([
51-
'firmware',
52-
'list',
53-
'--format',
54-
'json',
55-
...fqbnFlag,
56-
])) || [];
45+
JSON.parse(
46+
await this.runCommand([
47+
'firmware',
48+
'list',
49+
...fqbnFlag,
50+
'--format',
51+
'json',
52+
])
53+
) || [];
5754
return firmwares.reverse();
5855
}
5956

0 commit comments

Comments
 (0)