From b2f68df8fdbc12beb59638ae08789150ea2b68bb Mon Sep 17 00:00:00 2001 From: cfif Date: Wed, 11 Feb 2026 13:45:48 +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?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CanUds.c | 55 +++++++++++++++++++------------------------------------ CanUds.h | 5 ++--- 2 files changed, 21 insertions(+), 39 deletions(-) diff --git a/CanUds.c b/CanUds.c index 848aa8d..367f353 100644 --- a/CanUds.c +++ b/CanUds.c @@ -533,21 +533,6 @@ static uint16_t vUDS_routine_VIN_learn(tCanUds *env, eUdsRoutineControlType udsR return 4 + 1; } -static uint16_t vUDS_routine_Deflector_learn(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) { - - eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess; - eUdsRequestRoutineResult udsRequestRoutineResult = UDS_routine_RoutineStop; - - if ((udsRoutineControlType == UDS_routine_StartRoutine) || (udsRoutineControlType == UDS_routine_StopRoutine)) { - env->dataResponse[4] = udsStartStopRoutineResult; - } - - if (udsRoutineControlType == UDS_routine_RequestRoutineResults) { - env->dataResponse[4] = udsRequestRoutineResult; - } - - return 4 + 1; -} static uint16_t vUDS_routine_Compare_Checksum(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) { @@ -565,23 +550,6 @@ static uint16_t vUDS_routine_Compare_Checksum(tCanUds *env, eUdsRoutineControlTy return 4 + 1; } -static uint16_t -vUDS_routine_Check_Programming_Preconditions(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) { - - eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess; - eUdsRequestRoutineResult udsRequestRoutineResult = UDS_routine_RoutineStop; - - if ((udsRoutineControlType == UDS_routine_StartRoutine) || (udsRoutineControlType == UDS_routine_StopRoutine)) { - env->dataResponse[4] = udsStartStopRoutineResult; - } - - if (udsRoutineControlType == UDS_routine_RequestRoutineResults) { - env->dataResponse[4] = udsRequestRoutineResult; - } - - return 4 + 1; -} - static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) { eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess; @@ -615,6 +583,23 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType return 4 + 1; } +static uint16_t vUDS_routine_eComp_Initialize(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) { + + eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess; + eUdsRequestRoutineResult udsRequestRoutineResult = UDS_routine_RoutineStop; + + if ((udsRoutineControlType == UDS_routine_StartRoutine) || (udsRoutineControlType == UDS_routine_StopRoutine)) { + env->dataResponse[4] = udsStartStopRoutineResult; + } + + if (udsRoutineControlType == UDS_routine_RequestRoutineResults) { + env->dataResponse[4] = udsRequestRoutineResult; + } + + return 4 + 1; +} + + static uint16_t Routine_Control_31(tCanUds *env) { tUdsServiceCommand *com = (tUdsServiceCommand *) env->data.data; @@ -642,16 +627,14 @@ static uint16_t Routine_Control_31(tCanUds *env) { switch (routineIdentifier) { case UDS_routine_VIN_learn: return vUDS_routine_VIN_learn(env, udsRoutineControlType); - case UDS_routine_Deflector_learn: - return vUDS_routine_Deflector_learn(env, udsRoutineControlType); case UDS_routine_Compare_Checksum: return vUDS_routine_Compare_Checksum(env, udsRoutineControlType); - case UDS_routine_Check_Programming_Preconditions: - return vUDS_routine_Check_Programming_Preconditions(env, udsRoutineControlType); case UDS_routine_Erase_Memory: return vUDS_routine_Erase_Memory(env, udsRoutineControlType); case UDS_routine_Check_Programming_Dependancies: return vUDS_routine_Check_Programming_Dependancies(env, udsRoutineControlType); + case UDS_routine_eComp_Initialize: + vUDS_routine_eComp_Initialize(env, udsRoutineControlType); default: return setResponseError(env, UDS_RoutineControl, UDS_error_requestOutOfRange); } diff --git a/CanUds.h b/CanUds.h index 390628b..163184e 100644 --- a/CanUds.h +++ b/CanUds.h @@ -95,11 +95,10 @@ typedef enum { typedef enum { UDS_routine_VIN_learn = 0x1300, - UDS_routine_Deflector_learn = 0xCF00, UDS_routine_Compare_Checksum = 0x0202, - UDS_routine_Check_Programming_Preconditions = 00203, UDS_routine_Erase_Memory = 0xFF00, - UDS_routine_Check_Programming_Dependancies = 0xFF01 + UDS_routine_Check_Programming_Dependancies = 0xFF01, + UDS_routine_eComp_Initialize = 0xCF01 } eUdsRoutineModes; typedef enum {