Skip to content

Commit e352f5a

Browse files
Alberto Iannacconefstasi
Alberto Iannaccone
authored andcommitted
refactoring and cleaning code
1 parent 90f9afe commit e352f5a

24 files changed

+337
-328
lines changed

Diff for: arduino-ide-extension/README.md

+8-5
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,20 @@ The Core Service is responsible for building your sketches and uploading them to
3030
- compiling a sketch for a selected board type
3131
- uploading a sketch to a connected board
3232

33-
#### Monitor Service
33+
#### Serial Service
3434

35-
The Monitor Service allows getting information back from sketches running on your Arduino boards.
35+
The Serial Service allows getting information back from sketches running on your Arduino boards.
3636

37-
- [src/common/protocol/monitor-service.ts](./src/common/protocol/monitor-service.ts) implements the common classes and interfaces
38-
- [src/node/monitor/monitor-service-impl.ts](./src/node/monitor/monitor-service-impl.ts) implements the service backend:
37+
- [src/common/protocol/serial-service.ts](./src/common/protocol/serial-service.ts) implements the common classes and interfaces
38+
- [src/node/serial/serial-service-impl.ts](./src/node/serial/serial-service-impl.ts) implements the service backend:
3939
- connecting to / disconnecting from a board
4040
- receiving and sending data
41-
- [src/browser/monitor/monitor-widget.tsx](./src/browser/monitor/monitor-widget.tsx) implements the serial monitor front-end:
41+
- [src/browser/serial/serial-connection-manager.ts](./src/browser/serial/serial-connection-manager.ts) handles the serial connection in the frontend
42+
- [src/browser/serial/monitor/monitor-widget.tsx](./src/browser/serial/monitor/monitor-widget.tsx) implements the serial monitor front-end:
4243
- viewing the output from a connected board
4344
- entering data to send to the board
45+
- [src/browser/serial/plotter/plotter-frontend-contribution.ts](./src/browser/serial/plotter/plotter-frontend-contribution.ts) implements the serial plotter front-end:
46+
- opening a new window running the [Serial Plotter Web App](https://github.com/arduino/arduino-serial-plotter-webapp)
4447

4548
#### Config Service
4649

Diff for: arduino-ide-extension/src/browser/arduino-frontend-contribution.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ import { BoardsServiceProvider } from './boards/boards-service-provider';
5858
import { BoardsToolBarItem } from './boards/boards-toolbar-item';
5959
import { EditorMode } from './editor-mode';
6060
import { ArduinoMenus } from './menu/arduino-menus';
61-
import { MonitorViewContribution } from './monitor/monitor-view-contribution';
61+
import { MonitorViewContribution } from './serial/monitor/monitor-view-contribution';
6262
import { ArduinoToolbar } from './toolbar/arduino-toolbar';
6363
import { HostedPluginSupport } from '@theia/plugin-ext/lib/hosted/browser/hosted-plugin';
6464
import { FileService } from '@theia/filesystem/lib/browser/file-service';

Diff for: arduino-ide-extension/src/browser/arduino-ide-frontend-module.ts

+18-18
Original file line numberDiff line numberDiff line change
@@ -69,20 +69,20 @@ import { ScmContribution } from './theia/scm/scm-contribution';
6969
import { SearchInWorkspaceFrontendContribution as TheiaSearchInWorkspaceFrontendContribution } from '@theia/search-in-workspace/lib/browser/search-in-workspace-frontend-contribution';
7070
import { SearchInWorkspaceFrontendContribution } from './theia/search-in-workspace/search-in-workspace-frontend-contribution';
7171
import { LibraryListWidgetFrontendContribution } from './library/library-widget-frontend-contribution';
72-
import { MonitorServiceClientImpl } from './monitor/monitor-service-client-impl';
72+
import { SerialServiceClientImpl } from './serial/serial-service-client-impl';
7373
import {
74-
MonitorServicePath,
75-
MonitorService,
76-
MonitorServiceClient,
77-
} from '../common/protocol/monitor-service';
74+
SerialServicePath,
75+
SerialService,
76+
SerialServiceClient,
77+
} from '../common/protocol/serial-service';
7878
import {
7979
ConfigService,
8080
ConfigServicePath,
8181
} from '../common/protocol/config-service';
82-
import { MonitorWidget } from './monitor/monitor-widget';
83-
import { MonitorViewContribution } from './monitor/monitor-view-contribution';
84-
import { SerialConnectionManager } from './monitor/monitor-connection';
85-
import { MonitorModel } from './monitor/monitor-model';
82+
import { MonitorWidget } from './serial/monitor/monitor-widget';
83+
import { MonitorViewContribution } from './serial/monitor/monitor-view-contribution';
84+
import { SerialConnectionManager } from './serial/serial-connection-manager';
85+
import { SerialModel } from './serial/serial-model';
8686
import { TabBarDecoratorService as TheiaTabBarDecoratorService } from '@theia/core/lib/browser/shell/tab-bar-decorator';
8787
import { TabBarDecoratorService } from './theia/core/tab-bar-decorator';
8888
import { ProblemManager as TheiaProblemManager } from '@theia/markers/lib/browser';
@@ -253,7 +253,7 @@ import {
253253
UploadCertificateDialogProps,
254254
UploadCertificateDialogWidget,
255255
} from './dialogs/certificate-uploader/certificate-uploader-dialog';
256-
import { PlotterFrontendContribution } from './plotter/plotter-frontend-contribution';
256+
import { PlotterFrontendContribution } from './serial/plotter/plotter-frontend-contribution';
257257
import { nls } from '@theia/core/lib/browser/nls';
258258

