33 ll = Int32x32To64(
t, 10000000) + 116444736000000000;
34 pft->dwLowDateTime = (
DWORD)ll;
35 pft->dwHighDateTime = ll >> 32;
41 BYTE ch = bC ? USBCAN_CHANNEL_CH1 : USBCAN_CHANNEL_CH0;
43 tStatusStruct pStatus_p;
56 case USBCAN_EVENT_RECIEVE:
58 Status = UcanReadCanMsgEx(uhp, &ch, &frame, NULL );
60 if (USBCAN_CHECK_VALID_RXCANMSG (Status))
63 memcpy(&cmes.
c_data,&frame.m_bData,8);
64 cmes.
c_dlc = frame.m_bDLC;
65 cmes.
c_ff = frame.m_bFF;
66 cmes.
c_id = frame.m_dwID;
67 cmes.
c_time.tv_sec = frame.m_dwTime/1000;
68 cmes.
c_time.tv_usec = frame.m_dwTime*1000;
71 if (USBCAN_CHECK_WARNING (Status))
73 Status = UcanGetStatusEx (uhp, ch, &pStatus_p);
78 else if (USBCAN_CHECK_WARNING (Status))
80 Status = UcanGetStatusEx (uhp, ch, &pStatus_p);
108 unsigned char *buf = message;
109 frame.m_dwID = cobID;
120 memcpy(frame.m_bData,buf,l1);
122 if (Status != USBCAN_SUCCESSFUL) {
135 frame.m_dwID = cobID;
137 frame.m_bFF = USBCAN_MSG_FF_RTR;
145 busName = strdup(
name);
155 CAN_GetErrorText((TPCANStatus)
error,0, tmp);
156 *message =
new char[strlen(tmp)+1];
157 strcpy(*message,tmp);
163 DWORD Status = USBCAN_SUCCESSFUL;
167 unsigned int tseg1 = 0;
168 unsigned int tseg2 = 0;
169 unsigned int sjw = 0;
170 unsigned int noSamp = 0;
171 unsigned int syncmode = 0;
172 long BaudRate = USBCAN_BAUD_125kBit,br;
174 BYTE bRet = USBCAN_SUCCESSFUL;
176 tUcanInitCanParam InitParam;
179 com = strchr(
name,
':');
180 if (com == NULL)
return NULL;
184 strch = strchr(com,
',');
196 numPar = sscanf(parameters,
"%d %d %d %d %d %d",&br,&tseg1,&tseg2,&sjw,&noSamp,&syncmode);
200 case 50000:
BaudRate = USBCAN_BAUD_50kBit;
break;
201 case 100000:
BaudRate = USBCAN_BAUD_100kBit;
break;
202 case 125000:
BaudRate = USBCAN_BAUD_125kBit;
break;
203 case 250000:
BaudRate = USBCAN_BAUD_250kBit;
break;
204 case 500000:
BaudRate = USBCAN_BAUD_500kBit;
break;
205 case 1000000:
BaudRate = USBCAN_BAUD_1MBit;
break;
209 else {
if (numPar != 0)
BaudRate = br; }
219 if (bRet != USBCAN_SUCCESSFUL) {
221 ::UcanDeinitHardware (oh);
225 InitParam.m_dwSize =
sizeof (InitParam);
226 InitParam.m_bMode = kUcanModeNormal;
227 InitParam.m_bBTR0 = HIBYTE (
BaudRate);
228 InitParam.m_bBTR1 = LOBYTE (
BaudRate);
229 InitParam.m_bOCR = 0x1A;
230 InitParam.m_dwAMR = USBCAN_AMR_ALL;
231 InitParam.m_dwACR = USBCAN_ACR_ALL;
232 InitParam.m_dwBaudrate = USBCAN_BAUDEX_USE_BTR01;
233 InitParam.m_wNrOfRxBufferEntries = USBCAN_DEFAULT_BUFFER_ENTRIES;
234 InitParam.m_wNrOfTxBufferEntries = USBCAN_DEFAULT_BUFFER_ENTRIES;
238 bRet = ::UcanInitCanEx2 (oh,
numChannel, &InitParam);
239 if (bRet != USBCAN_SUCCESSFUL)