CAN-200  1.4.0
Функции
Файл can200_api.h

Файл содержит описание функций для работы с платами CAN200. Подробнее...

#include "can_codes.h"

См. исходные тексты.

Функции

int CAN200_HardReset (int fd)
 Аппаратный сброс платы Подробнее...
 
int CAN200_SetDriverMode (int fd)
 Настройка выходных преобразователей платы Подробнее...
 
int CAN200_GetConfig (int fd, struct CAN_info_t *info)
 Получение описания платы Подробнее...
 
int CAN200_GetNumChannel (int fd, int *num_channel)
 Получение количества каналов в плате Подробнее...
 
int CAN200_GetStatus (int fd, unsigned char *status)
 Получение статуса работы платы CAN200. Подробнее...
 
int CAN200_GetOverCounter (int fd, int *counter)
 Получение количества отброшенных кадров Подробнее...
 
int CAN200_GetWorkMode (int fd, unsigned char *mode)
 Получение текущего режима работы платы Подробнее...
 
int CAN200_SetWorkMode (int fd, unsigned char mode)
 Установка режима работы платы Подробнее...
 
int CAN200_GetCANSpeed (int fd, unsigned int *speed)
 Получение текущей настройки скорости обмена по шине CAN. Подробнее...
 
int CAN200_SetCANSpeed (int fd, unsigned int speed)
 Получение текущей настройки скорости обмена по шине CAN. Подробнее...
 
int CAN200_B_GetFilter (int fd, unsigned char *mask, unsigned char *filter)
 Получение фильтра входных пакетов (режим BasicCAN) Подробнее...
 
int CAN200_B_SetFilter (int fd, unsigned char mask, unsigned char filter)
 Установка фильтра входных пакетов (режим BasicCAN) Подробнее...
 
int CAN200_P_GetFilter (int fd, unsigned char *mode, unsigned char *amr0, unsigned char *amr1, unsigned char *amr2, unsigned char *amr3, unsigned char *acr0, unsigned char *acr1, unsigned char *acr2, unsigned char *acr3)
 Получение фильтра входных пакетов (режим PeliCAN) Подробнее...
 
int CAN200_P_SetFilter (int fd, unsigned char mode, unsigned char amr0, unsigned char amr1, unsigned char amr2, unsigned char amr3, unsigned char acr0, unsigned char acr1, unsigned char acr2, unsigned char acr3)
 Установка фильтра входных пакетов (режим PeliCAN) Подробнее...
 
int CAN200_P_GetRxErrorCounter (int fd, unsigned char *counter)
 Получение счетчика ошибок приема (режим PeliCAN) Подробнее...
 
int CAN200_P_SetRxErrorCounter (int fd, unsigned char counter)
 Установка счетчика ошибок приема (режим PeliCAN) Подробнее...
 
int CAN200_P_GetTxErrorCounter (int fd, unsigned char *counter)
 Получение счетчика ошибок выдачи (режим PeliCAN) Подробнее...
 
int CAN200_P_SetTxErrorCounter (int fd, unsigned char counter)
 Установка счетчика ошибок выдачи (режим PeliCAN) Подробнее...
 
int CAN200_P_GetErrorWarningLimit (int fd, unsigned char *counter)
 Получение верхнего предела счетчиков ошибок (режим PeliCAN) Подробнее...
 
int CAN200_P_SetErrorWarningLimit (int fd, unsigned char counter)
 Установка верхнего предела счетчиков ошибок (режим PeliCAN) Подробнее...
 
int CAN200_SetBusOn (int fd)
 Перевод платы в режим bus on. Подробнее...
 
int CAN200_GetTransmitStatus (int fd, int *status, int *len)
 Получение статуса выдачи пакетов Подробнее...
 
int CAN200_P_GetErrorCode (int fd, unsigned char *code)
 Получение кода ошибки (режим PeliCAN) Подробнее...
 
int CAN200_P_GetArbitrationLostCapture (int fd, unsigned char *data)
 Получение точку потери арбитража при выдаче кадра (режим PeliCAN) Подробнее...
 
int CAN200_DropTransmit (int fd, int command)
 Отмена выдачи пакетов Подробнее...
 
int CAN200_GetDriverVersion (int fd, int *version)
 Отмена выдачи пакетов Подробнее...
 

Подробное описание

Файл содержит описание функций для работы с платами CAN200.

Функции

◆ CAN200_DropTransmit()

int CAN200_DropTransmit ( int  fd,
int  command 
)

Отмена выдачи пакетов

Функция позволяет отменить операцию выдачи. Вызов с флагом CAN_DROP_CURRENT останавливает выдачу пакетов, удаляет из очереди все пакеты, поставленные в нее (функцийе write) текущим потоком и, в случае необходимости, вновь запускает выдачу Вызов с флагом CAN_DROP_ALL останавливает выдачу пакетов и полностью очищает очередь выдачи

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
command(IN) Флаг определяющий отбрасываемые пакеты (CAN_DROP_CURRENT или CAN_DROP_ALL)
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetCANSpeed()