259259
const ElementQueries = require('css-element-queries/src/ElementQueries');
@@ -387,28 +387,28 @@ export default new ContainerModule((bind, unbind, isBound, rebind) => {
387387
.inSingletonScope();
388388

389389
// Serial monitor
390-
bind(MonitorModel).toSelf().inSingletonScope();
391-
bind(FrontendApplicationContribution).toService(MonitorModel);
390+
bind(SerialModel).toSelf().inSingletonScope();
391+
bind(FrontendApplicationContribution).toService(SerialModel);
392392
bind(MonitorWidget).toSelf();
393393
bindViewContribution(bind, MonitorViewContribution);
394394
bind(TabBarToolbarContribution).toService(MonitorViewContribution);
395395
bind(WidgetFactory).toDynamicValue((context) => ({
396396
id: MonitorWidget.ID,
397397
createWidget: () => context.container.get(MonitorWidget),
398398
}));
399-
// Frontend binding for the serial monitor service
400-
bind(MonitorService)
399+
// Frontend binding for the serial service
400+
bind(SerialService)
401401
.toDynamicValue((context) => {
402402
const connection = context.container.get(WebSocketConnectionProvider);
403403
const client =
404-
context.container.get<MonitorServiceClient>(MonitorServiceClient);
405-
return connection.createProxy(MonitorServicePath, client);
404+
context.container.get<SerialServiceClient>(SerialServiceClient);
405+
return connection.createProxy(SerialServicePath, client);
406406
})
407407
.inSingletonScope();
408408
bind(SerialConnectionManager).toSelf().inSingletonScope();
409409

410-
// Serial monitor service client to receive and delegate notifications from the backend.
411-
bind(MonitorServiceClient).to(MonitorServiceClientImpl).inSingletonScope();
410+
// Serial service client to receive and delegate notifications from the backend.
411+
bind(SerialServiceClient).to(SerialServiceClientImpl).inSingletonScope();
412412

413413
bind(WorkspaceService).toSelf().inSingletonScope();
414414
rebind(TheiaWorkspaceService).toService(WorkspaceService);

Diff for: arduino-ide-extension/src/browser/contributions/board-selection.ts

+17-7
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,11 @@ PID: ${PID}`;
138138
// The board specific items, and the rest, have order with `z`. We needed something between `0` and `z` with natural-order.
139139
this.menuModelRegistry.registerSubmenu(
140140
boardsSubmenuPath,
141-
nls.localize('arduino/board/board', 'Board{0}', !!boardsSubmenuLabel ? `: "${boardsSubmenuLabel}"` : ''),
141+
nls.localize(
142+
'arduino/board/board',
143+
'Board{0}',
144+
!!boardsSubmenuLabel ? `: "${boardsSubmenuLabel}"` : ''
145+
),
142146
{ order: '100' }
143147
);
144148
this.toDisposeBeforeMenuRebuild.push(
@@ -155,7 +159,11 @@ PID: ${PID}`;
155159
const portsSubmenuLabel = config.selectedPort?.address;
156160
this.menuModelRegistry.registerSubmenu(
157161
portsSubmenuPath,
158-
nls.localize('arduino/board/port', 'Port{0}', portsSubmenuLabel ? `: "${portsSubmenuLabel}"` : ''),
162+
nls.localize(
163+
'arduino/board/port',
164+
'Port{0}',
165+
portsSubmenuLabel ? `: "${portsSubmenuLabel}"` : ''
166+
),
159167
{ order: '101' }
160168
);
161169
this.toDisposeBeforeMenuRebuild.push(
@@ -193,9 +201,10 @@ PID: ${PID}`;
193201

194202
const packageLabel =
195203
packageName +
196-
`${manuallyInstalled
197-
? nls.localize('arduino/board/inSketchbook', ' (in Sketchbook)')
198-
: ''
204+
`${
205+
manuallyInstalled
206+
? nls.localize('arduino/board/inSketchbook', ' (in Sketchbook)')
207+
: ''
199208
}`;
200209
// Platform submenu
201210
const platformMenuPath = [...boardsPackagesGroup, packageId];
@@ -268,8 +277,9 @@ PID: ${PID}`;
268277
});
269278
}
270279
for (const { name, fqbn } of boards) {
271-
const id = `arduino-select-port--${address}${fqbn ? `--${fqbn}` : ''
272-
}`;
280+
const id = `arduino-select-port--${address}${
281+
fqbn ? `--${fqbn}` : ''
282+
}`;
273283
const command = { id };
274284
const handler = {
275285
execute: () => {

Diff for: arduino-ide-extension/src/browser/contributions/burn-bootloader.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { OutputChannelManager } from '@theia/output/lib/common/output-channel';
33
import { CoreService } from '../../common/protocol';
44
import { ArduinoMenus } from '../menu/arduino-menus';
55
import { BoardsDataStore } from '../boards/boards-data-store';
6-
import { SerialConnectionManager } from '../monitor/monitor-connection';
6+
import { SerialConnectionManager } from '../serial/serial-connection-manager';
77
import { BoardsServiceProvider } from '../boards/boards-service-provider';
88
import {
99
SketchContribution,
@@ -19,7 +19,7 @@ export class BurnBootloader extends SketchContribution {
1919
protected readonly coreService: CoreService;
2020

2121
@inject(SerialConnectionManager)
22-
protected readonly monitorConnection: SerialConnectionManager;
22+
protected readonly serialConnection: SerialConnectionManager;
2323

2424
@inject(BoardsDataStore)
2525
protected readonly boardsDataStore: BoardsDataStore;
@@ -48,7 +48,7 @@ export class BurnBootloader extends SketchContribution {
4848
}
4949

5050
async burnBootloader(): Promise<void> {
51-
await this.monitorConnection.disconnect();
51+
await this.serialConnection.disconnect();
5252
try {
5353
const { boardsConfig } = this.boardsServiceClientImpl;
5454
const port = boardsConfig.selectedPort;
@@ -81,8 +81,8 @@ export class BurnBootloader extends SketchContribution {
8181
} catch (e) {
8282
this.messageService.error(e.toString());
8383
} finally {
84-
if (this.monitorConnection.isSerialOpen()) {
85-
await this.monitorConnection.connect();
84+
if (this.serialConnection.isSerialOpen()) {
85+
await this.serialConnection.connect();
8686
}
8787
}
8888
}

Diff for: arduino-ide-extension/src/browser/contributions/upload-sketch.ts

+7-7
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { CoreService } from '../../common/protocol';
44
import { ArduinoMenus } from '../menu/arduino-menus';
55
import { ArduinoToolbar } from '../toolbar/arduino-toolbar';
66
import { BoardsDataStore } from '../boards/boards-data-store';
7-
import { SerialConnectionManager } from '../monitor/monitor-connection';
7+
import { SerialConnectionManager } from '../serial/serial-connection-manager';
88
import { BoardsServiceProvider } from '../boards/boards-service-provider';
99
import {
1010
SketchContribution,
@@ -22,7 +22,7 @@ export class UploadSketch extends SketchContribution {
2222
protected readonly coreService: CoreService;
2323

2424
@inject(SerialConnectionManager)
25-
protected readonly monitorConnection: SerialConnectionManager;
25+
protected readonly serialConnection: SerialConnectionManager;
2626

2727
@inject(BoardsDataStore)
2828
protected readonly boardsDataStore: BoardsDataStore;
@@ -108,7 +108,7 @@ export class UploadSketch extends SketchContribution {
108108
if (!sketch) {
109109
return;
110110
}
111-
await this.monitorConnection.disconnect();
111+
await this.serialConnection.disconnect();
112112
try {
113113
const { boardsConfig } = this.boardsServiceClientImpl;
114114
const [fqbn, { selectedProgrammer }, verify, verbose, sourceOverride] =
@@ -168,16 +168,16 @@ export class UploadSketch extends SketchContribution {
168168
this.onDidChangeEmitter.fire();
169169

170170
if (
171-
this.monitorConnection.isSerialOpen() &&
172-
this.monitorConnection.monitorConfig
171+
this.serialConnection.isSerialOpen() &&
172+
this.serialConnection.serialConfig
173173
) {
174-
const { board, port } = this.monitorConnection.monitorConfig;
174+
const { board, port } = this.serialConnection.serialConfig;
175175
try {
176176
await this.boardsServiceClientImpl.waitUntilAvailable(
177177
Object.assign(board, { port }),
178178
10_000
179179
);
180-
await this.monitorConnection.connect();
180+
await this.serialConnection.connect();
181181
} catch (waitError) {
182182
this.messageService.error(
183183
nls.localize(

Diff for: arduino-ide-extension/src/browser/monitor/monitor-view-contribution.tsx renamed to arduino-ide-extension/src/browser/serial/monitor/monitor-view-contribution.tsx

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ import {
77
TabBarToolbarContribution,
88
TabBarToolbarRegistry,
99
} from '@theia/core/lib/browser/shell/tab-bar-toolbar';
10-
import { ArduinoToolbar } from '../toolbar/arduino-toolbar';
11-
import { MonitorModel } from './monitor-model';
12-
import { ArduinoMenus } from '../menu/arduino-menus';
10+
import { ArduinoToolbar } from '../../toolbar/arduino-toolbar';
11+
import { SerialModel } from '../serial-model';
12+
import { ArduinoMenus } from '../../menu/arduino-menus';
1313
import { nls } from '@theia/core/lib/browser/nls';
1414

1515
export namespace SerialMonitor {
@@ -48,7 +48,7 @@ export class MonitorViewContribution
4848
static readonly TOGGLE_SERIAL_MONITOR_TOOLBAR =
4949
MonitorWidget.ID + ':toggle-toolbar';
5050

51-
@inject(MonitorModel) protected readonly model: MonitorModel;
51+
@inject(SerialModel) protected readonly model: SerialModel;
5252

5353
constructor() {
5454
super({

0 commit comments

Comments
 (0)