X-Git-Url: https://rtime.felk.cvut.cz/gitweb/CanFestival-3.git/blobdiff_plain/d1f979dd3f4e96f31907e34bbf3e68e11e85d9af..c33f48124297f54cb2152487d1aff676e0a1b856:/examples/DS401_Master/TestMasterMicroMod.c diff --git a/examples/DS401_Master/TestMasterMicroMod.c b/examples/DS401_Master/TestMasterMicroMod.c index cbeb862..69a27e9 100644 --- a/examples/DS401_Master/TestMasterMicroMod.c +++ b/examples/DS401_Master/TestMasterMicroMod.c @@ -82,7 +82,7 @@ void TestMaster_initialisation(CO_Data* d) RW); /* UNS8 checkAccess */ } -static init_step = 0; +static int init_step = 0; /*Froward declaration*/ static void ConfigureSlaveNode(CO_Data* d, UNS8 nodeId); @@ -363,7 +363,7 @@ void catch_signal(int sig) } #endif -void help() +void help(void) { printf("**************************************************************\n"); printf("* TestMasterMicroMod *\n"); @@ -409,6 +409,15 @@ void InitNodes(CO_Data* d, UNS32 id) } } +/*************************** EXIT *****************************************/ +void Exit(CO_Data* d, UNS32 id) +{ + masterSendNMTstateChange(&TestMaster_Data, 0x02, NMT_Reset_Node); + + //Stop master + setState(&TestMaster_Data, Stopped); +} + /****************************************************************************/ /*************************** MAIN *****************************************/ /****************************************************************************/ @@ -466,6 +475,7 @@ int main(int argc,char **argv) /* install signal handler for manual break */ signal(SIGTERM, catch_signal); signal(SIGINT, catch_signal); + TimerInit(); #endif #ifndef NOT_USE_DYNAMIC_LOADING @@ -499,12 +509,13 @@ int main(int argc,char **argv) setState(&TestMaster_Data, Stopped); // Stop timer thread - StopTimerLoop(); + StopTimerLoop(&Exit); fail_master: if(MasterBoard.baudrate) canClose(&TestMaster_Data); - return 0; + TimerCleanup(); + return 0; }