CAN-200: Исходный файл can200-api.h

CAN-200 1.3.0

can200-api.h
См. документацию.
1 #ifndef __API_H__
2 #define __API_H__
3
4 #include <objbase.h>
5 #include <winioctl.h>
6 #include "public.h"
7
8
15 #define CAN200_DEPRECATE_TEXT(_Text) __declspec(deprecated(_Text))
16 #define CAN200_DEPRECATE(_Replacement) CAN200_DEPRECATE_TEXT("This function is deprecated. Consider using " #_Replacement " instead.")
17
19 //Раскомментируйте следующую строку для работы с функциями старого синтаксиса
20 //#define __USE__OLD_CAN200_FUNCTIONS__
21
22 //-----------------------------------------------------------------------------
23 //
24 // Новый синтаксис
25 //
26 //-----------------------------------------------------------------------------
27
38 int CAN200_GetNumberDevice(int *count);
39
50 HANDLE CAN200_Open(int number);
51
62 int CAN200_Close(HANDLE Handle);
63
76 int CAN200_SetWorkMode(HANDLE Handle, int Channel, int Mode);
77
90 int CAN200_GetWorkMode(HANDLE Handle, int Channel, int *Mode);
91
106 int CAN200_SetDriverMode(HANDLE Handle, int Channel, int Mode);
107
119 int CAN200_GetConfig(HANDLE Handle, pTCAN_VPDData Buffer);
120
132 int CAN200_GetNumChannel(HANDLE Handle, int *NumChannel);
133
148 int CAN200_SetCANSpeed(HANDLE Handle, int Channel, unsigned int Speed);
149
162 int CAN200_GetCANSpeed(HANDLE Handle, int Channel, unsigned int *Speed);
163
177 int CAN200_GetStatus(HANDLE Handle, int Channel, int *Status);
178
194 int CAN200_SetInterruptSource(HANDLE Handle, int Channel, int Source);
195
209 int CAN200_GetInterruptSource(HANDLE Handle, int Channel, int *Source);
210
224 int CAN200_SetCommand(HANDLE Handle, int Channel, int Command);
225
239 int CAN200_SetTxBuffer(HANDLE Handle, int Channel, pRX_TX_Buffer Buffer);
240
256 int CAN200_DefEvent(HANDLE Handle, int Channel, HANDLE hEvent);
257
271 int CAN200_GetEventData(HANDLE Handle, int Channel, pTEventData Buffer);
272
287 int CAN200_GetRxBuffer(HANDLE Handle, int Channel, pRX_TX_Buffer Buffer);
288
289 /* Функции для режима BasicCAN */
348 int CAN200_B_SetInputFilter(HANDLE Handle, int Channel, bFilter_t *filter);
365 int CAN200_B_GetInputFilter(HANDLE Handle, int Channel, bFilter_t *filter);
368 /* Функции для режима PeliCAN */
533 int CAN200_P_SetInputFilter(HANDLE Handle, int Channel, pFilter_t *filter);
550 int CAN200_P_GetInputFilter(HANDLE Handle, int Channel, pFilter_t *filter);
567 int CAN200_P_SetRxErrorCounter(HANDLE Handle, int Channel, int Counter);
584 int CAN200_P_GetRxErrorCounter(HANDLE Handle, int Channel, int *Counter);
601 int CAN200_P_SetTxErrorCounter(HANDLE Handle, int Channel, int Counter);
618 int CAN200_P_GetTxErrorCounter(HANDLE Handle, int Channel, int *Counter);
638 int CAN200_P_SetErrorWarningLimit(HANDLE Handle, int Channel, int Limit);
655 int CAN200_P_GetErrorWarningLimit(HANDLE Handle, int Channel, int *Limit);
673 int CAN200_P_GetArbitrationLostCapture(HANDLE Handle, int Channel, int *Data);
691 int CAN200_P_GetRxMessageCounter(HANDLE Handle, int Channel, int *Counter);
709 int CAN200_P_GetErrorCode(HANDLE Handle, int Channel, int *Code);
724 int CAN200_GetOverCounter(HANDLE Handle, int Channel, int *Counter);
725
737 int CAN200_GetDriverVersion(HANDLE Handle, int *Version);
738
740 //-----------------------------------------------------------------------------
741 int CAN200_SetCANReg(HANDLE Handle, int Channel, int Port, int Data);
742
743 //-----------------------------------------------------------------------------
744 int CAN200_GetCANReg(HANDLE Handle, int Channel, int Port, int *Data);
748 //-----------------------------------------------------------------------------
749 //
750 // Устаревший синтаксис функций
751 //
752 //-----------------------------------------------------------------------------
753 #ifdef __USE__OLD_CAN200_FUNCTIONS__
754 //-----------------------------------------------------------------------------
755 CAN200_DEPRECATE(CAN200_Open) unsigned short CANOpen(int number);
756
757 //-----------------------------------------------------------------------------
758 CAN200_DEPRECATE(CAN200_Close) void CANClose(int number);
759
760 //-----------------------------------------------------------------------------
761 CAN200_DEPRECATE(CAN200_Open) int SelectCAN(int number);
762
763 //-----------------------------------------------------------------------------
764 CAN200_DEPRECATE(CAN200_Open) void chBaseAddress(unsigned int Base);
765
766 //-----------------------------------------------------------------------------
767 CAN200_DEPRECATE(CAN200_SetWorkMode) unsigned short SetWorkMode(unsigned short Mode);
768
769 //-----------------------------------------------------------------------------
770 CAN200_DEPRECATE(CAN200_GetWorkMode) unsigned short GetWorkMode(void);
771
772 //-----------------------------------------------------------------------------
773 CAN200_DEPRECATE(CAN200_SetDriverMode) void SetDriverMode(unsigned short Mode);
774
775 //-----------------------------------------------------------------------------
776 CAN200_DEPRECATE(CAN200_GetConfig) unsigned short GetConfig(pTCAN_VPDData Buffer);
777
778 //-----------------------------------------------------------------------------
779 CAN200_DEPRECATE(CAN200_SetCANSpeed) unsigned short SetCANSpeed(unsigned int Speed);
780
781 //-----------------------------------------------------------------------------
782 CAN200_DEPRECATE(CAN200_GetStatus) unsigned short GetStatus(void);
783
784 //-----------------------------------------------------------------------------
785 CAN200_DEPRECATE(CAN200_B_SetInputFilter) unsigned short B_SetInputFilter(unsigned short Filter1,
786 unsigned short Filter2);
787
788 //-----------------------------------------------------------------------------
789 CAN200_DEPRECATE(CAN200_B_SetInterruptSource) void SetInterruptSource(unsigned short Source);
790
791 //-----------------------------------------------------------------------------
792 CAN200_DEPRECATE(CAN200_P_SetInputFilter) unsigned short P_SetInputFilter(unsigned short mode,
793 unsigned short ACR0,
794 unsigned short ACR1,
795 unsigned short ACR2,
796 unsigned short ACR3,
797 unsigned short AMR0,
798 unsigned short AMR1,
799 unsigned short AMR2,
800 unsigned short AMR3);
801
802 //-----------------------------------------------------------------------------
803 CAN200_DEPRECATE(CAN200_P_SetRxErrorCounter) unsigned short P_SetRxErrorCounter(unsigned short Counter);
804
805 //-----------------------------------------------------------------------------
806 CAN200_DEPRECATE(CAN200_P_GetRxErrorCounter) int P_GetRxErrorCounter(void);
807
808 //-----------------------------------------------------------------------------
809 CAN200_DEPRECATE(CAN200_P_SetTxErrorCounter) unsigned short P_SetTxErrorCounter(unsigned short Counter);
810
811 //-----------------------------------------------------------------------------
812 CAN200_DEPRECATE(CAN200_P_GetTxErrorCounter) int P_GetTxErrorCounter(void);
813
814 //-----------------------------------------------------------------------------
815 CAN200_DEPRECATE(CAN200_P_SetErrorWarningLimit) unsigned short P_SetErrorWarningLimit(unsigned short Limit);
816
817 //-----------------------------------------------------------------------------
818 CAN200_DEPRECATE(CAN200_P_GetErrorWarningLimit) int P_GetErrorWarningLimit(void);
819
820 //-----------------------------------------------------------------------------
821 CAN200_DEPRECATE(CAN200_P_GetArbitrationLostCapture) int P_GetArbitrationLostCapture(void);
822
823 //-----------------------------------------------------------------------------
824 CAN200_DEPRECATE(CAN200_P_GetRxMessageCounter) int P_GetRxMessageCounter(void);
825
826 //-----------------------------------------------------------------------------
827 CAN200_DEPRECATE(CAN200_P_GetErrorCode) int P_GetErrorCode(void);
828
829 //-----------------------------------------------------------------------------
830 CAN200_DEPRECATE(CAN200_SetCommand) void SetCommand(unsigned short Command);
831
832 //-----------------------------------------------------------------------------
833 CAN200_DEPRECATE(CAN200_SetTxBuffer) unsigned short SetTxBuffer(pRX_TX_Buffer Buffer);
834
835 //-----------------------------------------------------------------------------
836 CAN200_DEPRECATE(CAN200_DefEvent) void DefEvent(HANDLE hEvent, BOOL fEventSet);
837
838 //-----------------------------------------------------------------------------
839 CAN200_DEPRECATE(CAN200_GetEventData) unsigned short GetEventData(pTEventData Buffer);
840
841 //-----------------------------------------------------------------------------
842 CAN200_DEPRECATE(CAN200_GetRxBuffer) unsigned short GetRxBuffer(pRX_TX_Buffer Buffer);
843
844 //-----------------------------------------------------------------------------
845 CAN200_DEPRECATE(CAN200_SetCANReg) void SetCANReg(unsigned short port, unsigned short data);
846
847 //-----------------------------------------------------------------------------
848 CAN200_DEPRECATE(CAN200_GetCANReg) unsigned short GetCANReg(unsigned short port);
849
850 #endif /* __USE__OLD_CAN200_FUNCTIONS__ */
851
853 #endif /* __API_H__ */
CAN200_B_SetInputFilter
int CAN200_B_SetInputFilter(HANDLE Handle, int Channel, bFilter_t *filter)
Настройка фильтра входных кадров для режима BasicCAN.
Definition: can200-api.cpp:863
CAN200_SetWorkMode
int CAN200_SetWorkMode(HANDLE Handle, int Channel, int Mode)
Настройка режима работы одного из каналов платы
Definition: can200-api.cpp:158
CAN200_P_SetInputFilter
int CAN200_P_SetInputFilter(HANDLE Handle, int Channel, pFilter_t *filter)
Настройка фильтра входных кадров для режима PeliCAN.
Definition: can200-api.cpp:1112
CAN200_P_SetRxErrorCounter
int CAN200_P_SetRxErrorCounter(HANDLE Handle, int Channel, int Counter)
Установка счетчика ошибок приема по шине CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1224
CAN200_GetCANSpeed
int CAN200_GetCANSpeed(HANDLE Handle, int Channel, unsigned int *Speed)
Получение текущей скорости обмена по CAN одного из каналов платы
Definition: can200-api.cpp:406
CAN200_P_GetErrorWarningLimit
int CAN200_P_GetErrorWarningLimit(HANDLE Handle, int Channel, int *Limit)
Получение верхнено предела счетчика ошибок CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1448
CAN200_GetOverCounter
int CAN200_GetOverCounter(HANDLE Handle, int Channel, int *Counter)
Получение текущего кол-ва кадров отбрашенных из-за нехватки места в буфере
Definition: can200-api.cpp:1645
CAN200_GetConfig
int CAN200_GetConfig(HANDLE Handle, pTCAN_VPDData Buffer)
Получение описания платы
Definition: can200-api.cpp:282
TEventData
Информация о причине установки события
Definition: public.h:252
public.h
Файл содержит описание структур данных и констант для работы с платами CAN-200.
CAN200_P_GetArbitrationLostCapture
int CAN200_P_GetArbitrationLostCapture(HANDLE Handle, int Channel, int *Data)
Получение номера бита, на котором был проигран арбитраж (только для режима PeliCAN) ...
Definition: can200-api.cpp:1498
CAN200_SetTxBuffer
int CAN200_SetTxBuffer(HANDLE Handle, int Channel, pRX_TX_Buffer Buffer)
Запись кадра в буфер выдачи
Definition: can200-api.cpp:630
CAN200_P_GetTxErrorCounter
int CAN200_P_GetTxErrorCounter(HANDLE Handle, int Channel, int *Counter)
Получение счетчика ошибок выдачи по шине CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1355
RX_TX_Buffer
Принятый/выдаваемый CAN кадр
Definition: public.h:206
CAN200_SetInterruptSource
int CAN200_SetInterruptSource(HANDLE Handle, int Channel, int Source)
Настройка разрешения прерываний для одного из каналов платы
Definition: can200-api.cpp:504
CAN200_GetEventData
int CAN200_GetEventData(HANDLE Handle, int Channel, pTEventData Buffer)
Получение причины события (из буфера драйвера)
Definition: can200-api.cpp:721
CAN200_DefEvent
int CAN200_DefEvent(HANDLE Handle, int Channel, HANDLE hEvent)
Передача события синхронизации драйверу
Definition: can200-api.cpp:675
CAN200_SetDriverMode
int CAN200_SetDriverMode(HANDLE Handle, int Channel, int Mode)
Настройка выходных формирователей канала платы
Definition: can200-api.cpp:245
CAN200_P_GetInputFilter
int CAN200_P_GetInputFilter(HANDLE Handle, int Channel, pFilter_t *filter)
Получение фильтра входных кадров для режима PeliCAN.
Definition: can200-api.cpp:1166
CAN200_SetCommand
int CAN200_SetCommand(HANDLE Handle, int Channel, int Command)
Выдача команды CAN контроллеру одного из каналов платы
Definition: can200-api.cpp:590
CAN200_P_SetTxErrorCounter
int CAN200_P_SetTxErrorCounter(HANDLE Handle, int Channel, int Counter)
Установка счетчика ошибок выдачи по шине CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1314
CAN200_GetNumChannel
int CAN200_GetNumChannel(HANDLE Handle, int *NumChannel)
Получение количества каналов в плате
Definition: can200-api.cpp:322
CAN200_GetStatus
int CAN200_GetStatus(HANDLE Handle, int Channel, int *Status)
Получение статуса одного из каналов платы
Definition: can200-api.cpp:454
CAN200_P_SetErrorWarningLimit
int CAN200_P_SetErrorWarningLimit(HANDLE Handle, int Channel, int Limit)
Установка верхнего предела счетчика ошибок CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1407
CAN200_GetNumberDevice
int CAN200_GetNumberDevice(int *count)
Определение количества установленных плат
Definition: can200-api.cpp:55
CAN200_B_GetInputFilter
int CAN200_B_GetInputFilter(HANDLE Handle, int Channel, bFilter_t *filter)
Получение фильтра входных кадров для режима BasicCAN.
Definition: can200-api.cpp:910
CAN200_SetCANSpeed
int CAN200_SetCANSpeed(HANDLE Handle, int Channel, unsigned int Speed)
Настройка скорости обмена одного из каналов платы
Definition: can200-api.cpp:368
CAN200_Close
int CAN200_Close(HANDLE Handle)
Закрытие ранее открытой платы
Definition: can200-api.cpp:128
TCAN_VPDData
Описание платы
Definition: public.h:176
CAN200_GetWorkMode
int CAN200_GetWorkMode(HANDLE Handle, int Channel, int *Mode)
Получение текущего режима работы одного из каналов платы
Definition: can200-api.cpp:196
pFilter_t
Фильтр приема кадров для режима PeliCAN.
Definition: public.h:292
CAN200_GetDriverVersion
int CAN200_GetDriverVersion(HANDLE Handle, int *Version)
Отмена выдачи пакетов
Definition: can200-api.cpp:1691
CAN200_P_GetRxErrorCounter
int CAN200_P_GetRxErrorCounter(HANDLE Handle, int Channel, int *Counter)
Получение счетчика ошибок приема по шине CAN (только для режима PeliCAN)
Definition: can200-api.cpp:1265
CAN200_P_GetErrorCode
int CAN200_P_GetErrorCode(HANDLE Handle, int Channel, int *Code)
Получение типа и местоположения ошибки при обмене по шине CAN (только для режима PeliCAN) ...
Definition: can200-api.cpp:1598
CAN200_Open
HANDLE CAN200_Open(int number)
Открытие одной из плат для работы
Definition: can200-api.cpp:84
CAN200_P_GetRxMessageCounter
int CAN200_P_GetRxMessageCounter(HANDLE Handle, int Channel, int *Counter)
Получение количества принятых (и не прочитанных) кадров в буфере приёма (только для режима PeliCAN) ...
Definition: can200-api.cpp:1548
bFilter_t
Фильтр приема кадров для режима BasicCAN.
Definition: public.h:274
CAN200_GetInterruptSource
int CAN200_GetInterruptSource(HANDLE Handle, int Channel, int *Source)
Получение маски прерываний
Definition: can200-api.cpp:543
CAN200_GetRxBuffer
int CAN200_GetRxBuffer(HANDLE Handle, int Channel, pRX_TX_Buffer Buffer)
Получение содержимого буфера приема
Definition: can200-api.cpp:770

CAN-200 documentation. Copyright (c) 2012 - 2017 Elcus Corporation. All rights reserved.