RTS/CTS and DTR/DSR are harware signals where as XON/XOFF usually
fall under 'software' flow control. I have only used RTS/CTS on the
FT23R to date. I don't know if there's a particular reason to use
DTR/DSR vs RTS/CTS unless you're interfacing with some legacy
hardware that uses it.
Several years ago Rui Barreiros already posted a
question on the subject which at the time doesn't seem
to have been resolved and I am running into the same
problem more or less:
The DMX packet is read but ends up shifted over
different amounts of bit every read.
I currently suspect that this is all dependent on
when the OS issues the ftdi_read_data() call, I
suspect this because when I ran my test program using
gdb the shifts were a lot more extreme (almost 0.5
packet) then when it was running directly.
The packet itself is basically:
1. BREAK (>= 88us of LOW)
2. MAB (>= 8us HIGH)
3. 25-513 data slots (1b start HIGH, 8b data, 2b STOP
HIGH each)
So my question is: Is there any way to 'allign' the
reads to the break+mab?
attached is my modified version of the
serial_test.c example.
Side questions:
- Can someone on the list explain the different
flow control options?