diff --git a/arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts b/arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts index d95b1252a..78f444fe8 100644 --- a/arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts +++ b/arduino-ide-extension/src/node/arduino-firmware-uploader-impl.ts @@ -76,7 +76,7 @@ export class ArduinoFirmwareUploaderImpl implements ArduinoFirmwareUploader { fqbn: firmware.board_fqbn, }; try { - this.monitorManager.notifyUploadStarted(board, port); + await this.monitorManager.notifyUploadStarted(board, port); output = await this.runCommand([ 'firmware', 'flash', diff --git a/arduino-ide-extension/src/node/monitor-manager.ts b/arduino-ide-extension/src/node/monitor-manager.ts index 0f01fc958..5b5669059 100644 --- a/arduino-ide-extension/src/node/monitor-manager.ts +++ b/arduino-ide-extension/src/node/monitor-manager.ts @@ -215,6 +215,8 @@ export class MonitorManager extends CoreClientAware { * @returns a unique monitor ID */ private monitorID(board: Board, port: Port): MonitorID { - return `${board.fqbn}-${port.address}-${port.protocol}`; + const splitFqbn = board?.fqbn?.split(':') || []; + const shortenedFqbn = splitFqbn.slice(0, 3).join(':') || ''; + return `${shortenedFqbn}-${port.address}-${port.protocol}`; } }