00001
00007 #ifndef _MINICAN_H_
00008 #define _MINICAN_H_
00009
00010 #ifndef __BORLANDC__
00011 #pragma pack(push, SORCPACK, 1)
00012 #else
00013 #pragma option -a-
00014 #endif
00015
00016 #define PROGRAMM_NUMBER 0x9020
00017 #define CAN_TASK_NUMBER 0x300
00018 #define VERSION '1'
00019 #define REVISION 'C'
00020
00021 #define CAN_RCV_BUFFER_SIZE 0x100000L
00022
00023
00032 typedef struct
00033 {
00034 ULONG ulTimeStampHi;
00035 ULONG ulTimeStampLo;
00036 ULONG ulFormat;
00037 ULONG ulId;
00038 ULONG ulDataSize;
00039 UCHAR aucData[8];
00040 } CAN_INTERFACE_READ;
00041
00042
00050 typedef struct
00051 {
00052 ULONG ulId;
00053 ULONG ulFormat;
00054 ULONG ulDataSize;
00055 UCHAR aucData[8];
00056 } CAN_INTERFACE_WRITE;
00057
00058
00069 typedef struct
00070 {
00071 ULONG ulBitRate;
00072 ULONG ulCanId;
00073 ULONG ulCanMask;
00074 ULONG ulFormat;
00075 ULONG ulRbus;
00076 } CAN_INTERFACE_PARAMETERS;
00077
00087 typedef struct
00088 {
00089 ULONG ulTimeStampHi;
00090 ULONG ulTimeStampLo;
00091 USHORT usBusState;
00092 USHORT usBusInfo;
00093 } CAN_INTERFACE_STATE;
00094
00095
00096 #ifndef __BORLANDC__
00097 #pragma pack(pop, SORCPACK)
00098 #endif
00099
00100
00101 #define CAN_PARAM_ERROR 0
00102 #define CAN_PARAM_TIMESTAMP_HI 2
00103 #define CAN_PARAM_TIMESTAMP_LO 6
00104 #define CAN_PARAM_INTERFACE0 10
00105 #define CAN_PARAM_INTERFACE1 30
00106 #define CAN_PARAM_SLOT 50
00107 #define CAN_PARAM_STATE0 80
00108 #define CAN_PARAM_STATE1 92
00109 #define CAN_PARAM_COUNT_FILTER0 104
00110 #define CAN_PARAM_COUNT_FILTER1 108
00111 #define CAN_PARAM_COUNT_ACK0 120
00112 #define CAN_PARAM_COUNT_ACK1 124
00113 #define CAN_PARAM_COUNT_CTRL0 112
00114 #define CAN_PARAM_COUNT_CTRL1 116
00115
00116
00117 #define CAN_START_INTERFACES 2
00118 #define CAN_STOP_INTERFACES 3
00119 #define CAN_READ_INTERFACE0 4
00120 #define CAN_WRITE_INTERFACE0 5
00121 #define CAN_READ_INTERFACE1 6
00122 #define CAN_WRITE_INTERFACE1 7
00123
00124
00125 #define CAN_MIXED_ID (11 | 29)
00126
00127 #endif