Open hasn0life opened 1 year ago
This is documented a bit in the Language reference under semicolon:
http://www.ulisp.com/show?3L#semicolon
A comment line turns off echo so that by starting a long listing with a comment, it can safely be pasted in to the Arduino IDE's Serial Monitor without overflowing the serial buffer. Echo is turned back on automatically after a one second delay if there is no activity on the serial input.
Without it, uLisp echoes the listings to the serial monitor, and that caused the serial input to miss characters.
I'm not sure why I've left it out of the T-Deck firmware - perhaps it should go back in. Have you noticed any benefit from putting it back? If so, I'll add it to the next release.
Now that I know what it does I can say that there is benefit to it, because what kept happening to me was that the t deck would stop printing to the serial monitor and never start again, and I thought it was hanging or crashing. That explains why I thought it was more stable after I fixed it. So yea, either remove the flag entirely or add the code to clear it again
That's odd - I haven't had that problem, but I agree the fix is definitely worth having.
If you want to see what the failure mode looks like enter something that sets the flag. It's pretty subtle cause it looks like it hangs, like I said.
Yes, I see that now, thanks. I'll issue an update for it.
I'd also like to solve the problem that input you enter in the Serial Monitor isn't reflected on the T-deck screen, although the output is. Don't you agree that the two should mirror each other?
PS Have you managed to get the Lisp Editor working OK?
I agree they should mirror each other but its not a huge concern for me as far as usability goes. My work flow isn't impacted by it but it would be nice.
I have managed to get the Lisp editor working and it's very nice. I will write a post on the forum (instead of here) with some suggestions, though I don't think they're very substantial right now.
I noticed that the NOECHO flag gets set and never gets cleared. I'm not sure what it does so I'm not sure where it should be cleared. Can you explain what it does and also possibly clear it if it's necessary? I did something like
to try to match what the other implementations are doing, but I don't know if that's right.