This commit is contained in:
cfif 2025-06-02 14:32:56 +03:00
commit b4c77dc449
3 changed files with 64 additions and 0 deletions

16
Inc/CanPortFrame.h Normal file
View File

@ -0,0 +1,16 @@
//
// Created by xemon on 01.09.22.
//
#ifndef CANPORTFRAME_SERIALPORT_H
#define CANPORTFRAME_SERIALPORT_H
#include "SerialPortFrameIO.h"
uint16_t CanPortFrameReceive(tSerialPortFrameIO *io, uint8_t *data, uint16_t size, uint32_t timeout);
uint16_t CanPortFrameTransmit(tSerialPortFrameIO *io, uint8_t *data, uint16_t size, uint32_t timeout);
void CanPortFrameClearRxBuffer(tSerialPortFrameIO *io);
#endif //CANPORTFRAME_SERIALPORT_H

26
Src/CanPortFrame.c Normal file
View File

@ -0,0 +1,26 @@
#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);
}

22
modular.json Normal file
View File

@ -0,0 +1,22 @@
{
"dep": [
{
"type": "git",
"provider": "Smart_Components_Aurus",
"repo": "SerialPortFrameInterface"
},
{
"type": "git",
"provider": "Smart_Components_Aurus",
"repo": "SystemDelayInterface"
}
],
"cmake": {
"inc_dirs": [
"Inc"
],
"srcs": [
"Src/**.c"
]
}
}