diff --git a/CanUds.c b/CanUds.c index 22c277d..18256b0 100644 --- a/CanUds.c +++ b/CanUds.c @@ -1103,6 +1103,13 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType // return 0xFF00 | UDS_error_requestSequenceError; // } + if ((env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory) || + (env->udsFirmwareStepsCalib != UDS_Firmware_Step_EraseMemory)) { + + env->dataResponse[4] = UDS_routine_RoutineStartStopFailure; + return 4 + 1; + + } setResponseErrorPending(env, UDS_RoutineControl, UDS_error_requestCorrectlyReceived_ResponsePending); @@ -1135,6 +1142,7 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType // return 4 + 1; // } +/* if (env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory) { setResponseErrorPending(env, UDS_RoutineControl, UDS_error_requestCorrectlyReceived_ResponsePending); @@ -1189,6 +1197,7 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType } } +*/ setResponseErrorPending(env, UDS_RoutineControl, UDS_error_requestCorrectlyReceived_ResponsePending); uint32_t crc32_calc = UdsCrc32Update_Hardware(0xFFFFFFFF, (uint8_t *) ADR_HEX_Mapped_BlockMain,