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 @@ - -
-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 -