-
-
Notifications
You must be signed in to change notification settings - Fork 801
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serial monitor EOL and send_on_enter filter not working properly #3787
Comments
Thanks for the report! Please re-test with |
This fix does not work for me. def tx(self, text):
self._buffer += text
if self._buffer.endswith(self._eol):
return self._buffer
return "" Not sure if this hack has any side effects. |
This is the correct behavior. We send text ON ENTER and we don't send "enter". If you need EOL chars - then do not use this filter. @schleb Am I correct? |
I wonder how I could send something like Same problem is mentioned here: Forum |
Thanks for the report! Please re-test with |
Thank you very much for the fast response! This works pretty well for me, but I am not sure if there exists a use case where you want to use |
PySerial does not support this https://github.com/pyserial/pyserial/blob/master/serial/tools/miniterm.py#L902 |
Mh, I also expected the EOL characters to be sent while
That's an interesting question :-) I would have said no, but indeed I just had this use case one week ago as I had to communicate with a matchbox laser module (https://integratedoptics.com/) which has a weird communication protocol. In order to send a command you have to send all command-bytes in a very short timing without EOL. The laser accepts the command in the moment that no further bytes follow. That is not possible by typing the command by hand in a terminal because after each byte you type the laser thinks the command is complete - and says "error" because the command is not complete. So here you need the possibility to send a complete line without EOL. I agree: It would be nice to have all options: sending CR, LF, CRLF and none |
Hello, Has anyone found a way to send a configurable EOL character with the send_on_enter filter? I have reproduced basically the same steps as schleb. Using an Arduino Nano board, VSCode 1.63.2, python 3.10.1, macOS 12.0.1. Same code for troubleshooting:
Platformio.ini (I also tried the similar option with monitor_filters instead):
Under these conditions, I can type whatever, nothing is sent/received. What I find really weird is that if I use pio device monitor in the terminal, the monitor works almost as I expect:
I say almost because I do have to type Enter twice the first time, which is weird but not a big deal. Any suggestion on how to ensure in platformio.ini (or some other configuration file) that the serial monitor sends the requested EOL character when using send_on_enter? |
I have same issue. It seems like if |
Issue:
Complete description:
I have a simple setup in which an ESP32 microcontroller replies the bytes sent to it via serial port. It replys the bytes in decimal representation so that I can read them easily:
Code:
Monitor snap (of typing [a] [Enter] [b] [Enter] [c] [Enter])
The issue is as you can see easily: there is no CR or LF or CRLF sent by the monitor. If I use another Terminal it works. E.g. with Arduino IDE I receive LF (dec 10). The Arduino IDE has no echo of the sent bytes, so sending the same bytes (a, b, c) it looks like this:
The EOL parameter of the monitor is set to CRLF (default). If I change the EOL parameter of the monitor to CR or LF, the send_on_enter filter does not work. Nothing is beeing sent. If I then change the parameter back to CRLF odd things happen - it sends out all the old stuff with CR(13) or LF(10):
Platformio.ini:
monitor_speed = 115200
monitor_flags=
--echo
monitor_filters=
send_on_enter
System:
PIO Core 5.0.3 Home 3.3.1
VS Code 1.52.0
Windows 10
The issue seems to be happened also to this guy: https://community.platformio.org/t/monitor-send-on-enter-filter-not-work-with-eol-lf/17356
The text was updated successfully, but these errors were encountered: