CanPortFrame/Src/CanPortFrame.c

26 lines
975 B
C

#include "CanPortFrame.h"
#include "SystemDelayInterface.h"
uint16_t CanPortFrameReceive0(tSerialPortFrameIO *io, uint8_t *data, uint16_t size, uint32_t timeout) {
return io->receive0(io->env, data, size, timeout);
}
uint16_t CanPortFrameReceive1(tSerialPortFrameIO *io, uint8_t *data, uint16_t size, uint32_t timeout) {
return io->receive1(io->env, data, size, timeout);
}
void CanPortFrameClearRxBuffer0(tSerialPortFrameIO *io) {
uint8_t byte;
uint32_t antiSpamTimeout = SystemGetMs() + 10;
while ((antiSpamTimeout > SystemGetMs()) && io->receive0(io->env, &byte, 1, 0));
}
void CanPortFrameClearRxBuffer1(tSerialPortFrameIO *io) {
uint8_t byte;
uint32_t antiSpamTimeout = SystemGetMs() + 10;
while ((antiSpamTimeout > SystemGetMs()) && io->receive1(io->env, &byte, 1, 0));
}
uint16_t CanPortFrameTransmit(tSerialPortFrameIO *io, uint8_t *data, uint16_t size, uint32_t timeout) {
return io->transmit(io->env, data, size, timeout);
}