From 7d8192f9e216a21f35e8e4cb57938dd53f7144d8 Mon Sep 17 00:00:00 2001
From: darya
Date: Fri, 5 Jun 2026 09:38:47 +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=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8?=
=?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=2005.06.2026?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
CanUds.c | 35 ++++++++++++++++++++++-------------
CanUds.h | 2 +-
2 files changed, 23 insertions(+), 14 deletions(-)
diff --git a/CanUds.c b/CanUds.c
index 8fa17bc..6f7577f 100644
--- a/CanUds.c
+++ b/CanUds.c
@@ -279,12 +279,12 @@ static uint16_t TesterPresent_3E(tCanUds *env) {
testerPresent->ServiceId = UDS_TesterPresent | 0b1000000;
testerPresent->zeroSubFunction = 0;
- if (osMutexAcquire(env->access, 1000) == osOK) {
- env->currentSessionTesterPresentTimeout = SystemGetMs() + timeout_session_S3_Server;
- osMutexRelease(env->access);
- } else {
- LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error TesterPresent_3E");
- }
+// if (osMutexAcquire(env->access, 1000) == osOK) {
+// env->currentSessionTesterPresentTimeout = SystemGetMs() + timeout_session_S3_Server;
+// osMutexRelease(env->access);
+// } else {
+// LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error TesterPresent_3E");
+// }
return 2;
}
@@ -1395,6 +1395,7 @@ static uint16_t SecurityAccess_27(tCanUds *env) {
// начало --------------------------- RequestDownload ---------------------------------------------------------
// начало --------------------------- RequestDownload ---------------------------------------------------------
+
static uint16_t RequestDownload_34(tCanUds *env) {
tRequestDownload_Request *com = (tRequestDownload_Request *) env->data->data;
@@ -1456,7 +1457,7 @@ static uint16_t RequestDownload_34(tCanUds *env) {
requestDownload_Response->ServiceId = UDS_RequestDownload | 0b1000000;
requestDownload_Response->lengthFormatIdentifier = 0x20; // 2 байта - длина поля maxNumberOfBlockLength
- uint8_t countBlock = 8;
+ uint8_t countBlock = 31;//8;
requestDownload_Response->maxNumberOfBlockLength = countBlock * 128 + 2;
@@ -1513,12 +1514,12 @@ static uint16_t TransferData_36(tCanUds *env) {
//setResponseErrorPending(env, UDS_RoutineControl, UDS_error_requestCorrectlyReceived_ResponsePending);
- if (osMutexAcquire(env->access, 1000) == osOK) {
- env->currentSessionTesterPresentTimeout = SystemGetMs() + timeout_session_S3_Server;
- osMutexRelease(env->access);
- } else {
- LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error TransferData_36");
- }
+// if (osMutexAcquire(env->access, 1000) == osOK) {
+// env->currentSessionTesterPresentTimeout = SystemGetMs() + timeout_session_S3_Server;
+// osMutexRelease(env->access);
+// } else {
+// LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error TransferData_36");
+// }
bool result = env->write_flash_func(env->AdrFlash, &env->data->data[2], env->data->len - 2);
@@ -1569,6 +1570,7 @@ static uint16_t RequestTransferExit_37(tCanUds *env) {
tRequestTransferExit_Response *requestTransferExit_Response = (tRequestTransferExit_Response *) env->dataResponse;
requestTransferExit_Response->ServiceId = UDS_RequestTransferExit | 0b1000000;
+
return 1;
}
// конец --------------------------- RequestTransferExit ---------------------------------------------------------
@@ -1841,6 +1843,13 @@ void ReceivedTP_func(void *arg, tCanTP_data *data) {
if (uds_com[com].func != NULL) {
+// if (osMutexAcquire(env->access, 1000) == osOK) {
+ env->currentSessionTesterPresentTimeout = SystemGetMs() + timeout_session_S3_Server;
+// osMutexRelease(env->access);
+// } else {
+// LoggerErrorStatic(LOGGER, LOG_SIGN, "Access error ReceivedTP_func");
+// }
+
#if (LOG_UDS == 1)
sendLogCanUdsHex(env, env->data->data, env->data->len);
LoggerFormatInfo(LOGGER, LOG_SIGN, "> %s [%d] %s", uds_com[com].desc, env->data->len, env->hexString)
diff --git a/CanUds.h b/CanUds.h
index 3716560..a75bbd5 100644
--- a/CanUds.h
+++ b/CanUds.h
@@ -18,7 +18,7 @@
#define MAX_ATTEMPTS_DEFAULT 3
#define BLOCK_TIME_DEFAULT 60000
-#define timeout_session_S3_Server 5000
+#define timeout_session_S3_Server 7000
#define ADR_HEX_BlockMain 0x01020000
#define ADR_HEX_BlockCalib 0x010D0000