ts-7000
[Top] [All Lists]

[ts-7000] Re: RS-485 Coding Documentation Needed WRT TS-7260 or buddies

To:
Subject: [ts-7000] Re: RS-485 Coding Documentation Needed WRT TS-7260 or buddies
From: "marcolamonato" <>
Date: Tue, 05 Feb 2008 07:23:12 -0000
Yes,

I'm currently using this code with TS-7250

Marco






--- In   wrote:
>
> I meant ts-7200
> 
> Quoting marcolamonato <>:
> 
> > --- In  "sholling3" <sholling3@> wrote:
> >>
> >> Hi,
> >>
> >> I'm trying to dig up the low-level C/C++ code (C# or Java would 
be
> >> helpful, too) to interface with the TS-7260 RS-485 port (we have
> >> requested full-duplex).  So far, I have not found much
> > documentation on
> >> the subject, and very little sample code.  Any suggestions on 
where
> > to
> >> start would be helpful. We're using TS-LINUX. Our objective is
> > driving
> >> a controller board.
> >>
> >> Thanks,
> >>
> >> Steve
> >>
> >
> >
> > Steve,
> >
> > I tried to send you an email, but after a few days I got it back 
from
> > my server with a "delivery issue report", therefore let me post 
some
> > code here:
> >
> > /* Code to setup your RS-485 port
> > ************************************/
> >
> > #define BAUDRATE_485 B115200
> >
> > /* Variables */
> > int fd_485;
> > struct termios oldtio_485, newtio_485;
> > volatile unsigned long *rs485, *rs485_ck, *format;
> >
> >
> > /* RS-485 */
> > /* File descriptor opening */
> > fd_485 = open("/dev/ttyAM1", O_RDWR | O_NOCTTY);
> > if (fd_485 < 0) {
> >             printf("Error opening ttyAM1 port\n");
> >             return -1;
> >             }
> > printf("Opening ttyAM1 port done\n");
> >
> >
> > /* Termios structure opening */
> > tcgetattr(fd_485, &oldtio_485);
> > bzero(&newtio_485, sizeof(newtio_485));
> >
> > /* Memory assignments */
> > rs485    = (unsigned long *)mmap(0,4,PROT_READ|PROT_WRITE,
> >
> >     MAP_SHARED,fd_mem,0x22C00000);
> > rs485_ck = (unsigned long *)mmap(0,4,PROT_READ,
> >
> >     MAP_SHARED,fd_mem,0x22400000);
> > format   = (unsigned char *)mmap(0,4,PROT_READ|PROT_WRITE,
> >
> >     MAP_SHARED,fd_mem,0x23000000);
> >
> > /* RS-485 activation (0x01 = full duplex, 0x04-0x07 = half 
duplex) */
> > *rs485  = 0x00000007;
> > *format = 0x00000001;
> >
> > /* Setting termios serial port parameters */
> > newtio_485.c_cflag     = BAUDRATE_485 | CS8 | CLOCAL | CREAD | 
PARENB;
> > newtio_485.c_iflag     = IGNPAR | IGNBRK;
> > newtio_485.c_oflag     = OPOST;
> > newtio_485.c_lflag     = 0;
> > newtio_485.c_cc[VTIME] = 1;         /* max wait time from first
> > byte, in 0.1s units */
> > newtio_485.c_cc[VMIN]  = 11;        /* max bytes to wait for */
> >
> > /* Flushing data on buffer */
> > tcflush(fd_485, TCIFLUSH);
> >
> > /* Writing parameters */
> > tcsetattr(fd_485,TCSANOW,&newtio_485);
> >
> > /* RS-485 PLD full-duplex enable */
> > mcr = AUTO485HD;
> > ioctl(fd_485, TIOC_SBCS485, &mcr);
> >
> > printf("RS-485 configuration done\n");
> >
> >
> >
> >
> >
> > /* Code to send bytes through RS-485
> > ************************************/
> >
> > /* use this function where you need it */
> > /* fd_485 is the file descriptor, buf_out_485 is the buffer with 
you
> > data, num_bytes is its length */
> > write(fd_485, buf_out_485, num_bytes);
> >
> >
> > Ciao,
> > Marco
> >
> >
>




 
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