Serial port handling: Difference between revisions
No edit summary |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Back to [[Basebot]] | Back to [[Basebot]] | ||
== Windows == | == Windows (and Linux) == | ||
==== Arduino IDE ==== | ==== Arduino IDE ==== | ||
Line 11: | Line 11: | ||
==== Visual Studio Code ==== | ==== Visual Studio Code ==== | ||
From | From the menu: View -> Command Palette -> | ||
Type PlatformIO: New Terminal | Type PlatformIO: New Terminal | ||
(next time this command will be first in line) | (next time, this command will be first in line) | ||
In this terminal type | In this terminal type | ||
Line 29: | Line 28: | ||
(the same for both Windows and Linux) | (the same for both Windows and Linux) | ||
The file aaa.txt could contain something like: | |||
--- Terminal on /dev/ttyACM1 | 9600 8-N-1 | |||
--- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, no control, printable, send_on_enter, time | |||
--- More details at https://bit.ly/pio-monitor-filters | |||
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H | |||
0.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 | |||
1.17 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 | |||
1.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 | |||
2.17 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 | |||
2.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 | |||
... | |||
1998.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
1999.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
1999.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
2000.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
2000.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
2001.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 | |||
% Set Sample time 500 usec. Measured Sample time 499.99 usec. | |||
The numeric content depends on the code (the first column is here time in ms). The lead-in text must be removed before loading into Matlab. | |||
== Linux == | == Linux == |
Latest revision as of 10:26, 16 September 2024
Back to Basebot
Windows (and Linux)
Arduino IDE
I couldn't find a way to save the serial monitor data to a disk file.
So find another app that allows communication in the serial line and save the output to a disk file (or allow copy-paste to do the same).
Visual Studio Code
From the menu: View -> Command Palette -> Type PlatformIO: New Terminal
(next time, this command will be first in line)
In this terminal type
pio device monitor > aaa.txt
It will try to open the communication and save it to the aaa.txt file.
Try pressing the start button on the robot (wheels up). Then press ctrl-C to stop the monitoring and inspect the file.
(the same for both Windows and Linux)
The file aaa.txt could contain something like:
--- Terminal on /dev/ttyACM1 | 9600 8-N-1 --- Available filters and text transformations: colorize, debug, default, direct, hexlify, log2file, no control, printable, send_on_enter, time --- More details at https://bit.ly/pio-monitor-filters --- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H 0.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 1.17 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 1.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 2.17 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 2.67 2.00 0.26 -0.26 0 0 0 0 1 0 0 0 1 0 2.13 2.43 ... 1998.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 1999.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 1999.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 2000.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 2000.67 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 2001.17 0.00 -0.36 -0.34 0 0 0 0 1 0 0 0 1 0 2.85 3.23 % Set Sample time 500 usec. Measured Sample time 499.99 usec.
The numeric content depends on the code (the first column is here time in ms). The lead-in text must be removed before loading into Matlab.
Linux
In Linux, the serial device is called /dev/ttyACM0 (typically), and to copy the robot output to a file is:
$ cat /dev/ttyACM0 > aaa.txt
And use ctrl-C to stop.
You can, in another terminal, send commands to the robot, i.e.:
$ echo "start" > /dev/ttyACM0
This is the same as pressing the start button.
Apple
I don't know