3#include "fifo_buffer.h"
10#define PRINT efiPrintf
14#if EFI_PROD_CODE | EFI_SIMULATOR
15#define can_msg_t msg_t
16#define can_sysinterval_t sysinterval_t
17#define CAN_MSG_OK MSG_OK
18#define CAN_MSG_TIMEOUT MSG_TIMEOUT
23#define CAN_FLOW_STATUS_OK 0
24#define CAN_FLOW_STATUS_WAIT_MORE 1
25#define CAN_FLOW_STATUS_ABORT 2
82#ifndef CAN_FIFO_BUF_SIZE
83#define CAN_FIFO_BUF_SIZE 76
86#define CAN_FIFO_FRAME_SIZE 8
int32_t can_sysinterval_t
CanRxMessage(const CanRxMessage &msg)
CanRxMessage(const CANRxFrame &f)
CanRxMessage & operator=(const CanRxMessage &msg)
virtual bool get(CanRxMessage &item, int timeout)=0
fifo_buffer< uint8_t, CAN_FIFO_BUF_SIZE > txFifoBuf
fifo_buffer< uint8_t, CAN_FIFO_BUF_SIZE > rxFifoBuf
int receiveFrame(CANRxFrame *rxmsg, uint8_t *buf, int num, can_sysinterval_t timeout)
can_msg_t streamFlushTx(can_sysinterval_t timeout)
int sendDataTimeout(const uint8_t *txbuf, int numBytes, can_sysinterval_t timeout)
int sendFrame(const IsoTpFrameHeader &header, const uint8_t *data, int num, can_sysinterval_t timeout)
can_msg_t streamReceiveTimeout(size_t *np, uint8_t *rxbuf, can_sysinterval_t timeout)
ICanTransport * transport
CanStreamerState(ICanTransport *p_transport, int p_busIndex, int p_txFrameId)
int getDataFromFifo(uint8_t *rxbuf, size_t &numBytes)
can_msg_t streamAddToTxTimeout(size_t *np, const uint8_t *txbuf, can_sysinterval_t timeout)
virtual can_msg_t transmit(const CanTxMessage *ctfp, can_sysinterval_t timeout)=0
virtual can_msg_t receive(CANRxFrame *crfp, can_sysinterval_t timeout)=0
@ ISO_TP_FRAME_CONSECUTIVE
@ ISO_TP_FRAME_FLOW_CONTROL