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