-
• #2
Yes, it does reset, but it's a software reset that shouldn't affect the USB. Sadly there is no RTS/CTS...
Is this with an Espruino board, or the discovery? I think you were using the discovery last time.
It could be that the discovery is losing some characters - I know USB on it isn't as reliable for some reason, but sadly nobody has made any attempt to fix it, and I have to focus on the Espruino board. You could try turning on throttling in the IDE.
It may be that you can actually recover it by doing Ctrl+C,
echo(1)
, enter. Sometimes what happens is the board's buffer gets full, and it loses some characters which means that the last command (turning echo back on) doesn't get executed. -
• #3
My final design will not have USB, so I was using the discovery with a console on a serial port via a FTDI cable. The com port does not reset, just the discovery, but the App seems to disconnect from the com port. I can send a reset from a terminal program and the connection remains. What is the App expecting back as response from the discovery? From a terminal I see 0x1b 0x5b 0x3f 0x37 0x6c 0x0d 0x0a and then the Espruino logo. I did add a datestamp under the logo, is it parsing the logo?
-
• #4
Did you try my Ctrl+C suggestion?
0x1b/etc are just escape codes to set up VT100 terminals correctly
The Web IDE sends some JavaScript code when it connects, and looks for a response. I imagine the problem might just be that there is absolutely no flow control on serial comms - XOn/XOff or otherwise - and if you send code that takes a lot of time to execute, that will cause subsequent code to get lost (once the buffer is full).
-
• #5
The Ctrl+C had no effect. I turned off 'reset() before send' and the code loads just fine, I have something useful now. It is strange I can type in reset() on the terminal side of the Web IDE and it does not disconnect, so I can work with this as a 2 step process for now. Thanks for the help and quick response.
When I try to send some code with the App, it looks like it does a reset() first, but on my board is seems to loose the connection completely. Is the App looking at signalling from the serial port RTS/CTS or some other USB signalling?