diff -r 6efc85c5493e -r 1c1e3599d66a doc/doxygen/html/nmtSlave_8c-source.html --- a/doc/doxygen/html/nmtSlave_8c-source.html Mon Feb 11 11:00:12 2008 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,115 +0,0 @@ - - -CanFestival: src/nmtSlave.c Source File - - - - -
-
-
-
- -

nmtSlave.c

Go to the documentation of this file.
00001 /*
-00002   This file is part of CanFestival, a library implementing CanOpen
-00003   Stack.
-00004 
-00005   Copyright (C): Edouard TISSERANT and Francis DUPIN
-00006 
-00007   See COPYING file for copyrights details.
-00008 
-00009   This library is free software; you can redistribute it and/or
-00010   modify it under the terms of the GNU Lesser General Public
-00011   License as published by the Free Software Foundation; either
-00012   version 2.1 of the License, or (at your option) any later version.
-00013 
-00014   This library is distributed in the hope that it will be useful,
-00015   but WITHOUT ANY WARRANTY; without even the implied warranty of
-00016   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-00017   Lesser General Public License for more details.
-00018 
-00019   You should have received a copy of the GNU Lesser General Public
-00020   License along with this library; if not, write to the Free Software
-00021   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
-00022   USA
-00023 */
-00033 #include "nmtSlave.h"
-00034 #include "states.h"
-00035 #include "canfestival.h"
-00036 
-00043 void proceedNMTstateChange(CO_Data* d, Message *m)
-00044 {
-00045   if( d->nodeState == Pre_operational ||
-00046       d->nodeState == Operational ||
-00047       d->nodeState == Stopped ) {
-00048 
-00049     MSG_WAR(0x3400, "NMT received. for node :  ", (*m).data[1]);
-00050 
-00051     /* Check if this NMT-message is for this node */
-00052     /* byte 1 = 0 : all the nodes are concerned (broadcast) */
-00053 
-00054     if( ( (*m).data[1] == 0 ) || ( (*m).data[1] == *d->bDeviceNodeId ) ){
-00055 
-00056       switch( (*m).data[0]){ /* command specifier (cs) */
-00057       case NMT_Start_Node:
-00058         if ( (d->nodeState == Pre_operational) || (d->nodeState == Stopped) )
-00059           setState(d,Operational);
-00060         break;
-00061 
-00062       case NMT_Stop_Node:
-00063         if ( d->nodeState == Pre_operational ||
-00064              d->nodeState == Operational )
-00065           setState(d,Stopped);
-00066         break;
-00067 
-00068       case NMT_Enter_PreOperational:
-00069         if ( d->nodeState == Operational ||
-00070              d->nodeState == Stopped )
-00071           setState(d,Pre_operational);
-00072         break;
-00073 
-00074       case NMT_Reset_Node:
-00075         setState(d,Initialisation);
-00076         break;
-00077 
-00078       case NMT_Reset_Comunication:
-00079         setState(d,Initialisation);
-00080         break;
-00081 
-00082       }/* end switch */
-00083 
-00084     }/* end if( ( (*m).data[1] == 0 ) || ( (*m).data[1] ==
-00085         bDeviceNodeId ) ) */
-00086   }
-00087 }
-00088 
-00089 
-00097 UNS8 slaveSendBootUp(CO_Data* d)
-00098 {
-00099   Message m;
-00100 
-00101   MSG_WAR(0x3407, "Send a Boot-Up msg ", 0);
-00102 
-00103   /* message configuration */
-00104   m.cob_id.w = NODE_GUARD << 7 | *d->bDeviceNodeId;
-00105   m.rtr = NOT_A_REQUEST;
-00106   m.len = 1;
-00107   m.data[0] = 0x00;
-00108 
-00109   return canSend(d->canHandle,&m);
-00110 }
-00111 
-

Generated on Mon Jul 2 19:10:16 2007 for CanFestival by  - -doxygen 1.5.1
- -