diff --git a/Src/CanSerialPortFrameTP.c b/Src/CanSerialPortFrameTP.c index 64588fa..c63e757 100644 --- a/Src/CanSerialPortFrameTP.c +++ b/Src/CanSerialPortFrameTP.c @@ -96,6 +96,7 @@ char *sendLogCanTpHex(tCanSerialPortFrameTp *env, uint8_t *data, size_t size) { uint16_t sendFlowFrame(tCanSerialPortFrameTp *env, uint32_t id, uint32_t timeout) { uint8_t dataTpFrame[8]; + memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); eTpFrameFC *frame = (eTpFrameFC *) dataTpFrame; @@ -113,6 +114,7 @@ uint16_t sendFlowFrame(tCanSerialPortFrameTp *env, uint32_t id, uint32_t timeout uint16_t sendSingleFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, uint32_t id, uint32_t timeout) { uint8_t dataTpFrame[8]; + memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); eTpFrameSF *frame = (eTpFrameSF *) dataTpFrame; @@ -129,6 +131,7 @@ uint16_t sendSingleFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t siz uint16_t sendConsecutiveFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, uint32_t id, uint8_t sn, uint32_t timeout) { + uint8_t dataTpFrame[8]; memset(dataTpFrame, TP_FRAME_PADDING, sizeof(dataTpFrame)); @@ -138,6 +141,7 @@ uint16_t sendConsecutiveFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_ memcpy(&frame->data[0], data, size); + SystemDelayMs(25); uint16_t sent = env->ioCanFrame->transmit(env->ioCanFrame->env, (uint8_t *) frame, 8, id, PROTOCOL_CAN_TYPE_UDS, timeout); @@ -198,8 +202,9 @@ bool sendFirstFrame(tCanSerialPortFrameTp *env, uint8_t *data, uint16_t size, ui pDataLen += 7; ++sn; - if (sn == 15) + if (sn == 15) { sn = 1; + } } if (sizePacketTail) { @@ -407,8 +412,8 @@ _Noreturn void CanTpProcessing_ListenerTask(tCanSerialPortFrameTp *env) { } if (result == TP_RECEIVED_DATA) { - //sendLogCanTpHex(env, env->dataBuf->data, env->dataBuf->len); - //LoggerFormatInfo(LOGGER, LOG_SIGN, "Data received: %s", env->hexString) + sendLogCanTpHex(env, env->dataBuf->data, env->dataBuf->len); + LoggerFormatInfo(LOGGER, LOG_SIGN, "Data received: %s", env->hexString) env->receivedTP_func(env->callback_argTp, env->dataBuf);