examples/TestMasterSlave/TestMasterSlave.c
changeset 32 8afa33692372
parent 31 a82b70738e5c
child 36 ff3ba4a90548
equal deleted inserted replaced
31:a82b70738e5c 32:8afa33692372
   115 
   115 
   116 void catch_signal(int sig)
   116 void catch_signal(int sig)
   117 {
   117 {
   118   signal(SIGTERM, catch_signal);
   118   signal(SIGTERM, catch_signal);
   119   signal(SIGINT, catch_signal);
   119   signal(SIGINT, catch_signal);
   120   stopTimer();
   120   eprintf("Got Signal %d\n",sig);
   121   eprintf("Got Sigterm - Finishing.\n");
   121 }
   122 }
       
   123 
       
   124 
   122 
   125 void help()
   123 void help()
   126 {
   124 {
   127   printf("**************************************************************\n");
   125   printf("**************************************************************\n");
   128   printf("*  TestMasterSlave                                           *\n");
   126   printf("*  TestMasterSlave                                           *\n");
   187 	
   185 	
   188 	// Open CAN devices
   186 	// Open CAN devices
   189 	SlaveCanHandle = canOpen(&SlaveBoard);
   187 	SlaveCanHandle = canOpen(&SlaveBoard);
   190 	MasterCanHandle = canOpen(&MasterBoard);	
   188 	MasterCanHandle = canOpen(&MasterBoard);	
   191 	
   189 	
   192 	// Will call InitNodes, and wait and handle next timer events.
   190 	// Start timer thread
   193 	TimerLoop(&InitNodes);
   191 	StartTimerLoop(&InitNodes);
   194 	
   192 
   195 	// Close CAN devices
   193 	// wait Ctrl-C
       
   194 	pause();
       
   195 	eprintf("Finishing.\n");
       
   196 	
       
   197 	// Stop timer thread
       
   198 	StopTimerLoop();
       
   199 	
       
   200 	// Close CAN devices (and can threads)
   196 	canClose(SlaveCanHandle);
   201 	canClose(SlaveCanHandle);
   197 	canClose(MasterCanHandle);	
   202 	canClose(MasterCanHandle);	
   198 	
   203 	
   199 
   204 
   200   return 0;
   205   return 0;