int CAN200_GetCANSpeed ( int  fd,
unsigned int *  speed 
)

Получение текущей настройки скорости обмена по шине CAN.

Функция возвращает текущую скорость обмена по шине CAN. Возможные варианты скорости: CAN_SPEED_1000, CAN_SPEED_800, CAN_SPEED_500, CAN_SPEED_250, CAN_SPEED_125, CAN_SPEED_20, CAN_SPEED_10, CAN_SPEED_USER_DEFINED

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
speed(OUT) Указатель переменную, где будет сохранена текущая скорость
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetConfig()

int CAN200_GetConfig ( int  fd,
struct CAN_info_t info 
)

Получение описания платы

Функция возвращает описание платы (тип, серийный номер и т.д.)

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
info(OUT) Указатель на структуру CAN_info_t, где будет сохранена информация о плате
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetDriverVersion()

int CAN200_GetDriverVersion ( int  fd,
int *  version 
)

Отмена выдачи пакетов

Функция возвращает версию драйвера.

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
version(OUT) Версия драйвера (3 байта, младший - подподверсия, второй - подверсия, третий - версия)
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetNumChannel()

int CAN200_GetNumChannel ( int  fd,
int *  num_channel 
)

Получение количества каналов в плате

Функция возвращает количество каналов в плате

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
num_channel(OUT) Указатель на переменную, где будет сохранено количество каналов в плате
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetOverCounter()

int CAN200_GetOverCounter ( int  fd,
int *  counter 
)

Получение количества отброшенных кадров

Фунцкия возвращает количество кадров отброшенных из-за нехватки места в буфере приема драйвера

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
counter(OUT) Указатель переменную, где будет сохранено кол-во отброшенных кадров
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetStatus()

int CAN200_GetStatus ( int  fd,
unsigned char *  status 
)

Получение статуса работы платы CAN200.

Функция возвращает статус платы. Расшифровка статуса приозводится в соответствии с объединением CAN_status_t

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
status(OUT) Указатель переменную, где будет сохранен статус
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetTransmitStatus()

int CAN200_GetTransmitStatus ( int  fd,
int *  status,
int *  len 
)

Получение статуса выдачи пакетов

Функция возвращает текущее состояние выдачи (завершена/не завершена/ошибка) и кол-во оставщихся данных для выдачи. Возможные значение статуса выдачи: CAN_TRANSMIT_WAIT, CAN_TRANSMIT, CAN_TRANSMIT_COMPLETE, CAN_TRANSMIT_ERROR

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
status(IN) Указатель переменную, где будет сохранен статус выдачи
len(IN) Указатель переменную, где будет сохранена длина оставшихся данных
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_GetWorkMode()

int CAN200_GetWorkMode ( int  fd,
unsigned char *  mode 
)

Получение текущего режима работы платы

Функция возвращает текущий режи работы платы. Возможные варианты режима работы: BasicCAN и PeliCAN

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
mode(OUT) Указатель переменную, где будет сохранен текущий режим работы
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_HardReset()

int CAN200_HardReset ( int  fd)

Аппаратный сброс платы

Функция выполняет аппаратный сброс плат CAN-200PC, CAN-200MP, CAN-200PC104

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_SetBusOn()

int CAN200_SetBusOn ( int  fd)

Перевод платы в режим bus on.

Функция позволяет переключить плату из режима bus off в режим bus on

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_SetCANSpeed()

int CAN200_SetCANSpeed ( int  fd,
unsigned int  speed 
)

Получение текущей настройки скорости обмена по шине CAN.

Функция установки скорости обмена по шине CAN. Возможные варианты скорости: CAN_SPEED_1000, CAN_SPEED_800, CAN_SPEED_500, CAN_SPEED_250, CAN_SPEED_125, CAN_SPEED_20, CAN_SPEED_10, CAN_SPEED_USER_DEFINED

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
speed(IN) Задаваемая скорость
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

◆ CAN200_SetDriverMode()

int CAN200_SetDriverMode ( int  fd)

Настройка выходных преобразователей платы

Функция выполняет переключение платы в рабочий режим

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
один из кодов ошибки возвращаемых функцией devctl
Предупреждения
Данную функцию необходимо вызвать до начала приема/выдачи данных

◆ CAN200_SetWorkMode()

int CAN200_SetWorkMode ( int  fd,
unsigned char  mode 
)

Установка режима работы платы

Функция устанавливает режим работы платы. Возможные варианты режима работы: BasicCAN и PeliCAN

Аргументы
fd(IN) Дискриптор платы, возврашенный функцией open
mode(IN) Задаваемый режим работы платы
Возвращает
EOK - успешное завершение
EBADF - неверный хэндл платы
EINVAL - ошибка входных параметров
один из кодов ошибки возвращаемых функцией devctl

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