All of lore.kernel.org
 help / color / mirror / Atom feed
From: linux@horizon.com
To: linux-kernel@vger.kernel.org
Subject: Re: Serial custom speed deprecated?
Date: 26 Aug 2006 14:16:39 -0400	[thread overview]
Message-ID: <20060826181639.6545.qmail@science.horizon.com> (raw)

> Or we could just add a standardised extra set of speed ioctls, but then
> we need to decide what occurs if I set the speed and then issue a
> termios call - does it override or not.

Actually, we're not QUITE out of bits.  CBAUDEX | B0 is not taken.
That would make a reasonable encoding for a custom speed.
(But I haven't checked glibc... ah, yes, it should work!
See glibc-2.4/sysdeps/unix/sysv/linux/speed.c; browse at
http://sources.redhat.com/cgi-bin/cvsweb.cgi/libc/sysdeps/unix/sysv/linux/?cvsroot=glibc
if you don't have a local copy source handy.)

What I'd do is, when converting to the old-style for tcgetattr, if the
current baud rate is not representable, cache it somewhere and return that
(or some other magic value).  If a tcsetatt call comes in that specifies
that magic value, use the cached baud rate.

If you make the cache just the current baud rate setting (the magic
value on set means "don't alter"), that will handle a lot of programs
that just want to play with handshaking.

If you make the cache separate, you can also survive an
old-interface-using program switching to a different baud rate and then
switching back.


Also note that if you truly want to support all baud rates in historical
use, you'll need to include at least one fractional bit for 134.5 baud.
(Unless you're sure that IBM 2741 terminals are truly dead. :-))

Alternatively, you could observe that asynchronous communications only
requires agreement withing 5% between sender and receiver, so specifying
a baud rate to much better than 1% is not too important.

Half-precision floating point would be ideal for the job. :-)

             reply	other threads:[~2006-08-26 18:16 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-26 18:16 linux [this message]
2006-08-26 19:37 ` Serial custom speed deprecated? Ian Stirling
2006-08-26 20:30   ` linux
2006-08-28 12:17 ` linux-os (Dick Johnson)
2006-08-28 14:39   ` Alan Cox
2006-08-28 14:50     ` linux-os (Dick Johnson)
2006-08-28 15:51       ` Michael Poole
2006-08-28 16:57         ` linux-os (Dick Johnson)
2006-08-28 17:40           ` Michael Poole
2006-08-28 18:04             ` linux-os (Dick Johnson)
2006-08-28 17:01       ` Alan Cox
2006-08-28 17:24         ` linux
  -- strict thread matches above, loose matches on Subject: below --
2006-08-26 19:35 linux
     [not found] <6N8LR-22A-5@gated-at.bofh.it>
     [not found] ` <6Njxz-797-13@gated-at.bofh.it>
     [not found]   ` <6NqfR-5Ld-49@gated-at.bofh.it>
     [not found]     ` <6NrbQ-7Ab-27@gated-at.bofh.it>
     [not found]       ` <6NsB4-2GL-37@gated-at.bofh.it>
     [not found]         ` <6NvSc-1go-31@gated-at.bofh.it>
2006-08-25 11:40           ` Nick Craig-Wood
2006-08-23 21:41 Stuart MacDonald
2006-08-24  9:18 ` David Woodhouse
2006-08-24 12:41   ` Stuart MacDonald
2006-08-24 13:19     ` Alan Cox
2006-08-24 13:03       ` David Woodhouse
2006-08-24 16:27   ` Krzysztof Halasa
2006-08-24 17:41     ` Alan Cox
2006-08-24 18:51       ` Krzysztof Halasa
2006-08-24 20:43         ` linux-os (Dick Johnson)
2006-08-24 20:43           ` linux-os (Dick Johnson)
2006-08-24 22:11           ` Alan Cox
2006-08-27  6:52             ` Rogier Wolff
2006-08-27  6:52               ` Rogier Wolff
2006-08-27 10:00               ` Russell King
2006-08-28 14:14               ` Stuart MacDonald
2006-08-28 14:14                 ` Stuart MacDonald
2006-08-28 20:09                 ` Russell King
2006-08-29  6:20                   ` Rogier Wolff
2006-08-29  6:20                     ` Rogier Wolff
2006-08-29  7:46                     ` Russell King
2006-08-25 15:17           ` Stuart MacDonald
2006-08-25 15:17             ` Stuart MacDonald
2006-08-25 15:52             ` linux-os (Dick Johnson)
2006-08-25 15:52               ` linux-os (Dick Johnson)
2006-08-24 22:43         ` Alan Cox
2006-08-25 10:58           ` Krzysztof Halasa
2006-08-25 15:21           ` Stuart MacDonald
2006-08-25 15:21             ` Stuart MacDonald
2006-08-25 19:32             ` Russell King
2006-08-25 20:21               ` Stuart MacDonald
2006-08-25 20:21                 ` Stuart MacDonald
2006-08-25 20:54                 ` linux-os (Dick Johnson)
2006-08-25 20:54                   ` linux-os (Dick Johnson)
2006-08-25 20:39               ` Theodore Tso
2006-08-26 12:16                 ` Krzysztof Halasa
2006-08-25 15:10         ` Stuart MacDonald
2006-08-25 15:10           ` Stuart MacDonald
2006-08-24 22:05       ` Russell King
2006-08-25 15:01       ` Stuart MacDonald
2006-08-25 15:01         ` Stuart MacDonald

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060826181639.6545.qmail@science.horizon.com \
    --to=linux@horizon.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.