Re: Serial IR receiver problem



In article <465a3d0c.300353312@xxxxxxxxxxxxx>,
nobody@xxxxxxxxxxxx (Dave Houston) writes:
andrew@xxxxxxxxxxxxxxxxxxxx (Andrew Gabriel) wrote:

I suspect that the USB driver (or possibly the Skype application)
is preventing the serial port driver from emptying the 16550A FIFO
before it wraps, resulting in lost characters. At 115200, the serial
port driver must service a 16550A almost once every millisecond to
avoid character loss. What speed is your IR interface? Do you have
any flow control? Can you run it at a lower speed to see if that
helps? I'm not familiar with how Windows handles serial ports, but
on Unix systems, the serial port driver's interrupt handler is
normally one of the highest interrupt priority interrupt handlers,
and that's for a good reason, as 16550A type ports have more
taxing real-time demands than every other peripheral on a standard
PC system.

Look at the schematic.

With this hardware, WinLirc treats the DCD line as a digital input - it has
nothing to do with the RS232 data line nor the FIFO. It's messing with the
timer and/or disabling interrupts.

That makes it much worse -- there's no FIFO on the modem signals.
If the application monitors DCD by spinning, then it's not likely
to work with anything else running on the system.
What sort of bit rate is the IR signal?

--
Andrew Gabriel
[email address is not usable -- followup in the newsgroup]
.



Relevant Pages

  • Re: Serial IR receiver problem
    ... is preventing the serial port driver from emptying the 16550A FIFO ... before it wraps, resulting in lost characters. ... the serial port driver's interrupt handler is ...
    (comp.home.automation)
  • Re: Make serial data available over TCP
    ... > port to the fifo. ... > connection is made would read from the fifo and write to the network ... Run this program with stdin redirected from the serial port. ... You also need to decide what to do if a client is too slow to keep up. ...
    (comp.unix.programmer)
  • setserial -> serial_core / 8250 interaction
    ... The result is that fifo_size remains 0 and the fifo is disabled. ... autoconfig is used) will have very poor serial port performance (I did, ... privileged, proprietary, or otherwise private information. ... please notify the sender immediately and delete ...
    (Linux-Kernel)
  • Re: Interrupt-driven serial comm for Linux ?
    ... baudrate and without handshaking, all incoming data beyond the UART's ... FIFOs buffer size) from the serial port without losing bits. ... the FIFO. ... I have worked with idle handlers before ...
    (comp.os.linux.development.apps)
  • DeviceSerial1 was really a serial port, fifo detected
    ... wiped hard drive and reloaded winxp pro. ... Event Type: Information ... While validating that \Device\Serial1 was really a serial port, ... The fifo will be used. ...
    (microsoft.public.windowsxp.help_and_support)