Again.. I really think you are overthinking this.
MCU should set receive line coding to 8,N,1. When in command mode, you
don't care about parity as it is presumed the connection from the host
machine to the modem is short and largely has integrity. Every byte you
receive in 8,N,1 command mode, zero the MSB before interpreting the
character. Also keep four binning counts of each byte received in
command mode on whether E,O,M,S space passes a respective validity
check. Whichever bin over time has the highest count of successes vs
errors is the parity scheme you use when encoding/stuffing the MSB of
the 8,N,1 response bytes back to the host computer.
-Alan
On 2019-11-15 01:23, Jim Brain via cctalk wrote:
If you look at the values received by an 8N1
connection from a sender
using the different settings, you get:
AT
at
At
aT
7E1
E174
41D4
E1D4
4174
7O1
61F4
C154
6154
C1F4
7M1
E1F4
C1D4
E1D4
C1F4
7S1
6174
4154
6154
4174
8N1
6174
4154
6154
4174
Obviously, still trying to find the magic boolean logic equation to
tease out the parity, but you could brute force it with these values
and only aT would cause you issues requiring looking at CR (7E1 would
send 8d, while 7S1/8N1 would send 0d.
Jim