From d16543ad545b10122244e58fdc9904ae6669fab7 Mon Sep 17 00:00:00 2001
From: darya
Date: Tue, 23 Jun 2026 13:34:04 +0300
Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?=
=?UTF-8?q?=D0=BD=D0=B8=D0=B5=2023.06.2026?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CanUds.c | 46 +++++++++++++++++++++++-----------------------
CanUds.h | 4 ++--
2 files changed, 25 insertions(+), 25 deletions(-)
diff --git a/CanUds.c b/CanUds.c
index 8417d0e..04c7997 100644
--- a/CanUds.c
+++ b/CanUds.c
@@ -234,8 +234,8 @@ void SendUpdatePendingFlashClear(void *env) {
}
static void setDefaultSecurityAccess(tCanUds *env) {
- env->udsFirmwareStepsMain = UDS_Firmware_Step_None;
- env->udsFirmwareStepsCalib = UDS_Firmware_Step_None;
+// env->udsFirmwareStepsMain = UDS_Firmware_Step_None;
+// env->udsFirmwareStepsCalib = UDS_Firmware_Step_None;
env->SA.requestSequenceRequestSeed = false;
env->SA.stateSecurityAccess = false;
env->SA.counter_max_attempts_default = 0;
@@ -951,12 +951,11 @@ static uint16_t vUDS_check_Programming_Preconditions(tCanUds *env, eUdsRoutineCo
return 0xFF00 | UDS_error_sub_functionNotSupported;
}
- env->udsFirmwareStepsMain = UDS_Firmware_Step_Preconditions;
- env->udsFirmwareStepsCalib = UDS_Firmware_Step_Preconditions;
+// env->udsFirmwareStepsMain = UDS_Firmware_Step_Preconditions;
+// env->udsFirmwareStepsCalib = UDS_Firmware_Step_Preconditions;
-// env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
-// return 4 + 1;
- return 4;
+ env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
+ return 4 + 1;
}
@@ -1014,10 +1013,10 @@ static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType u
return 0xFF00 | UDS_error_incorrectMessageLengthOrInvalidFormat;
}
- if (((env->udsFirmwareStepsMain != UDS_Firmware_Step_Preconditions) && (env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory)) &&
- ((env->udsFirmwareStepsCalib != UDS_Firmware_Step_Preconditions) && (env->udsFirmwareStepsCalib != UDS_Firmware_Step_EraseMemory))) {
- return 0xFF00 | UDS_error_requestSequenceError;
- }
+// if (((env->udsFirmwareStepsMain != UDS_Firmware_Step_Preconditions) && (env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory)) &&
+// ((env->udsFirmwareStepsCalib != UDS_Firmware_Step_Preconditions) && (env->udsFirmwareStepsCalib != UDS_Firmware_Step_EraseMemory))) {
+// return 0xFF00 | UDS_error_requestSequenceError;
+// }
tEraseMemory *eraseMemory = (tEraseMemory *) env->data->data;
@@ -1064,7 +1063,7 @@ static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType u
if ((result1) && (result2)) {
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
- env->udsFirmwareStepsMain = UDS_Firmware_Step_EraseMemory;
+// env->udsFirmwareStepsMain = UDS_Firmware_Step_EraseMemory;
return 4 + 1;
}
@@ -1079,7 +1078,7 @@ static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType u
if (result1) {
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
- env->udsFirmwareStepsCalib = UDS_Firmware_Step_EraseMemory;
+// env->udsFirmwareStepsCalib = UDS_Firmware_Step_EraseMemory;
return 4 + 1;
}
@@ -1098,10 +1097,10 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType
return 0xFF00 | UDS_error_sub_functionNotSupported;
}
- if (((env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory) && (env->udsFirmwareStepsMain != UDS_Firmware_Step_Dependancies)) &&
- ((env->udsFirmwareStepsCalib != UDS_Firmware_Step_EraseMemory) && (env->udsFirmwareStepsCalib != UDS_Firmware_Step_Dependancies))) {
- return 0xFF00 | UDS_error_requestSequenceError;
- }
+// if (((env->udsFirmwareStepsMain != UDS_Firmware_Step_EraseMemory) && (env->udsFirmwareStepsMain != UDS_Firmware_Step_Dependancies)) &&
+// ((env->udsFirmwareStepsCalib != UDS_Firmware_Step_EraseMemory) && (env->udsFirmwareStepsCalib != UDS_Firmware_Step_Dependancies))) {
+// return 0xFF00 | UDS_error_requestSequenceError;
+// }
setResponseErrorPending(env, UDS_RoutineControl, UDS_error_requestCorrectlyReceived_ResponsePending);
@@ -1189,8 +1188,8 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType
}
- env->udsFirmwareStepsMain = UDS_Firmware_Step_Dependancies;
- env->udsFirmwareStepsCalib = UDS_Firmware_Step_Dependancies;
+// env->udsFirmwareStepsMain = UDS_Firmware_Step_Dependancies;
+// env->udsFirmwareStepsCalib = UDS_Firmware_Step_Dependancies;
env->dataResponse[4] = UDS_routine_RoutineStartStopSuccess;
@@ -1245,9 +1244,9 @@ static uint16_t Routine_Control_31(tCanUds *env) {
return setResponseError(env, UDS_RoutineControl, UDS_error_conditionsNotCorrect);
}
- if (!env->SA.stateSecurityAccess) {
- return setResponseError(env, UDS_RoutineControl, UDS_error_securityAccessDenied);
- }
+// if (!env->SA.stateSecurityAccess) {
+// return setResponseError(env, UDS_RoutineControl, UDS_error_securityAccessDenied);
+// }
uint16_t result = vUDS_check_Programming_Preconditions(env, udsRoutineControlType);
@@ -1547,7 +1546,7 @@ static uint16_t RequestDownload_34(tCanUds *env) {
requestDownload_Response->ServiceId = UDS_RequestDownload | 0b1000000;
requestDownload_Response->lengthFormatIdentifier = 0x20; // 2 байта - длина поля maxNumberOfBlockLength
- uint8_t countBlock = 8;//31;
+ uint8_t countBlock = 31;//31;
requestDownload_Response->maxNumberOfBlockLength = countBlock * 128 + 2;
@@ -1970,6 +1969,7 @@ void ReceivedTP_func(void *arg, tCanTP_data *data) {
if (env->isEcuReset) {
+ SystemDelayMs(10);
Reset();
//NVIC_SystemReset();
}
diff --git a/CanUds.h b/CanUds.h
index f2e747e..aa2cb63 100644
--- a/CanUds.h
+++ b/CanUds.h
@@ -222,8 +222,8 @@ typedef struct {
uint32_t DownloadFirmwareSize;
eUdsBlock udsBlock;
- eUdsFirmwareSteps udsFirmwareStepsMain;
- eUdsFirmwareSteps udsFirmwareStepsCalib;
+// eUdsFirmwareSteps udsFirmwareStepsMain;
+// eUdsFirmwareSteps udsFirmwareStepsCalib;
uint32_t CurrentBlockAdr;
uint32_t CurrentBlockSize;