mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-04-22 06:17:21 +00:00

For some reason, port is reported to be busy on Windows. Signed-off-by: Akos Kitta <kittaakos@typefox.io>
Arduino IDE Extension
Arduino Pro IDE is based on Theia, and most of its IDE features, UIs and customizations are implemented in this Theia extension.
IDE Services
IDE services typically have a backend part in src/node/ and a front-end part in src/browser/.
Boards Service
The Boards Service continuously checks the computer's ports, in order to detect when you connect or disconnect an Arduino board.
The Boards Manager lists all the known board types, and allows downloading new cores to get additional board types.
- src/common/protocol/boards-service.ts implements the common classes and interfaces
- src/node/boards-service-impl.ts implements the service backend:
- discovering ports & boards
- searching for compatible board types
- installing new board types
- src/browser/boards/boards-list-widget.ts implements the Boards Manager front-end:
- browsing/searching available board types
- installing new board types
Core Service
The Core Service is responsible for building your sketches and uploading them to a board.
- src/common/protocol/core-service.ts implements the common classes and interfaces
- src/node/core-service-impl.ts implements the service backend:
- compiling a sketch for a selected board type
- uploading a sketch to a connected board
Monitor Service
The Monitor Service allows getting information back from sketches running on your Arduino boards.
- src/common/protocol/monitor-service.ts implements the common classes and interfaces
- src/node/monitor-service-impl.ts implements the service backend:
- connecting to / disconnecting from a board
- receiving and sending data
- src/browser/monitor/monitor-widget.tsx implements the serial monitor front-end:
- viewing the output from a connected board
- entering data to send to the board
Config Service
The Config Service knows about your system, like for example the default sketch locations.
- src/common/protocol/config-service.ts implements the common classes and interfaces
- src/node/config-service-impl.ts implements the service backend:
- getting the
arduino-cli
version and configuration - checking whether a file is in a data or sketch directory
- getting the