--- a/examples/TestMasterMicroMod/TestMasterMicroMod.c Tue Apr 29 13:54:23 2008 +0200
+++ b/examples/TestMasterMicroMod/TestMasterMicroMod.c Fri May 02 17:30:37 2008 +0200
@@ -82,7 +82,7 @@
RW); /* UNS8 checkAccess */
}
-static init_step = 0;
+static int init_step = 0;
/*Froward declaration*/
static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId);
@@ -346,7 +346,7 @@
}
#endif
-void help()
+void help(void)
{
printf("**************************************************************\n");
printf("* TestMasterMicroMod *\n");
@@ -392,6 +392,14 @@
}
}
+/*************************** EXIT *****************************************/
+void Exit(CO_Data* d, UNS32 id)
+{
+ masterSendNMTstateChange(&TestMaster_Data, 0x02, NMT_Reset_Node);
+
+ //Stop master
+ setState(&TestMaster_Data, Stopped);
+}
/****************************************************************************/
/*************************** MAIN *****************************************/
/****************************************************************************/
@@ -449,6 +457,7 @@
/* install signal handler for manual break */
signal(SIGTERM, catch_signal);
signal(SIGINT, catch_signal);
+ TimerInit();
#endif
#ifndef NOT_USE_DYNAMIC_LOADING
@@ -475,18 +484,13 @@
pause();
eprintf("Finishing.\n");
- // Reset the slave node for next use (will stop emitting heartbeat)
- masterSendNMTstateChange (&TestMaster_Data, slavenodeid, NMT_Reset_Node);
-
- // Stop master
- setState(&TestMaster_Data, Stopped);
-
// Stop timer thread
- StopTimerLoop();
+ StopTimerLoop(&Exit);
fail_master:
if(MasterBoard.baudrate) canClose(&TestMaster_Data);
+ TimerCleanup();
return 0;
}