ts-7000
[Top] [All Lists]

[ts-7000] Re: decode can massage - TSCAN1

To:
Subject: [ts-7000] Re: decode can massage - TSCAN1
From: "zhangjing80" <>
Date: Wed, 14 Dec 2011 08:48:18 -0000
hi, rod,



thank you at first, I have read the read() and write() API, meanwhile I read 
readburst.c. If I wanna read the message from the userspace, I must call read() 
like:

struct canmsg_t &readmsg;

ret=read(fd,&readmsg,sizeof(can_msg));

if(readmsg.id==0x305){

    for(i=0;i<readmsg.length,i++)

       can_data[i] = readmsg.data[i];}



My destination is: you know a model is running in the EP9302, then I wanna 
transfer the 8 byte data to the model and then make some computations, after 
that, send some data back to the can bus.So I have a question: how can I 
transfer the 8 byte data from the TSCAN1 to TS-7300, and at last to the EP9302? 

regards
ZAHNG Jing





--- In  "Rod" <> wrote:
>
> It sounds like the OP is trying to do low-level reads of the SJA100 chip from 
> userspace. I suggest to load the driver, 'lincan.ko' using the appropriate 
> module arguments, and then use the model illustrated in the lincan package 
> example code to read & write CANbus messages. I have used that method with a 
> TS-CAN1 on a TS-7350 board. 
> TS supplied quite detailed instructions on the procedure with the TS-CAN1 
> modules I purchased. I will summarize from memory here (corrections welcome).
> 
> 1. Load the shell helper functions from a script called 'ts7000.subr' (on the 
> initrd filesystem): '. ts7000.subr'
> 2. Enable the PC-104 bus: 'pc104on'
> 3. Load the kernel module: 'insmod lincan <optional arguments>'
> 4. Build/run the readburst.c application in the utils directory on the 
> ocera/lincan driver package. 
> 
> The readburst application demonstrates how to read from the CANbus interface 
> using the lincan driver.
> 
>    ---   rod.
> 
> 
> 
> 
> --- In  Joel Morgan <jrcowboy79@> wrote:
> >
> > On Dec 12, 2011 8:48 AM, "zhangjing80" <zhangjing80@> wrote:
> > >
> > >
> > >
> > >
> > >
> > > --- In  Joel Morgan <jrcowboy79@> wrote:
> > > >
> > > > Hi,
> > > >
> > > > On Dec 12, 2011 3:08 AM, "zhangjing80" <zhangjing80@> wrote:
> > > > >
> > > > >
> > > > >
> > > > > hi, guys
> > > > > I have a TSCAN1 Board and have installed it on TS7300, I have also
> > read
> > > > some relative manuals. The received can message is decoded at
> > > > SJA1000_base_addr. The tscan1.c calls a function which is defined like:
> > > > > static u8 tscan1_read(const struct sja1000_priv *priv, int reg)
> > > > > {
> > > > > return inb((unsigned long)priv->reg_base + reg);
> > > > > }
> > > > > This function will return the can message. But I have some questions
> > > > about the getting data from the SJA1000_base_addr. I wanna get the 8
> > byte
> > > > data and transfer them, so has anyone ever used the TSCAN1 board? Could
> > you
> > > > please give me some help?Thanks in advance
> > > >
> > > > Are you using the Ocera framework?
> > > >
> > > > What is your question?
> > > >
> > > > Regards,
> > > > -joel
> > > >
> > >
> > > Hi, joel
> > > yes, I used the Ocera framework, I have sevaral questions about the usage
> > of the TSCAN1. Have you ever used it?
> > 
> > Yes
> > 
> > Could you please give me some help?
> > > 1. you know a standard can frame mainly contains 11 ID and 8 byte data,
> > according to the TSCAN1_manual,the SJA1000 supports dual-identifier mode.
> > But each can frame has only one ID. Where comes double identifier?
> > 
> > Lincan (and the other ocera components) present APIs to the user. One of
> > the structure members, canmsg_t.id is an unsigned long. This is all defined
> > in the header canmsg.h
> > 
> > > 2. I can set the register, and select the SJA1000_IO base address, where
> > the can message decodes itself. I wanna get the 8 byte data of each can
> > frame, how can I realize it?
> > 
> > From userspace? The lincan module wont take too kindly to that ;)
> > Use the API
> > 
> > > 3. If I wanna transfer data of data[8], you know that I should write them
> > to Txbuffer, but how ?
> > 
> > See above.
> > 
> > -joel
> >
>




------------------------------------

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