TX_WAIT_CAN_TP_TRANSMIT_CAN_TP_PROVIDE_TX_BUFFER, /** @req CANTP226 */\r
TX_WAIT_CAN_TP_TRANSMIT_PENDING, /* CanTP_Transmit was called but no buffer was received (BUSY). */\r
TX_WAIT_SEND_CONSECUTIVE_FRAME, TX_WAIT_FLOW_CONTROL,\r
- TX_WAIT_TX_CONFIRMATION\r
+ TX_WAIT_TX_CONFIRMATION, TX_WAIT_TX_CONFIRMATION_CF\r
} ISO15765TransferStateTypes;\r
\r
typedef enum {\r
} else {\r
// Send next consecutive frame!\r
txRuntime->iso15765.stateTimeoutCount = CANTP_CONVERT_MS_TO_MAIN_CYCLES(txRuntime->iso15765.STmin);\r
- txRuntime->iso15765.state = TX_WAIT_SEND_CONSECUTIVE_FRAME;\r
+ txRuntime->iso15765.state = TX_WAIT_TX_CONFIRMATION_CF;\r
}\r
} else {\r
// Send next consecutive frame!\r
txRuntime->iso15765.stateTimeoutCount = CANTP_CONVERT_MS_TO_MAIN_CYCLES(txRuntime->iso15765.STmin);\r
- txRuntime->iso15765.state = TX_WAIT_SEND_CONSECUTIVE_FRAME;\r
+ txRuntime->iso15765.state = TX_WAIT_TX_CONFIRMATION_CF;\r
}\r
}\r
\r
txRuntimeListItem->mode = CANTP_TX_WAIT;\r
}\r
break;\r
-#if (CANTP_IMMEDIATE_TX_CONFIRMATION == STD_OFF)\r
+ case TX_WAIT_TX_CONFIRMATION_CF:\r
+ if (txRuntimeListItem->iso15765.txConfirmed) {\r
+ txRuntimeListItem->iso15765.state = TX_WAIT_SEND_CONSECUTIVE_FRAME;\r
+ } else {\r
+ checkNasNarTimeout( txRuntimeListItem );\r
+ }\r
+ break;\r
case TX_WAIT_TX_CONFIRMATION:\r
if (txRuntimeListItem->iso15765.txConfirmed) {\r
PduR_CanTpTxConfirmation(txConfigListItem->PduR_PduId, NTFRSLT_OK); /** @req CANTP074 *//** @req CANTP09 *//** @req CANTP204 */\r
txRuntimeListItem->iso15765.state = IDLE;\r
txRuntimeListItem->mode = CANTP_TX_WAIT;\r
+ } else {\r
+ checkNasNarTimeout( txRuntimeListItem );\r
}\r
break;\r
-#endif\r
default:\r
break;\r
}\r