Kvaser CANLIB: Welcome to Kvaser CANLIB!
j1587lib.h
Go to the documentation of this file.
1 
16 #ifndef __J1587LIB_H
17 #define __J1587LIB_H
18 
23 #include <windows.h>
24 
28 typedef int J1587Handle;
29 
33 #define j1587INVALID_HANDLE ((J1587Handle)(-1))
34 
40 #define canTRANSCEIVER_TYPE_LINX_LIN 64
41 #define canTRANSCEIVER_TYPE_LINX_J1708 66
42 #define canTRANSCEIVER_TYPE_LINX_K 68
43 #define canTRANSCEIVER_TYPE_LINX_SWC 70
44 #define canTRANSCEIVER_TYPE_LINX_LS 72
45 
52 #define EEPROM_OP_MODE_NONE 0x00
53 #define EEPROM_OP_MODE_J1587_NORMAL 0x01
54 #define EEPROM_OP_MODE_J1587_NODE 0x02
55 
62 #define j1587FLAG_CHECKSUM 0x80
63 #define j1587FLAG_FRAMEDELAY 0x40
64 #define j1587FLAG_BYTEDELAY 0x20
65 #define j1587FLAG_STOPBIT 0x10
66 #define j1587FLAG_OVERRUN 0x08
67 
74 typedef enum {
75  j1587OK = 0,
99 } J1587Status;
105 #define J1587LIB_VERSION 1
106 
107 // sizeof(J1587MessageInfo) should be 16
108 #include <pshpack1.h>
109 
110 
111 
119 typedef struct {
123  unsigned char version;
124 
128  unsigned char flags;
129 
135  unsigned char frameDelay;
136 
137  union {
142  unsigned char checkSum;
146  unsigned char retries;
147  };
148 
153  unsigned long timestamp;
154 
159  unsigned long frameLength;
160 
165  unsigned short bitrate;
166 
170  unsigned short reserved;
172 #include <poppack.h>
173 
174 
175 // Define J1587LIBAPI unless it's done already.
176 // (j1587lib.c provides its own definition of J1587LIBAPI before including this file.)
177 //
178 #ifndef J1587LIBAPI
179 # if defined(__BORLANDC__)
180 # define J1587LIBAPI __stdcall
181 # elif defined(_MSC_VER) || defined(__MWERKS__) || defined(__GNUC__)
182 # define J1587LIBAPI __stdcall
183 # endif
184 #endif
185 
186 #ifdef __cplusplus
187 extern "C" {
188 #endif
189 
194 void J1587LIBAPI j1587InitializeLibrary(void);
195 
196 
218 J1587Handle J1587LIBAPI j1587OpenChannel(int channel, int flags);
219 
225 #define J1587_NORMAL 1
226 #define J1587_NODE 2
227 #define J1587_READ 4
228 #define J1587_WRITE 8
229 
243 J1587Status J1587LIBAPI j1587Close(J1587Handle h);
244 
278  unsigned char *bootVerMajor,
279  unsigned char *bootVerMinor,
280  unsigned char *bootVerBuild,
281  unsigned char *appVerMajor,
282  unsigned char *appVerMinor,
283  unsigned char *appVerBuild);
284 
297 J1587Status J1587LIBAPI j1587SetBitrate(J1587Handle h, unsigned int bps);
298 
309 J1587Status J1587LIBAPI j1587BusOn(J1587Handle h);
310 
321 J1587Status J1587LIBAPI j1587BusOff(J1587Handle h);
322 
335 unsigned long J1587LIBAPI j1587ReadTimer(J1587Handle h);
336 
350 J1587Status J1587LIBAPI j1587WriteMessageWait(J1587Handle h, const void *msg,
351  unsigned int length,
352  unsigned int priority,
353  DWORD timeout);
354 
372 J1587Status J1587LIBAPI j1587ReadMessageWait(J1587Handle h, void *msg,
373  unsigned int *msgLength,
374  J1587MessageInfo *msgInfo,
375  DWORD timeout);
376 
393 J1587Status J1587LIBAPI j1587WriteSync (J1587Handle h,
394  J1587MessageInfo *msgInfo,
395  DWORD timeout);
396 
415 J1587Status J1587LIBAPI j1587Configure(J1587Handle h, unsigned int flags);
416 
417 
418 
424 #define J1587_INTER_CHAR_DELAY_MASK 0x0f
425 #define J1587_REPORT_BAD_CHECKSUM 0x10
426 #define J1587_REPORT_FRAME_DELAY 0x20
427 #define J1587_REPORT_CHAR_DELAY 0x40
428 
441 J1587Status J1587LIBAPI j1587GetCanHandle(J1587Handle h, unsigned int *canHandle);
442 
443 #ifdef __cplusplus
444 }
445 #endif
446 
447 #endif // __J1587LIB_H
No messages available.
Definition: j1587lib.h:76
Handle is invalid.
Definition: j1587lib.h:88
J1587Status j1587WriteSync(J1587Handle h, J1587MessageInfo *msgInfo, DWORD timeout)
J1587Status j1587BusOff(J1587Handle h)
unsigned char retries
Definition: j1587lib.h:146
J1587Status j1587Close(J1587Handle h)
The J1587 interface response wasn&#39;t the expected one.
Definition: j1587lib.h:91
J1587Status j1587BusOn(J1587Handle h)
Access denied.
Definition: j1587lib.h:97
void j1587InitializeLibrary(void)
Function not supported in this version.
Definition: j1587lib.h:98
Timeout occurred.
Definition: j1587lib.h:85
Library not initialized.
Definition: j1587lib.h:86
int J1587Handle
Definition: j1587lib.h:28
Out of memory.
Definition: j1587lib.h:83
Definition: j1587lib.h:79
Definition: j1587lib.h:78
unsigned short bitrate
Definition: j1587lib.h:165
Specified hw not found.
Definition: j1587lib.h:82
Error in parameter.
Definition: j1587lib.h:81
unsigned char version
Definition: j1587lib.h:123
J1587Status j1587GetFirmwareVersion(J1587Handle h, unsigned char *bootVerMajor, unsigned char *bootVerMinor, unsigned char *bootVerBuild, unsigned char *appVerMajor, unsigned char *appVerMinor, unsigned char *appVerBuild)
unsigned long frameLength
Definition: j1587lib.h:159
unsigned char frameDelay
Definition: j1587lib.h:135
unsigned short reserved
Definition: j1587lib.h:170
The license is not valid.
Definition: j1587lib.h:95
Internal error in the driver.
Definition: j1587lib.h:96
unsigned char checkSum
Definition: j1587lib.h:142
J1587Status j1587Configure(J1587Handle h, unsigned int flags)
unsigned char flags
Definition: j1587lib.h:128
Definition: j1587lib.h:80
Definition: j1587lib.h:89
There was an error response from the J1587 interface.
Definition: j1587lib.h:90
OK - no error.
Definition: j1587lib.h:75
J1587Status
Definition: j1587lib.h:74
J1587Handle j1587OpenChannel(int channel, int flags)
Can&#39;t get handle.
Definition: j1587lib.h:87
Definition: j1587lib.h:119
J1587Status j1587WriteMessageWait(J1587Handle h, const void *msg, unsigned int length, unsigned int priority, DWORD timeout)
J1587Status j1587SetBitrate(J1587Handle h, unsigned int bps)
unsigned long timestamp
Definition: j1587lib.h:153
CAN driver type not supported.
Definition: j1587lib.h:92
The card was removed or not inserted.
Definition: j1587lib.h:94
J1587Status j1587ReadMessageWait(J1587Handle h, void *msg, unsigned int *msgLength, J1587MessageInfo *msgInfo, DWORD timeout)
Definition: j1587lib.h:77
No channels avaliable.
Definition: j1587lib.h:84
DeviceIOControl failed; use Win32 GetLastError()
Definition: j1587lib.h:93
unsigned long j1587ReadTimer(J1587Handle h)