SoftwareSerial/Serial #659
Replies: 1 comment
-
Yes, of course. It had some serious bugs in the current released version. One of them (which was not fixed correctly - I'm either unknowingly invoking undefined behavior or it's an obscure compiler bug) would cause serial.available() to always return 0 and/or nothiing to be received, particularly when the application was very simple. The fix for it is 2 lines of senseless voodoo that shouldn't change anything, (hich is why I say it wasn't fixed correctly, thought it was fixed) - but without them, a 5-instruction sequence that sets up a stack frame isn't emitted, and available() and/or the receiving mechanism itself doesn't work. That was far from the only problem with that software serial implementation, Frankly, it was not an impressive display of assembly skills. It isn't now either, but it's a damned sight better than it was! And there's a TX only mode since like 80-90% of users are only using it for TX. I actually just got the thoroughly refactored version working correctly afew minutes ago in the v2.0.0-dev branch, and will be checking that in later tonight. 2.0.0 is still pretty rough around the edges, but it's in the public testing phase now. (there is no 1.x.x development, hasn't been in over a year, 2.0.0 will be the next version. |
Beta Was this translation helpful? Give feedback.
-
Hi, I am revising some old T84 code to make use of the your implentation of Serial without a UART. Output is working fine but I am having some problems with input. Might I ask if Serial.available() is implemented within the Serial package used for the T84?
Beta Was this translation helpful? Give feedback.
All reactions