167 #define NUM_CHANNEL 4 241 unsigned short DataByte[8];
314 #pragma warning(push) 315 #pragma warning(disable:4214) 365 unsigned char rs : 1;
373 unsigned char ts : 1;
381 unsigned char es : 1;
389 unsigned char bs : 1;
407 unsigned char ri : 1;
411 unsigned char ti : 1;
415 unsigned char ei : 1;
681 void *_ptr64 Event64;
685 } IoctlReq_t, *pIoctlReq_t;
712 } IoctlRes_t, *pIoctlRes_t;
721 #define CAN200_ERR_PARM -1 722 #define CAN200_ERR_SYS -2 723 #define CAN200_ERR_MODE -3 724 #define CAN200_ERR_BUSY -4 727 #define CAN_CHANNEL_1 1 728 #define CAN_CHANNEL_2 2 729 #define CAN_CHANNEL_3 3 730 #define CAN_CHANNEL_4 4 736 #define MAX_CAN_NUMBER 10 751 #define CAN_SPEED_USER_DEFINED(btr0, btr1) (0xffff | (((btr0) & 0xff) << 24) | (((btr1) & 0xff) << 16)) 752 #define IS_CAN_SPEED_USER_DEFINED(speed) ((0xffff == ((speed) & 0xffff)) ? 1 : 0) 753 #define CAN_SPEED_GET_BTR0(speed) (((speed) >> 24) & 0xff) 754 #define CAN_SPEED_GET_BTR1(speed) (((speed) >> 16) & 0xff) 755 #define CAN_SPEED_1000 1000 756 #define CAN_SPEED_800 800 757 #define CAN_SPEED_500 500 758 #define CAN_SPEED_250 250 759 #define CAN_SPEED_125 125 760 #define CAN_SPEED_50 50 761 #define CAN_SPEED_20 20 762 #define CAN_SPEED_10 10 766 #define FILE_DEVICE_CAN200 0x8000 768 #define V_HardReset 0 769 #define V_SetWorkMode 1 770 #define V_GetWorkMode 2 771 #define V_SetDriverMode 3 772 #define V_SetCANSpeed 4 773 #define V_GetStatus 5 774 #define V_SetInterruptSource 6 775 #define V_SetTxBuffer 7 776 #define V_GetRxBuffer 8 777 #define V_SetCommand 9 778 #define V_B_SetInputFilter 10 779 #define V_P_SetRxErrorCounter 11 780 #define V_P_GetRxErrorCounter 12 781 #define V_P_SetTxErrorCounter 13 782 #define V_P_GetTxErrorCounter 14 783 #define V_P_SetErrorWarningLimit 15 784 #define V_P_GetErrorWarningLimit 16 785 #define V_P_GetArbitrationLostCapture 17 786 #define V_P_GetRxMessageCounter 18 787 #define V_P_GetErrorCode 19 788 #define V_P_SetInputFilter 20 789 #define V_DefEvent 21 790 #define V_GetEventData 22 791 #define V_GetConfig 23 792 #define V_GetCANSpeed 24 793 #define V_B_GetInputFilter 25 794 #define V_P_GetInputFilter 26 795 #define V_SetCANReg 27 796 #define V_GetCANReg 28 797 #define V_GetInterruptSource 29 798 #define V_GetOverCounter 30 799 #define V_GetNumChannel 31 800 #define V_GetVersion 32 805 #define IOCTL_CAN200PC_SetWorkMode CTL_CODE(FILE_DEVICE_CAN200, \ 806 0x800 + V_SetWorkMode, \ 809 #define IOCTL_CAN200PC_GetWorkMode CTL_CODE(FILE_DEVICE_CAN200, \ 810 0x800 + V_GetWorkMode, \ 813 #define IOCTL_CAN200PC_SetDriverMode CTL_CODE(FILE_DEVICE_CAN200, \ 814 0x800 + V_SetDriverMode, \ 817 #define IOCTL_CAN200PC_HardReset CTL_CODE(FILE_DEVICE_CAN200, \ 818 0x800 + V_HardReset, \ 821 #define IOCTL_CAN200PC_SetCANSpeed CTL_CODE(FILE_DEVICE_CAN200, \ 822 0x800 + V_SetCANSpeed, \ 825 #define IOCTL_CAN200PC_GetStatus CTL_CODE(FILE_DEVICE_CAN200, \ 826 0x800 + V_GetStatus, \ 829 #define IOCTL_CAN200PC_GetConfig CTL_CODE(FILE_DEVICE_CAN200, \ 830 0x800 + V_GetConfig, \ 833 #define IOCTL_CAN200PC_SetInterruptSource CTL_CODE(FILE_DEVICE_CAN200, \ 834 0x800 + V_SetInterruptSource, \ 837 #define IOCTL_CAN200PC_SetTxBuffer CTL_CODE(FILE_DEVICE_CAN200, \ 838 0x800 + V_SetTxBuffer, \ 841 #define IOCTL_CAN200PC_GetRxBuffer CTL_CODE(FILE_DEVICE_CAN200, \ 842 0x800 + V_GetRxBuffer, \ 845 #define IOCTL_CAN200PC_SetCommand CTL_CODE(FILE_DEVICE_CAN200, \ 846 0x800 + V_SetCommand, \ 849 #define IOCTL_CAN200PC_B_SetInputFilter CTL_CODE(FILE_DEVICE_CAN200, \ 850 0x800 + V_B_SetInputFilter, \ 853 #define IOCTL_CAN200PC_P_SetRxErrorCounter CTL_CODE(FILE_DEVICE_CAN200, \ 854 0x800 + V_P_SetRxErrorCounter, \ 857 #define IOCTL_CAN200PC_P_GetRxErrorCounter CTL_CODE(FILE_DEVICE_CAN200, \ 858 0x800 + V_P_GetRxErrorCounter, \ 861 #define IOCTL_CAN200PC_P_SetTxErrorCounter CTL_CODE(FILE_DEVICE_CAN200, \ 862 0x800 + V_P_SetTxErrorCounter, \ 865 #define IOCTL_CAN200PC_P_GetTxErrorCounter CTL_CODE(FILE_DEVICE_CAN200, \ 866 0x800 + V_P_GetTxErrorCounter, \ 869 #define IOCTL_CAN200PC_P_SetErrorWarningLimit CTL_CODE(FILE_DEVICE_CAN200, \ 870 0x800 + V_P_SetErrorWarningLimit, \ 873 #define IOCTL_CAN200PC_P_GetErrorWarningLimit CTL_CODE(FILE_DEVICE_CAN200, \ 874 0x800 + V_P_GetErrorWarningLimit, \ 877 #define IOCTL_CAN200PC_P_GetArbitrationLostCapture CTL_CODE(FILE_DEVICE_CAN200, \ 878 0x800 + V_P_GetArbitrationLostCapture, \ 881 #define IOCTL_CAN200PC_P_GetRxMessageCounter CTL_CODE(FILE_DEVICE_CAN200, \ 882 0x800 + V_P_GetRxMessageCounter, \ 885 #define IOCTL_CAN200PC_P_GetErrorCode CTL_CODE(FILE_DEVICE_CAN200, \ 886 0x800 + V_P_GetErrorCode, \ 889 #define IOCTL_CAN200PC_P_SetInputFilter CTL_CODE(FILE_DEVICE_CAN200, \ 890 0x800 + V_P_SetInputFilter, \ 893 #define IOCTL_CAN200PC_GetCANSpeed CTL_CODE(FILE_DEVICE_CAN200, \ 894 0x800 + V_GetCANSpeed, \ 897 #define IOCTL_CAN200PC_B_GetInputFilter CTL_CODE(FILE_DEVICE_CAN200, \ 898 0x800 + V_B_GetInputFilter, \ 901 #define IOCTL_CAN200PC_DefEvent CTL_CODE(FILE_DEVICE_CAN200, \ 902 0x800 + V_DefEvent, \ 905 #define IOCTL_CAN200PC_GetEventData CTL_CODE(FILE_DEVICE_CAN200, \ 906 0x800 + V_GetEventData, \ 909 #define IOCTL_CAN200PC_P_GetInputFilter CTL_CODE(FILE_DEVICE_CAN200, \ 910 0x800 + V_P_GetInputFilter, \ 913 #define IOCTL_CAN200PC_SetCANReg CTL_CODE(FILE_DEVICE_CAN200, \ 914 0x800 + V_SetCANReg, \ 917 #define IOCTL_CAN200PC_GetCANReg CTL_CODE(FILE_DEVICE_CAN200, \ 918 0x800 + V_GetCANReg, \ 921 #define IOCTL_CAN200PC_GetInterruptSource CTL_CODE(FILE_DEVICE_CAN200, \ 922 0x800 + V_GetInterruptSource, \ 925 #define IOCTL_CAN200PC_GetOverCounter CTL_CODE(FILE_DEVICE_CAN200, \ 926 0x800 + V_GetOverCounter, \ 929 #define IOCTL_CAN200PC_GetNumChannel CTL_CODE(FILE_DEVICE_CAN200, \ 930 0x800 + V_GetNumChannel, \ 933 #define IOCTL_CAN200PC_GetVersion CTL_CODE(FILE_DEVICE_CAN200, \ 934 0x800 + V_GetVersion, \ unsigned char rsvd
Зарезервировано
Definition: public.h:656
Структура описывающая разрешение/запрет прерываний
Definition: public.h:400
unsigned short FF
Формат кадра
Definition: public.h:215
unsigned long extID
Расширенный идентификатор
Definition: public.h:227
unsigned char errc
Код ошибки
Definition: public.h:570
Структура описывающая команды выполняемые платой
Definition: public.h:446
USHORT Mask
Маска входного фильтра
Definition: public.h:283
#define NUM_CHANNEL
Количество каналов на плате
Definition: public.h:167
unsigned char tbs
Доступность буфера передачи
Definition: public.h:349
unsigned char rsvd
Зарезервированное поле
Definition: public.h:484
unsigned char ti
Прерывание после передачи кадра
Definition: public.h:411
unsigned char dos
Переполнение приемного буфера
Definition: public.h:341
unsigned char seg
Сегмент
Definition: public.h:550
unsigned char ts
Состояние передачи
Definition: public.h:373
Информация о причине установки события
Definition: public.h:252
unsigned char rs
Состояние приёма
Definition: public.h:365
unsigned char bei
Прерывание при ошибке на шине (только для режима PeliCAN)
Definition: public.h:435
unsigned char tcs
Завершенность передачи
Definition: public.h:357
Принятый/выдаваемый CAN кадр
Definition: public.h:206
unsigned char trans
Запрос на передачу кадра из буфера передачи
Definition: public.h:455
UCHAR IntrID
Причина установки события
Definition: public.h:265
unsigned char recv_bit_clear
Сброс признака переполнения буфера приема
Definition: public.h:474
unsigned short RTR
Значение бита RTR (0 или 1)
Definition: public.h:231
unsigned char wui
Прерывание при выходе из состояния "сна" (только для режима PeliCAN)
Definition: public.h:423
USHORT wIRQ
Номер вектора прерывания
Definition: public.h:195
USHORT Code
Идентификатор входного фильтра
Definition: public.h:279
unsigned char ei
Прерывание по ошибкам на шине
Definition: public.h:415
unsigned char rbs
Состояние буфера приема
Definition: public.h:333
unsigned char trans_stop
Прервать передачу
Definition: public.h:462
Структура определения точки потери арбитража.
Definition: public.h:581
Описание платы
Definition: public.h:176
unsigned char es
Наличие ошибок
Definition: public.h:381
unsigned char alc
Точка потери арбитража
Definition: public.h:652
unsigned char ali
Прерывание при проигрыше арбитража (только для режима PeliCAN)
Definition: public.h:431
unsigned short DLC
Количество принятых/выдаваемых байт данных (0-8)
Definition: public.h:235
Фильтр приема кадров для режима PeliCAN.
Definition: public.h:292
unsigned char epi
Переход в "error passive status" (только для режима PeliCAN)
Definition: public.h:427
unsigned char bs
Состояние шины
Definition: public.h:389
unsigned short sID
Стандартный идентификатор
Definition: public.h:221
Структура описывающая статус платы
Definition: public.h:322
RX_TX_Buffer rxtxbuf
Принятый кадр
Definition: public.h:259
Структура для кода ошибки.
Definition: public.h:495
Фильтр приема кадров для режима BasicCAN.
Definition: public.h:274
unsigned char dir
Направление
Definition: public.h:558
USHORT Mode
Режим функционирования входного фильтра
Definition: public.h:309
unsigned char sleep
Переход в режим сна
Definition: public.h:480
unsigned char recv_clear
Освобождение буфера приема
Definition: public.h:468
unsigned char doi
Прерывание при переполнении буфера приема
Definition: public.h:419
unsigned char ri
Прерывание по приему кадра
Definition: public.h:407