|
1 | 1 | # serial-monitor-rust
|
2 |
| -A cross-platform serial monitor/plotter written entirely in rust, the GUI is written using [egui](https://github.com/emilk/egui). |
3 |
| -Inspired by the serial monitor/plotter from the Arduino IDE, but both plotting and reading the traffic can be done simultaneously. |
4 |
| -Additionally, the output of the plot and the traffic can be saved to a file (TBD). The window of the plot can also be adjusted. |
5 |
| -Data points in the received string between ", " or "," or ":" or ": " that can be parsed into floats will be plotted as lines, everything else will be discarded without raising an error. |
6 |
| - |
| 2 | + |
| 3 | +A cross-platform serial monitor/plotter written entirely in rust, the GUI is written |
| 4 | +using [egui](https://github.com/emilk/egui). |
| 5 | +Inspired by the serial monitor/plotter from the Arduino IDE, but both plotting and reading the traffic can be done |
| 6 | +simultaneously. |
| 7 | +Additionally, the output of the plot and the traffic can be saved to a file (TBD). The window of the plot can also be |
| 8 | +adjusted. |
| 9 | +Data points in the received string between ", " or "," or ":" or ": " that can be parsed into floats will be plotted as |
| 10 | +lines, everything else will be discarded without raising an error. |
| 11 | + |
7 | 12 | Features:
|
8 |
| -* Plotting and printing of data simultaneously |
9 |
| -* Smart data parser, works with ", " or "," or ":" or ": " |
10 |
| -* History of the past sent commands |
11 |
| -* Low CPU Usage, lightweight |
12 |
| -* Clear history options |
13 |
| -* Data Window width is adjustable |
14 |
| -* Cross-platform, fully written in Rust |
15 |
| -* Ability to save text to file |
16 |
| -* Ability to save the plot (Attention: uses unsafe code, experimental) |
17 |
| - |
18 |
| -TODOs: |
19 |
| -* Save raw data to file (at least as an option) |
20 |
| -* Smarter data parser |
21 |
| -* allow to put in labels for the different data columns (instead of column 1, 2, ...) |
22 |
| -* make serial print selectable and show corresponding datapoint in plot |
23 |
| -* COM-Port names on Windows (display manufacturer, name, pid or vid of device?) |
24 |
| -* make side panel and plot/serial prompt be resizeable (snappy?) |
25 |
| -* current command entered is lost when navigating through the history |
26 |
| -* command history is currently unlimited (needs an upper limit to prevent huge memory usage) |
27 |
| -* ... |
28 | 13 |
|
| 14 | +- [X] Plotting and printing of data simultaneously |
| 15 | +- [X] Smart data parser, works with ", " or "," or ":" or ": " |
| 16 | +- [X] History of the past sent commands |
| 17 | +- [X] Low CPU Usage, lightweight |
| 18 | +- [X] Clear history options |
| 19 | +- [X] Data Window width is adjustable |
| 20 | +- [X] Cross-platform, fully written in Rust |
| 21 | +- [X] Ability to save text to file |
| 22 | +- [X] Ability to save the plot (Attention: uses unsafe code, experimental) |
| 23 | +- [ ] Save raw data to file (at least as an option) |
| 24 | +- [ ] Smarter data parser |
| 25 | +- [ ] allow to put in labels for the different data columns (instead of column 1, 2, ...) |
| 26 | +- [ ] make serial print selectable and show corresponding datapoint in plot |
| 27 | +- [ ] COM-Port names on Windows (display manufacturer, name, pid or vid of device?) |
| 28 | +- [ ] make side panel and plot/serial prompt be resizeable (snappy?) |
| 29 | +- [ ] current command entered is lost when navigating through the history |
| 30 | +- [ ] command history is currently unlimited (needs an upper limit to prevent huge memory usage) |
| 31 | +- [ ] ... |
29 | 32 |
|
30 | 33 | 
|
31 | 34 |
|
32 | 35 | The source code can be run using ```cargo run``` or bundled to a platform-executable using ```cargo bundle```.
|
33 |
| -Currently [cargo bundle](https://github.com/burtonageo/cargo-bundle) only supports linux and macOS bundles [see github issue](https://github.com/burtonageo/cargo-bundle/issues/77). |
| 36 | +Currently [cargo bundle](https://github.com/burtonageo/cargo-bundle) only supports linux and macOS |
| 37 | +bundles [see github issue](https://github.com/burtonageo/cargo-bundle/issues/77). |
34 | 38 | As a work-around we can use [cargo wix](https://github.com/volks73/cargo-wix) to create a windows installer.
|
35 | 39 | It can be compiled and run on all platforms.
|
36 | 40 | Tested on:
|
| 41 | + |
37 | 42 | - macOS 12.4 Monterey x86
|
38 | 43 | - macOS 13.2.1 Ventura ARM
|
39 | 44 | - Windows 10 x86
|
40 |
| -- ... |
| 45 | +- ... |
41 | 46 |
|
42 | 47 | On Debian 12 (Testing) the following error occurred:
|
| 48 | + |
43 | 49 | ```
|
44 | 50 | Error: glib-2.0 was not found in the pkg-config search path.
|
45 | 51 | ```
|
| 52 | + |
46 | 53 | solved through
|
| 54 | + |
47 | 55 | ```
|
48 | 56 | sudo apt-get install libgtk-3-dev
|
49 | 57 | ```
|
|
0 commit comments