[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DDL-ML] Neues vom loconet device



> Irgendwelche Ideen dazu? Kennt irgend jemand irgend jemanden der unter Linux
> mit der seriellen in Realtime (erfolgreich) rumgespielt hat?

Ich hab vom erddcd mit dem struct serial_state experimentiert und
feststellen müssen daß zwischen 2.2.14 und 2.4.0 jede Menge
Unterschide bestehen. Mein modifizierter erddcd schmeißt mir heute
einen core ins Gesicht, was ich auf verschiede structs zurückführe,
die wahrscheinlich mit und ohne __KERNEL__ verschidene Größen haben ,
so daß ich mir meinen Stack kapputtmache. Wenn jemand die Zeilen
fertig hat um die Anzahl der Bytes im xmit-buffer vom erddcd zu lesen,
her damit. 2.4.0.

Da ich der Meinung bin daß man auf die Dauer leider nicht ohne device
driver auskommt bin ich z Z daran mir verschiedene serial drivers
anzusehen und versuche daraus schlau zu werden. Bis jetzt aber noch
ohne was Brauchbares hingekrigt zu haben :-( Es gibt da einen driver
für MIDI über 16550 (uart16550_midi.c) der ein paar interressante
Register setzt:

    outb( UART_FCR_ENABLE_FIFO  /* Enable FIFO's (if available) */
          | UART_FCR_CLEAR_RCVR /* Clear receiver FIFO */
          | UART_FCR_CLEAR_XMIT /* Clear transmitter FIFO */
          | UART_FCR_TRIGGER_4, /* Set FIFO trigger at 4-bytes */
                                /* NOTE: interupt generated after T=(time)4-bytes
                                 * if less than UART_FCR_TRIGGER bytes received
                                 */
          io_base + UART_FCR); /* FIFO Control Register */
g

Vielleicht brauchst du einen UART_FCR_TRIGGER_1? Im Gegensatz zum
LocoNet ist man ja bei normalem seriellen Einsatz daran intressiert
som viele Bytes wie möglich in der FIFO unterzubringen bis der
Interrupt fällig wird. Leider fangen alle die ich kenne und vom Linux
kernel mehr als ich verstehen gleich zu stöhnen an wenn man 16650
erwähnt, so daß ich von da wenig Hilfe erwarte.

Harald.