diff -r c74a73474cce -r bc000083297a examples/TestMasterMicroMod/TestMasterMicroMod.c --- 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; }