Line Discipline or Termios lacks ?
Thomas Doerfler
Thomas.Doerfler at imd-systems.de
Thu Sep 18 14:48:59 UTC 2003
Hello Cedric,
rtems termios has a feature to control the hardware handshake
lines (or, actually, only the RTS line) to signal to the
oposite side, that the receive buffer is almost full, or that
there is more space available. This features is available in
some console drivers, it depends on the implementation of the
"stopRemoteTx" and "startRemoteTx" hooks.
If the hardware driver in use supports these calls and the
device has the CRTSCTS flag set, then termios will control the
hardware handshake output line RTS for you.
This has nothing to do with "line discipline". The "line
discipline" feature allows redirecting the character stream to
certain additional, external functions, that can do wierd
things like decoding the incoming character stream as PPP
packets and so on.
If the functionality in termios for hardware handshake line
control is not sufficent for you, you might add "private"
functions to the "ioctl" function of your device driver, which
might in turn do whatever you want with the hardware handshake
lines of your devices.
wkr,
Thomas.
> Hi
>
> I try to implement a full driver for my serial port.
> Today that's work fine with the termios and console
> shared functions but now I try to control by hand
> my line's signal like CTS or RTS. (ex :
> Get_CTS,Get_RTS)
> But I can't find how to correctly implement this
> feature.
>
> I read some line discipline documentation and I found
> that it's possible in rtems to implement a line
> discipline like for ppp. If your have 2 different
> hardware uart on your board you should have 2
> functions to read the CTS value but you will have
> only one line discipline (the termios_built_in).
>
> But I understand that a line discipline should be
> a shared discipline for all port. It doesn't depend of
> the hardware UART.
>
> So to implement driver depend read or write CTS/RTS
> DSR or other, it should be in my hardware driver
> and call be rtems_termois_ioctl.
>
> rtems_termois_ioctl have a switch to do the
> command and if it does known, it try to call the
> line discipline_ioctl function.
>
> So if line discipline isn't hardware depend how
> can I do ?
>
> Should I make a Termios evolution to call some other
> command ?
>
> Thanks a lot
>
>
> =====
> AUBERT Cedric
> SDEL Controle Commande
> rue Nungesser & Coli
> 44860 St Aignan de Grand Lieu
>
> E-mail : cedric_aubert at yahoo.fr
> Http : http://www.controle-commande.sdel.fr/
>
> __________________________________
> Do you Yahoo!?
> Yahoo! SiteBuilder - Free, easy-to-use web site design software
> http://sitebuilder.yahoo.com
--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler Herbststrasse 8
D-82178 Puchheim Germany
email: Thomas.Doerfler at imd-systems.de
PGP public key available at: http://www.imd-
systems.de/pgp_keys.htm
More information about the users
mailing list