SlashDevin / NeoSWSerial

Efficient alternative to SoftwareSerial with attachInterrupt for RX chars, simultaneous RX & TX
169 stars 42 forks source link

What are the compatibility gotchas between NeoSWSerial, NeoHWSerial, and NeoICSerial? #56

Open eclab opened 8 months ago

eclab commented 8 months ago

According to Paul Stoffregen, [New]SoftwareSerial was sort of compatible with AltSoftSerial and with Serial only with carefully chosen baud rates. And I know that you posted this explanation of the relationships between Serial, AltSoftSerial, and NeoSWSerial. However I see you also posted a somewhat confusingly different description of the relationship here. Is there an official or formal description, and how does it extend to NeoHWSerial and to NeoICSerial?

Specifically, my situation is this:

You had said: "NeoSWSerial ... can be used with the above choices, but transmitting on NeoSWSerial prevents them from receiving." Does this mean that I can't reliably RX on HW (or AltSoftSerial) and TX on NeoSWSerial?

Thus I'm trying to determine (1) if I can use NeoHWSerial RX with NeoSWSerial TX, and how many TX I can do, (2) if I can use NeoICSerial RX with NeoSWSerialTX, and again how many TX I can do, and finally (3) if I should just use NeoSWSerial for everything, and how many TX I could do. And I preume I shouldn't be doing processing, then retransmitting, inside NeoSWSerial's RX hooks.