Обновление

This commit is contained in:
cfif 2026-02-11 13:45:48 +03:00
parent 5933915807
commit b2f68df8fd
2 changed files with 21 additions and 39 deletions

View File

@ -533,21 +533,6 @@ static uint16_t vUDS_routine_VIN_learn(tCanUds *env, eUdsRoutineControlType udsR
return 4 + 1; 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) { 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; 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) { static uint16_t vUDS_routine_Erase_Memory(tCanUds *env, eUdsRoutineControlType udsRoutineControlType) {
eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess; eUdsRoutineStartStopRoutineResult udsStartStopRoutineResult = UDS_routine_RoutineStartStopSuccess;
@ -615,6 +583,23 @@ vUDS_routine_Check_Programming_Dependancies(tCanUds *env, eUdsRoutineControlType
return 4 + 1; 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) { static uint16_t Routine_Control_31(tCanUds *env) {
tUdsServiceCommand *com = (tUdsServiceCommand *) env->data.data; tUdsServiceCommand *com = (tUdsServiceCommand *) env->data.data;
@ -642,16 +627,14 @@ static uint16_t Routine_Control_31(tCanUds *env) {
switch (routineIdentifier) { switch (routineIdentifier) {
case UDS_routine_VIN_learn: case UDS_routine_VIN_learn:
return vUDS_routine_VIN_learn(env, udsRoutineControlType); return vUDS_routine_VIN_learn(env, udsRoutineControlType);
case UDS_routine_Deflector_learn:
return vUDS_routine_Deflector_learn(env, udsRoutineControlType);
case UDS_routine_Compare_Checksum: case UDS_routine_Compare_Checksum:
return vUDS_routine_Compare_Checksum(env, udsRoutineControlType); 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: case UDS_routine_Erase_Memory:
return vUDS_routine_Erase_Memory(env, udsRoutineControlType); return vUDS_routine_Erase_Memory(env, udsRoutineControlType);
case UDS_routine_Check_Programming_Dependancies: case UDS_routine_Check_Programming_Dependancies:
return vUDS_routine_Check_Programming_Dependancies(env, udsRoutineControlType); return vUDS_routine_Check_Programming_Dependancies(env, udsRoutineControlType);
case UDS_routine_eComp_Initialize:
vUDS_routine_eComp_Initialize(env, udsRoutineControlType);
default: default:
return setResponseError(env, UDS_RoutineControl, UDS_error_requestOutOfRange); return setResponseError(env, UDS_RoutineControl, UDS_error_requestOutOfRange);
} }

View File

@ -95,11 +95,10 @@ typedef enum {
typedef enum { typedef enum {
UDS_routine_VIN_learn = 0x1300, UDS_routine_VIN_learn = 0x1300,
UDS_routine_Deflector_learn = 0xCF00,
UDS_routine_Compare_Checksum = 0x0202, UDS_routine_Compare_Checksum = 0x0202,
UDS_routine_Check_Programming_Preconditions = 00203,
UDS_routine_Erase_Memory = 0xFF00, UDS_routine_Erase_Memory = 0xFF00,
UDS_routine_Check_Programming_Dependancies = 0xFF01 UDS_routine_Check_Programming_Dependancies = 0xFF01,
UDS_routine_eComp_Initialize = 0xCF01
} eUdsRoutineModes; } eUdsRoutineModes;
typedef enum { typedef enum {