doc/manual/en/html/node53.html
author etisserant
Mon, 02 Jul 2007 18:22:58 +0200
changeset 236 905677ed00f3
parent 215 f49e5a6b7804
permissions -rw-r--r--
Full preliminary implementation of TPDO transmit type:
- SYNC (N) (1-240)
- RTR only + SYNC (252)
- RTR only (253)
- EVENT, with timer and inhibit time (254 and 255)

User app have to call sendPDOevent(d) to eventually signal mapped data changes.
Callbacks added to 0x140N, TPDO comm parameters for on the fly timers values change.
TestMasterSlave updated.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>TestMasterSlave</TITLE>
<META NAME="description" CONTENT="TestMasterSlave">
<META NAME="keywords" CONTENT="manual">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">

<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="manual.css">

<LINK REL="next" HREF="node54.html">
<LINK REL="previous" HREF="node52.html">
<LINK REL="up" HREF="node52.html">
<LINK REL="next" HREF="node54.html">
</HEAD>

<BODY >

<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html830"
  HREF="node54.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="/usr/share/latex2html/icons/next.png"></A> 
<A NAME="tex2html826"
  HREF="node52.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="/usr/share/latex2html/icons/up.png"></A> 
<A NAME="tex2html820"
  HREF="node52.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="/usr/share/latex2html/icons/prev.png"></A> 
<A NAME="tex2html828"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="/usr/share/latex2html/icons/contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html831"
  HREF="node54.html">gene_SYNC_HCS12 :</A>
<B> Up:</B> <A NAME="tex2html827"
  HREF="node52.html">Example and test program:</A>
<B> Previous:</B> <A NAME="tex2html821"
  HREF="node52.html">Example and test program:</A>
 &nbsp; <B>  <A NAME="tex2html829"
  HREF="node1.html">Contents</A></B> 
<BR>
<BR></DIV>
<!--End of Navigation Panel-->

<H2><A NAME="SECTION00091000000000000000">
TestMasterSlave</A>
</H2>
<TT>**************************************************************</TT>

<P>
<TT>* 

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* simple example for PC. It does implement 2 CanOpen 
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* in the same process. A master and a slave. Both 
<BR>
<BR>*</TT>

<P>
<TT>* together, exchanging periodically NMT, SYNC, &sstarf#star;</TT>

<P>
<TT>* and PDO. Master configure heartbeat producer time 
<BR>
<BR>*</TT>

<P>
<TT>* @1000 ms for slave node-id 0x02 by concise DCF.

<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>
Usage:

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>* 
<BR>./TestMasterSlave OPTIONS]

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>
OPTIONS:

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>* 
<BR>
<BR>-l : Can library
[libcanfestival_can_virtual.so]

<BR>
<BR>*</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>:

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>
<BR>-s : bus name [0]

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>
<BR>-S : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable) &sstarf#star;</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>:

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>*</TT>

<P>
<TT>* 
<BR>
<BR>-m : bus name [1]

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>* 
<BR>
<BR>-M : 1M,500K,250K,125K,100K,50K,20K,10K,none(disable) &sstarf#star;</TT>

<P>
<TT>*

<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>&sstarf#star;</TT>

<P>
<TT>**************************************************************</TT>

<P>

<P><P>
<BR>

<P>
<I CLASS="sans">Notes for Concise DCF :</I>

<P>

<P><P>
<BR>

<P>
<I CLASS="sans"> In this example, Master configure producer time at 1000 ms
for slave node-id 0x02 by concise DCF according DS-302 profile. </I>

<P>


<P>
<I CLASS="sans"> Index 0x1F22 , sub-index 0x00 of the master OD, correspond to the
number of entries. This equal to the maximum possible nodeId (127).
Each sub-index points to the Node-ID of the device, to which the
configuration belongs. </I>

<P>

<P><P>
<BR>

<P>
<I CLASS="sans"> To add more parameters configurations to the slave, the value at
sub-index 0x02 must be a binary stream (little-endian) following
this structure :</I>

<P>


<P>
<I CLASS="sans">[ nb of entries / index parameter 1 / sub-index parameter 1  size
data parameter 1  data parameter 1 / index parameter n / ...]</I>

<P>
<I CLASS="sans">
<BR>
<BR>
<BR>(UNS32) 
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>(UNS16)  (UNS8)  

<BR>
<BR>
<BR>
<BR>
<BR>
UNS32)   
<BR>
DOMAIN)</I>

<P>


<P>
<I CLASS="sans"> So the binary value stream to configure heartbeat producer time must be
: </I>

<P>

<P><P>
<BR>

<P>
<I CLASS="sans">    0100000017100002000000e803</I>

<P>

<P><P>
<BR>

<P>
<I CLASS="sans">The slave node is configured just before the Master entering in
Pre_operational state.</I>

<P>

<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html830"
  HREF="node54.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
 SRC="/usr/share/latex2html/icons/next.png"></A> 
<A NAME="tex2html826"
  HREF="node52.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
 SRC="/usr/share/latex2html/icons/up.png"></A> 
<A NAME="tex2html820"
  HREF="node52.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
 SRC="/usr/share/latex2html/icons/prev.png"></A> 
<A NAME="tex2html828"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
 SRC="/usr/share/latex2html/icons/contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html831"
  HREF="node54.html">gene_SYNC_HCS12 :</A>
<B> Up:</B> <A NAME="tex2html827"
  HREF="node52.html">Example and test program:</A>
<B> Previous:</B> <A NAME="tex2html821"
  HREF="node52.html">Example and test program:</A>
 &nbsp; <B>  <A NAME="tex2html829"
  HREF="node1.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
epimerde
2007-06-08
</ADDRESS>
</BODY>
</HTML>