Обновление командировка

This commit is contained in:
Дарья Бараева 2026-02-19 12:09:37 +03:00
parent c99a2aceca
commit e610f56c79
1 changed files with 12 additions and 10 deletions

View File

@ -114,8 +114,10 @@ void ReceivedTP_func(void *arg, tCanTP_data *data) {
osStatus_t status = osMessageQueuePut(env->queue, data, 0, 0U); osStatus_t status = osMessageQueuePut(env->queue, data, 0, 0U);
// LoggerFormatInfo(LOGGER, LOG_SIGN, "Add queue (UDS): %d", data[0])
if (status != osOK) { if (status != osOK) {
LoggerInfoStatic(LOGGER, LOG_SIGN, "Ошибка добавления в очередь addCommandQueue") LoggerInfoStatic(LOGGER, LOG_SIGN, "Error addCommandQueue")
} }
} }
@ -334,7 +336,7 @@ static uint16_t InputOutputControlByIdentifier_2F(tCanUds *env) {
if (uds_IoDataByIdentifier_2F_com_CF[dataIdentifier_lo].data != NULL) { if (uds_IoDataByIdentifier_2F_com_CF[dataIdentifier_lo].data != NULL) {
uint16_t size = uds_IoDataByIdentifier_2F_com_CF[dataIdentifier_lo].size; uint16_t size = uds_IoDataByIdentifier_2F_com_CF[dataIdentifier_lo].size;
if (env->data.len != size + 4) { if ((env->data.data[3] == UDS_io_shortTermAdjustment) && (env->data.len != size + 4)) {
return setResponseError(env, UDS_InputOutputControlByIdentifier, return setResponseError(env, UDS_InputOutputControlByIdentifier,
UDS_error_incorrectMessageLengthOrInvalidFormat); UDS_error_incorrectMessageLengthOrInvalidFormat);
} }
@ -610,8 +612,8 @@ static uint16_t Routine_Control_31(tCanUds *env) {
} }
eUdsRoutineControlType udsRoutineControlType = env->data.data[1]; eUdsRoutineControlType udsRoutineControlType = env->data.data[1];
uint8_t routineIdentifier_hi = env->data.data[1]; uint8_t routineIdentifier_hi = env->data.data[2];
uint8_t routineIdentifier_lo = env->data.data[2]; uint8_t routineIdentifier_lo = env->data.data[3];
uint16_t routineIdentifier = (routineIdentifier_hi << 8) | routineIdentifier_lo; uint16_t routineIdentifier = (routineIdentifier_hi << 8) | routineIdentifier_lo;
if ((udsRoutineControlType != UDS_routine_StartRoutine) && (udsRoutineControlType != UDS_routine_StopRoutine) && if ((udsRoutineControlType != UDS_routine_StartRoutine) && (udsRoutineControlType != UDS_routine_StopRoutine) &&
@ -620,9 +622,9 @@ static uint16_t Routine_Control_31(tCanUds *env) {
} }
env->dataResponse[0] = UDS_RoutineControl | 0b1000000; env->dataResponse[0] = UDS_RoutineControl | 0b1000000;
env->dataResponse[1] = routineIdentifier_hi; env->dataResponse[1] = env->data.data[1]; // eUdsRoutineControlType
env->dataResponse[2] = routineIdentifier_lo; env->dataResponse[2] = routineIdentifier_hi;
env->dataResponse[3] = env->data.data[3]; env->dataResponse[3] = routineIdentifier_lo;
switch (routineIdentifier) { switch (routineIdentifier) {
case UDS_routine_VIN_learn: case UDS_routine_VIN_learn:
@ -1069,8 +1071,8 @@ void CanUds_Init(
env->filterReqId[5] = 0; env->filterReqId[5] = 0;
env->filterReqId[6] = 0; env->filterReqId[6] = 0;
env->filterRespId[0] = 0; env->filterRespId[0] = Diag_From_CCU_CANID;
env->filterRespId[1] = 0; env->filterRespId[1] = Diag_From_CCU_CANID;
env->filterRespId[2] = 0; env->filterRespId[2] = 0;
env->filterRespId[3] = 0; env->filterRespId[3] = 0;
env->filterRespId[4] = 0; env->filterRespId[4] = 0;
@ -1083,7 +1085,7 @@ void CanUds_Init(
env->filterDirReq[2] = 0; env->filterDirReq[2] = 0;
env->filterDirReq[3] = 0; env->filterDirReq[3] = 0;
env->filterDirReq[4] = 0; env->filterDirReq[4] = 0;
env->filterDirReq[5] = 1; env->filterDirReq[5] = 0;
env->filterDirReq[6] = 0; env->filterDirReq[6] = 0;