File tree 3 files changed +25
-22
lines changed
arduino-ide-extension/src
3 files changed +25
-22
lines changed Original file line number Diff line number Diff line change @@ -16,15 +16,12 @@ import {
16
16
arduinoCert ,
17
17
certificateList ,
18
18
} from '../dialogs/certificate-uploader/utils' ;
19
- import { ArduinoFirmwareUploader } from '../../common/protocol/arduino-firmware-uploader' ;
19
+ import {
20
+ ArduinoFirmwareUploader ,
21
+ UploadCertificateParams ,
22
+ } from '../../common/protocol/arduino-firmware-uploader' ;
20
23
import { nls } from '@theia/core/lib/common' ;
21
24
22
- interface UploadCertificateParams {
23
- readonly fqbn : string ;
24
- readonly address : string ;
25
- readonly urls : readonly string [ ] ;
26
- }
27
-
28
25
@injectable ( )
29
26
export class UploadCertificate extends Contribution {
30
27
@inject ( UploadCertificateDialog )
@@ -81,16 +78,7 @@ export class UploadCertificate extends Contribution {
81
78
82
79
registry . registerCommand ( UploadCertificate . Commands . UPLOAD_CERT , {
83
80
execute : async ( params : UploadCertificateParams ) => {
84
- const { fqbn, address, urls } = params ;
85
- return this . arduinoFirmwareUploader . uploadCertificates ( {
86
- flags : [
87
- '-b' ,
88
- fqbn ,
89
- '-a' ,
90
- address ,
91
- ...urls . flatMap ( ( url ) => [ '-u' , url ] ) ,
92
- ] ,
93
- } ) ;
81
+ return this . arduinoFirmwareUploader . uploadCertificates ( params ) ;
94
82
} ,
95
83
} ) ;
96
84
Original file line number Diff line number Diff line change @@ -3,17 +3,22 @@ import type { Port } from './boards-service';
3
3
export const ArduinoFirmwareUploaderPath =
4
4
'/services/arduino-firmware-uploader' ;
5
5
export const ArduinoFirmwareUploader = Symbol ( 'ArduinoFirmwareUploader' ) ;
6
- export type FirmwareInfo = {
6
+ export interface FirmwareInfo {
7
7
board_name : string ;
8
8
board_fqbn : string ;
9
9
module : string ;
10
10
firmware_version : string ;
11
11
Latest : boolean ;
12
- } ;
12
+ }
13
+ export interface UploadCertificateParams {
14
+ readonly fqbn : string ;
15
+ readonly address : string ;
16
+ readonly urls : readonly string [ ] ;
17
+ }
13
18
export interface ArduinoFirmwareUploader {
14
19
list ( fqbn ?: string ) : Promise < FirmwareInfo [ ] > ;
15
20
flash ( firmware : FirmwareInfo , port : Port ) : Promise < string > ;
16
- uploadCertificates ( params : { flags : string [ ] } ) : Promise < any > ;
21
+ uploadCertificates ( params : UploadCertificateParams ) : Promise < unknown > ;
17
22
updatableBoards ( ) : Promise < string [ ] > ;
18
23
availableFirmwares ( fqbn : string ) : Promise < FirmwareInfo [ ] > ;
19
24
}
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ import type { Port } from '../common/protocol';
4
4
import {
5
5
ArduinoFirmwareUploader ,
6
6
FirmwareInfo ,
7
+ UploadCertificateParams ,
7
8
} from '../common/protocol/arduino-firmware-uploader' ;
8
9
import { spawnCommand } from './exec-util' ;
9
10
import { MonitorManager } from './monitor-manager' ;
@@ -17,8 +18,17 @@ export class ArduinoFirmwareUploaderImpl implements ArduinoFirmwareUploader {
17
18
@inject ( MonitorManager )
18
19
private readonly monitorManager : MonitorManager ;
19
20
20
- async uploadCertificates ( params : { flags : string [ ] } ) : Promise < string > {
21
- return await this . runCommand ( [ 'certificates' , 'flash' , ...params . flags ] ) ;
21
+ async uploadCertificates ( params : UploadCertificateParams ) : Promise < string > {
22
+ const { fqbn, address, urls } = params ;
23
+ return await this . runCommand ( [
24
+ 'certificates' ,
25
+ 'flash' ,
26
+ '-b' ,
27
+ fqbn ,
28
+ '-a' ,
29
+ address ,
30
+ ...urls . flatMap ( ( url ) => [ '-u' , url ] ) ,
31
+ ] ) ;
22
32
}
23
33
24
34
async list ( fqbn ?: string ) : Promise < FirmwareInfo [ ] > {
You can’t perform that action at this time.
0 commit comments