On Sun, Nov 13, 2022 at 9:54 AM Robin Downs via cctalk
<cctalk(a)classiccmp.org> wrote:
Hi,
Actually, I built exactly this many years ago (1990s) to operate a cash draw for dumb
terminals on Unix systems, used on counters as point of sale devices...
The existing solution used a processor, ram, rom, double sided board etc and was too
expensive, so I designed a replacement with a real UART and a finite state machine
consisting of a EPROM and 8 bit latch that simply monitored the RS232 data passively and
when the appropriate character sequence was matched, it triggered the solenoid to open the
cash draw.
I am now thinking of totally crazy ways to detect a serial character.
OK, a Model 33 Teletype with the right option in the stunt box is
trivial.
One odd idea is to detect the start bit and then generate the chracter
bit-serially at the right baud rate. XOR that with the bitstream.
Start with a flag ff set, at the middle of each bit-time, clear the
flag if the bitstream and generated bit differ. At the end of the
character time if the flag is still set, it's a match, Has the
advantage of only needing a single-bit comparison not 7 or 8.
It decoded a long 14 character code sequence easily and reliably and used 5 chips in
total on a smaller single sided board.
Nowadays, a small microcontroller is the obvious way to go for cost and ease of
development.
Cost, probably. Ease of development, it depends on who you are. I
reckon I could solder up a suitable circuit using TTL only (i.e. not
using a dumb UART which would simplify things a lot) in less time that
it would take me to write the firmware. I am not a programmer. I tried
the Arduino boards once and got fed up with a lack of proper printable
documentation, no formal language specification, etc.
-tony