I am the author of tcpser, a UNIX/Windows program that emulates a Hayes
modem.
Some time ago, Chris Osborn (FozzTexx) forked a copy of my project to
fix some bugs and he also added in some parity code, which looks to
strip parity from the incoming serial connection (in the case that the
serial port is set as 8N1 and the computer attached to it sends in 7E1
or similar.
I am working to merge in all of his changes into the mainline codebase,
but I am unclear on prpper Hayes behavior.? His Readme says:
https://github.com/FozzTexx/tcpser/commit/5f0e28bb837463e597a1daf9b3c07e56a…
"I also made the modem routines automatically detect parity and ignore
it in AT commands and print out modem responses in matching
parity. Parity is *not* stripped when sending data over the
connection, which is how a real modem behaves. This may or may not be
what you want. Some servers will expect an 8 bit connection and may
not work."
Did Hayes modem really do that?? I thought most later modems self
detected parity and speed and thus would have switched both the comm on
the serial port and the data sent to the other side in the same parity
(if the terminal was 7E1, the modem would configure as 7E1 and send 7
bit data to the other side.
But, maybe real modems did as Chris notes. Anyone have guidance on
this?? The goal of tcpser is to emulate a Hayes modem as much as
possible, but I never really thought about mismatched parity on the
RS232 line and how to deal with it.
Jim
--
Jim Brain
brain at
jbrain.com
www.jbrain.com