Этой функцией можно установить сообщение, которое будет выдаваться с заданным интервалом.
long PassThruStartPeriodicMsg(unsigned long ChannelID, PASSTHRU_MSG* pMsg, unsigned long* MsgID, unsigned long TimeInterval)
Определение | Описание |
---|---|
STATUS_NOERROR | Функция выполнена успешно |
ERR_DEVICE_NOT_CONNECTED | Нет соединения с адаптером. Возможные причины: Адаптер выключен, нет сети, или не правильно задан IP адрес. |
ERR_INVALID_DEVICE_ID | Задан не существующий идентификатор адаптера DeviceID |
ERR_NOT_SUPPORTED | Адаптер не поддерживает запрошенные параметры. Например время интервала повторения указано меньше 20мс. |
ERR_INVALID_MSG | Не правильная структура сообщения заданная в указателе pMsg |
ERR_INVALID_CHANNEL_ID | Задан не существующий идентификатор канала ChannelID |
ERR_NULL_PARAMETER | Не задан указатель pMsg |
ERR_INVALID_TIME_INTERVAL | Не правильно задан интервал выдачи сообщений |
ERR_MSG_PROTOCOL_ID | Протокол заданный в параметрах передаваемого сообщения не совпадает с протоколом заданным в ChannelID |
ERR_EXCEEDED_LIMIT | Превышено количество установленных периодических сообщений. |
ERR_FAILED | Определён стандартом J2534. В адаптере, для этой функции не используется. |
#include "j2534_lib.hpp"
unsigned long DeviceID;
long Ret;
unsigned long ChannelID;
unsigned long MsgID;
PASSTHRU_MSG Msg;
Msg.ProtocolID = ISO15765;
Msg.TxFlags = ISO15765_FRAME_PAD;
Msg.Data[0] = 0x00;
Msg.Data[1] = 0x00;
Msg.Data[2] = 0x07;
Msg.Data[3] = 0xE0;
Msg.Data[4] = 0x3E;
Msg.DataSize = 5;
Ret = PassThruStartPeriodicMsg(ChannelID, &Msg, &MsgID, 500);
if (Ret != STATUS_NOERROR)
{ // Обработка ошибки
}