TTL Serial Device - 4ms pulse every 113ms when idle
JoeCreate
Posts: 36
I have some a Fire Alarm Panel with a TTL Serial Printer output which I am interfacing to the Propeller.· I am receiving a pulse ~4ms in width every ~113ms (give or take 4ms).· This pulse causes Garbage to be received when using the FullDuplesSerial object (running at 2400, 7, E, 1).· After going through an rs232 level converter it appears as a 520us pulse and doesn't generate garbage on the rs232 output (I am·masking the 7 bits so the Data looks perfect via rs232).
Is this a common thing with TTL Serial Printer outputs maybe?· It's kinda a nice way to supervise the connection from the Printers point-of-view, and I'll think I'll use this pulse for that purpose, but I do need to filter it out to interpret the Real data properly.
Is there a quick fix·to make FullDuplexSerial ignore this pulse?· I know there is, but I'm not good at assembly yet to mess with it.
Is this a common thing with TTL Serial Printer outputs maybe?· It's kinda a nice way to supervise the connection from the Printers point-of-view, and I'll think I'll use this pulse for that purpose, but I do need to filter it out to interpret the Real data properly.
Is there a quick fix·to make FullDuplexSerial ignore this pulse?· I know there is, but I'm not good at assembly yet to mess with it.
Comments
It has a 9 data-bit mode, so it should be possible to detect this 4ms pulses. (If bit 9 is High -> its a regular databyte, if Bit 9 is LOW -> its the longer pulse).
After detecting the pulse, you can wait until the end of the pulse and flush the receive buffer.
Andy
I mean 4ms sounds a lot like 9 or 10 bit periods at 2400 baud, so it does sound like a real
intentional character (maybe heartbeat, as you describe). If so, can't you just filter out the
code that is received?
FullDuplexSerial just takes 10 bits regardless of the timing so I think it sees 10 of these pulses and calls it a byte. Since the 113ms and 4ms is give-or-take a couple/few ms I can see why it doesn't produce exactly the same byte every time (I havent' studied a normal serial stream so this may not make sense).
I think I'll look at Ariba's SerialReceive.spin (Thanks) and I have the Simple_Serial.spin which I know I can modify, for some reason I wasn't thinking to use that one but that makes sense since it's only 2400 baud.