Skip to content
This repository was archived by the owner on Dec 22, 2024. It is now read-only.

Commit f053064

Browse files
elektronikworkshophlovdal
authored andcommitted
Notes about serial monitor
* Added more serial monitor ideas from [John Lonergan](microsoft#463 (comment)) * Added some ideas how to implement a better serial monitor
1 parent 9fc8e45 commit f053064

File tree

1 file changed

+23
-2
lines changed

1 file changed

+23
-2
lines changed

BRANCHNOTES.md

+23-2
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,17 @@ Provide a configuration flag which allows the user to turn this feature off - th
4444
| | :white_check_mark: JSON input |
4545
| | :white_check_mark: JSON output |
4646
| | :white_check_mark: Configuration merging |
47+
| | :white_check_mark: Test with cpp sketches |
4748
| **General** | :white_check_mark: Review and remove previous attempts messing with `c_cpp_properties.json` or IntelliSense. (Partially done - documented in the [General Tasks](#General-Tasks) section |
48-
| | :white_check_mark: Auto-run verify after a) *setting a board* b) *changing the sketch*. We have to generate a valid `c_cpp_properties.json` to keep IntelliSense working in such situations. Identify other occasions where this applies (usually when adding new libraries), hint the user to run *verify*? -> Good moment would be after the workbench initialization -> message in arduino channel |
49+
| | :white_check_mark: Auto-run verify after a) *setting a board* b) *changing the sketch* c) *workbench initialized and no `c_cpp_properties.json` has been found*. We have to generate a valid `c_cpp_properties.json` to keep IntelliSense working in such situations. Identify other occasions where this applies (usually when adding new libraries), hint the user to run *verify*? -> Good moment would be after the workbench initialization -> message in arduino channel |
4950
| | :heavy_check_mark: Document configuration settings in [README.md](README.md) |
5051
| | :white_check_mark: Document features in [README.md](README.md) (partially done) |
5152
| | :heavy_check_mark: Try to auto-generate even if verify (i.e. compilation) fails |
5253
| | :heavy_check_mark: Extract compiler command parser from vscode-arduino and [publish](https://itnext.io/step-by-step-building-and-publishing-an-npm-typescript-package-44fe7164964c) it as a separate package which will allow reusage and easy testing without heavy vscode-arduino rucksack. Done, see [cocopa](https://www.npmjs.com/package/cocopa) |
5354
| | :white_check_mark: Finally: go through my code and look for TODOs |
5455

55-
`*` not committed to branch yet
56+
`*` not committed to branch yet
57+
`>` most of the actual parsing and configuration generation is part of [cocopa](https://github.com/elektronikworkshop/cocopa/) ([here](https://www.npmjs.com/package/cocopa)'s the npm package)
5658

5759
## Motivation
5860
I write a lot of code for Arduino, especially libraries. The Arduino IDE is not suited for more complex projects and I tried several alternatives:
@@ -93,6 +95,25 @@ I will list every supporter here, thanks!
9395
* Logging for IntelliSense https://code.visualstudio.com/docs/cpp/enable-logging-cpp
9496
## Future Work
9597
* Proper interactive serial terminal (this is the second major show stopper in my opinion)
98+
* Command history option
99+
* From https://github.com/microsoft/vscode-arduino/issues/463#issuecomment-583846263 and following:
100+
* allow input on the serial monitor in a convenient way - ie just type and hit return, just like the Arduino IDE
101+
* have the serial monitor window NOT keep turning off autoscroll (there is a separate ticket for this)
102+
* have the option of the serial monitor and/or compile window auto clear each time the sketch is compiled
103+
* Plus there is the annoying default where the compile runs in verbose mode and we have to manually edit config files to turn off the trace output
104+
* Plus plus... Is there a way to automatically select the right serial port?
105+
* Oh and one more. I want the serial output and perhaps compile windows to be undocked or at least I want them to sit to the right of my code window but they seem rigidly stuck at the bottom of the screen.
106+
* And I would probably prioritize ease of use over better editing/intelligence.
107+
* Being able to set baud rate within monitor
108+
* Possible implementation hooks
109+
* run node program in native terminal and connect it to extension
110+
* https://github.com/serialport/node-serialport
111+
* [General](https://serialport.io/docs/guide-about)
112+
* [CLI](https://serialport.io/docs/guide-cli)
113+
* [API](https://serialport.io/docs/guide-usage)
114+
* write a [debugger extension](https://code.visualstudio.com/api/extension-guides/debugger-extension) with a [mock](https://github.com/Microsoft/vscode-mock-debug) which communicates with the serial
115+
116+
Plus plus... Is there a way to automatically select the right serial port?
96117
* Lots of redundant code
97118
* e.g. "upload is a superset of "verify"
98119
* general lack of modularity - the above is the result

0 commit comments

Comments
 (0)