It is common for a "port" to be used in some way during the process of uploading to a board. However, the array of
Arduino boards is very diverse. Some of these do not produce a port and their upload method has no need for one.
For this reason, the IDE must allow the upload process to be initiated regardless of whether a port happens to be
selected. During the addition of support for user provided fields, an unwarranted assumption was made that all boards
require a port selection for upload and this resulted in a regression that broke uploading for these boards. This
regression was especially user unfriendly in that there was no response whatsoever from the IDE when the user attempted
to initiate an upload under these conditions.
The bug is hereby fixed. The upload process will always be initiated by the IDE regardless of whether a port is
selected. In cases where a port is required, the resulting error message returned by Arduino CLI or the upload tool will
communicate the problem to the user.
If the board select dialog is listening on the backend's event,
the frontend might miss the event when it comes up, although boards
are connected and ports are discovered.
Closes#573
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
- From now on, NSFW service disposes after last reference
is removed. No more 10sec delay.
- Moved the temp workspace deletion to a startup task.
- Can set initial task for the window from electron-main.
- Removed the `browser-app`.
Closes#39
Signed-off-by: Akos Kitta <a.kitta@arduino.cc>
* Update Theia to 1.19.0
* update CLI to 0.20.0-rc3
* Add language selector to settings
* updated language server and vscode-arduino-tools
* update Language Server flags
* get cli port from config
* force native menu on windows
* pinned Language Server to rc2
* fix search icon
* update CLI version
* Rebuild gRPC protocol interfaces
* Implement methods to get user fields for board/port combination
* Implement dialog to input board user fields
* Add configure and upload step when uploading to board requiring user fields
* Disable Sketch > Configure and Upload menu if board doesn't support user fields
* Fix serial upload not working with all boards
* Update i18n source file
* fix user fields UI
* regenerate cli protocol
* fix localisation
* check if user fields are empty
Co-authored-by: Alberto Iannaccone <a.iannaccone@arduino.cc>
* Removed Protocol type
* Reworked function that groups ports by protocol
* Remove useless protocol check in Port sameAs function
* Reworked port selection menu ordering
Now ports are shown in this order:
1. Serial with recognized boards
2. Serial with unrecognized boards
3. Network with recognized boards
4. Network with unrecognized boards
5. Other protocols with recognized boards
6. Other protocols with unrecognized boards
* Fix ports shown multiple times in menu
* Reworked board selection dropdown ordering
Ordering is now:
1. Serial with recognized boards
2. Serial with guessed boards
3. Serial with incomplete boards
4. Network with recognized boards
5. Other protocols with recognized boards
* Localize some strings
* Fix bug selecting board in boards selector dropdown
* Reworked board selection dialog ordering
* Fix Tools > Port menu not refreshing
* Move Select other board button to bottom of Board selector dropdown and change its style
* Updated arduino-cli to 0.20.0 and generated protocol files
* spawn new window where to instantiate serial plotter app
* initialize serial monito web app
* connect serial plotter app with websocket
* use npm serial-plotter package
* refactor monitor connection and fix some connection issues
* fix clearConsole + refactor monitor connection
* add serial unit tests
* refactoring and cleaning code
- Fixed a monitor reconnecting issue after upload.
- Serial monitor connection was not disposed when the widget was closed
from the toolbar with the magnifier (🔍) icon. It worked only iff the
user closed the view with the `X`.
- This commit also fixes a warning that was related to the incorrect focus
handling of the widget.
- Switched to `board list -w` instead of polling.
- Added a singleton for the board discovery to spare the CPU.
- Fixed DI scopes on the backend. Each frontend gets its own service.
- Switched to the `20201112` nightly CLI.
- Fixed the Monitor view's image when the view is on the side-bar.
Signed-off-by: Akos Kitta <kittaakos@typefox.io>