equal
deleted
inserted
replaced
156 fprintf(stderr,"CanOpen : Can Driver dll not loaded\n"); |
156 fprintf(stderr,"CanOpen : Can Driver dll not loaded\n"); |
157 return NULL; |
157 return NULL; |
158 } |
158 } |
159 #endif |
159 #endif |
160 CAN_HANDLE fd0 = DLL_CALL(canOpen)(board); |
160 CAN_HANDLE fd0 = DLL_CALL(canOpen)(board); |
161 |
161 if(fd0){ |
162 canports[i].used = 1; |
162 canports[i].used = 1; |
163 canports[i].fd = fd0; |
163 canports[i].fd = fd0; |
164 canports[i].d = d; |
164 canports[i].d = d; |
165 |
|
166 CreateReceiveTask(&(canports[i]), &canports[i].receiveTask, &canReceiveLoop); |
|
167 |
165 |
168 EnterMutex(); |
166 CreateReceiveTask(&(canports[i]), &canports[i].receiveTask, &canReceiveLoop); |
169 d->canHandle = (CAN_PORT)&canports[i]; |
167 |
170 LeaveMutex(); |
168 EnterMutex(); |
171 return (CAN_PORT)&canports[i]; |
169 d->canHandle = (CAN_PORT)&canports[i]; |
|
170 LeaveMutex(); |
|
171 return (CAN_PORT)&canports[i]; |
|
172 }else{ |
|
173 fprintf(stderr,"CanOpen : Cannot open board {busname='%s',baudrate='%s'}\n",board->busname, board->baudrate); |
|
174 return NULL; |
|
175 } |
172 } |
176 } |
173 |
177 |
174 int canClose(CO_Data * d) |
178 int canClose(CO_Data * d) |
175 { |
179 { |
176 EnterMutex(); |
180 EnterMutex(); |