plugins/canfestival/cf_runtime.c
changeset 156 f2b35f4285b8
parent 152 9abf2ac9cb8e
child 160 4b63934885e1
equal deleted inserted replaced
155:515f3fbd1173 156:f2b35f4285b8
    55     {\
    55     {\
    56         EnterMutex();\
    56         EnterMutex();\
    57         setState(&nodename##_Data, Stopped);\
    57         setState(&nodename##_Data, Stopped);\
    58         LeaveMutex();\
    58         LeaveMutex();\
    59         canClose(&nodename##_Data);\
    59         canClose(&nodename##_Data);\
    60         #if !defined(WIN32) || defined(__CYGWIN__)\
       
    61         		TimerCleanup();\
       
    62         #endif\
       
    63     }
    60     }
    64 
    61 
    65 void __cleanup_%(locstr)s()
    62 void __cleanup_%(locstr)s()
    66 {
    63 {
    67     %(nodes_close)s
    64     %(nodes_close)s
    68     
    65     
    69     // Stop timer thread
    66     // Stop timer thread
    70     if(init_level-- > 0)
    67     if(init_level-- > 0)
    71         StopTimerLoop(&Exit);
    68         StopTimerLoop(&Exit);
    72 
    69 
       
    70     #if !defined(WIN32) || defined(__CYGWIN__)
       
    71    		TimerCleanup();
       
    72     #endif
    73 }
    73 }
    74 
    74 
    75 #define NODE_OPEN(nodename)\
    75 #define NODE_OPEN(nodename)\
    76 	#if !defined(WIN32) || defined(__CYGWIN__)\
    76     nodename##_Data.preOperational = nodename##_preOperational;\
    77 		TimerInit();\
       
    78 	#endif\
       
    79 	nodename##_Data.preOperational = nodename##_preOperational;\
       
    80     if(!canOpen(&nodename##Board,&nodename##_Data)){\
    77     if(!canOpen(&nodename##Board,&nodename##_Data)){\
    81         printf("Cannot open " #nodename " Board (%%s,%%s)\n",nodename##Board.busname, nodename##Board.baudrate);\
    78         printf("Cannot open " #nodename " Board (%%s,%%s)\n",nodename##Board.busname, nodename##Board.baudrate);\
    82         return -1;\
    79         return -1;\
    83     }\
    80     }\
    84     init_level++;
    81     init_level++;
    90     if( !LoadCanDriver("%(candriver)s") ){
    87     if( !LoadCanDriver("%(candriver)s") ){
    91         fprintf(stderr, "Cannot load CAN interface library for CanFestival (%(candriver)s)\n");\
    88         fprintf(stderr, "Cannot load CAN interface library for CanFestival (%(candriver)s)\n");\
    92         return -1;
    89         return -1;
    93     }
    90     }
    94 #endif      
    91 #endif      
    95 
    92 	#if !defined(WIN32) || defined(__CYGWIN__)
       
    93 		TimerInit();
       
    94 	#endif
       
    95 	
    96     %(nodes_open)s
    96     %(nodes_open)s
    97 
    97 
    98     // Start timer thread
    98     // Start timer thread
    99     StartTimerLoop(&InitNodes);
    99     StartTimerLoop(&InitNodes);
   100     init_level++;
   100     init_level++;