ts-7000
[Top] [All Lists]

[ts-7000] Re: tcgetattr problem

To:
Subject: [ts-7000] Re: tcgetattr problem
From: "charliem_1216" <>
Date: Sun, 15 Apr 2007 20:35:02 -0000
Hi Rob --

I don't know why <bits/termios.h> includes c_ispeed and c_ospeed in
struct termios, as historically linux has stored the speed information
in the c_cflag field.  (Posix does not define where the speed info is
stored in struct termios).  FreeBSD does use c_ispeed and c_ospeed,
but AFAIK linux does not.

Try the posix method using cfget[io]speed(); it should be correct and
portable.  

If you still want to avoid them, try decoding the value of c_cflag
using the bitmask baud rate definitions in <bits/termios.h>.  But why
work harder to be non-portable?

Regards, ........ Charlie

--- In  "Rob" <> wrote:
>
> All good feedback.  If it matters I am using Debian Sarge 10/27/05
off the CF card and my 
> board is a TS7200
> 
> I had checked the file /usr/include/termios.h which uses
/usr/include/bits/termios.h 
> where B19200 is defined.  It is defined as "#define  B19200   0000016"
which matches 
> neither value printed.  
> 
> Also I used "stty -F /dev/ttyAM1 speed 19200" on the command line
prior to running the 
> application as stated and both in and out should have the same speed
of 19200. Yet 
> different values are printed and neither agrees with the declared
value.  I believe the in and 
> out speeds are actually 19200 as the read function outputs data
exactly as expected. 
> 
> I also get errors in the routine that would set the data but I am
focusing on the read 
> configuration function as both issues are likely related and it is
the simpler routine.
> 
> Thanks for the help and suggestions so far
> Rob
> >
> > Hi Rob --
> > 
> > man cfgetispeed
> > man cfsetispeed
> > 
> > And similar for output speed: cf[sg]etospeed.  The data stored in the
> > termios structure is not directly the baud rate; POSIX says you use
> > these functions to go between the termios data and the Bnnn baud rate
> > constants that Don mentions.
> > 
> > Also some (most?) systems return success from tcsetattr() if _any_ of
> > your requested changes are made, so you should double check with
> > tcgetattr to be sure your changes have taken.
> > 
> > Regards, ........ Charlie
> > 
> > --- In  "Rob" <rafferty29@> wrote:
>




 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/ts-7000/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/ts-7000/join
    (Yahoo! ID required)

<*> To change settings via email:
     
    

<*> To unsubscribe from this group, send an email to:
    

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU