ISO-TP Layer
Description
The ramn_isotp module is a simplified implementation of ISO-TP (ISOISO 15765).
//This Function initializes the specified ISO-TP Handler
void RAMN_ISOTP_Init(RAMN_ISOTPHandler_t* handler, FDCAN_TxHeaderTypeDef* FCMsgHeader);
//This Function adds a message for process by the ISO TP Engine. It assumes CAN ID has already been checked
void RAMN_ISOTP_ProcessRxMsg(RAMN_ISOTPHandler_t* handler, uint8_t dlc, const uint8_t* data, const uint32_t tick);
//This function formats the next "FC Frame" CAN Message to be sent next. User must call this function periodically and send the message if it returns True.
RAMN_Bool_t RAMN_ISOTP_GetFCFrame(RAMN_ISOTPHandler_t* handler, uint8_t* dlc, uint8_t* data);
//This function formats the next CAN Message to be sent (except FC Frames). User must call this function periodically and send the message if it returns True.
RAMN_Bool_t RAMN_ISOTP_GetNextTxMsg(RAMN_ISOTPHandler_t* handler, uint8_t* dlc, uint8_t* data, uint32_t tick);
//This function Updates the ISO-TP Engine, and must be called periodically.
RAMN_Result_t RAMN_ISOTP_Update(RAMN_ISOTPHandler_t* pHandler, uint32_t tick);
//This function updates the TX part of the ISO-TP Engine. Must be called periodically when sending.
RAMN_Bool_t RAMN_ISOTP_Continue_TX(RAMN_ISOTPHandler_t* pHandler, uint32_t tick, FDCAN_TxHeaderTypeDef* pTxHeader);
//This function request the ISO-TP Engine to process an outgoing message.
RAMN_Result_t RAMN_ISOTP_RequestTx(RAMN_ISOTPHandler_t* handler, uint32_t tick);