From e574f5446e9ee0f73509e462d911db5e24efb478 Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 25 Aug 2026 14:38:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=20UDS=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20IGN=5FANS=20=D0=B8=20PBATT=5FCHECK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../VersionRandID.h | 1 - MODULES/HVAC_M7_CAN_UDS/CanUds.c | 29 ++++++++++++++++++- MODULES/HVAC_M7_CAN_UDS/CanUds.h | 2 ++ 3 files changed, 30 insertions(+), 2 deletions(-) delete mode 100644 MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h diff --git a/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h b/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h deleted file mode 100644 index 28428d8..0000000 --- a/MODULES/CmakeConfig_RandomBuildIdGenerator/VersionRandID.h +++ /dev/null @@ -1 +0,0 @@ -#define VERSION_RANDOM_BUILD_IDENTIFIER "hK3WI" diff --git a/MODULES/HVAC_M7_CAN_UDS/CanUds.c b/MODULES/HVAC_M7_CAN_UDS/CanUds.c index 3ec8329..1a5d90e 100644 --- a/MODULES/HVAC_M7_CAN_UDS/CanUds.c +++ b/MODULES/HVAC_M7_CAN_UDS/CanUds.c @@ -71,13 +71,40 @@ static uint16_t getActProc(uint16_t maxPos, uint16_t pos) { return proc; } + + // Тут данные должны быть с модели &env->Status_Sensor_For_Model_input и т.д. void CanUdsInput_Set_Model(tCanUds *env) { osStatus_t status = osOK; uint32_t countQueue_space = osMessageQueueGetSpace(env->queue_input_get_Status_Sensor); if (countQueue_space) { - status = osMessageQueuePut(env->queue_input_get_Status_Sensor, &rtY.Status_Sensort_model_IO, 0, 0); + + memcpy(&env->Status_Sensort_model_IO_local, &rtY.Status_Sensort_model_IO, sizeof(Status_Sensor_Bus)); + + uint16_t IGN_ANS_16 = (uint16_t)((rtDW.ADC_Data_Model.IGN_ANS * 27.75f / 4095.0f) * 10.0f); + uint16_t PBATT_CHECK_16 = (uint16_t)((rtDW.ADC_Data_Model.PBATT_CHECK * 33.4375f / 4095.0f) * 10.0f); + + uint8_t IGN_ANS; + uint8_t PBATT_CHECK; + + if (IGN_ANS_16 > 255) { + IGN_ANS = 255; + } else { + IGN_ANS = IGN_ANS_16; + } + + if (PBATT_CHECK_16 > 255) { + PBATT_CHECK = 255; + } else { + PBATT_CHECK = PBATT_CHECK_16; + } + + env->Status_Sensort_model_IO_local.Ignition = IGN_ANS; + env->Status_Sensort_model_IO_local.Battery = PBATT_CHECK; + + + status = osMessageQueuePut(env->queue_input_get_Status_Sensor, &env->Status_Sensort_model_IO_local, 0, 0); } countQueue_space = osMessageQueueGetSpace(env->queue_input_get_Status_Actuator_DoorsActuator); diff --git a/MODULES/HVAC_M7_CAN_UDS/CanUds.h b/MODULES/HVAC_M7_CAN_UDS/CanUds.h index bf7a971..d86ee74 100644 --- a/MODULES/HVAC_M7_CAN_UDS/CanUds.h +++ b/MODULES/HVAC_M7_CAN_UDS/CanUds.h @@ -287,6 +287,8 @@ typedef struct { osMessageQueueId_t queue_output_set_Status_Ionizer_Aroma; osMessageQueueId_t queue_output_set_Status_Duct_Select; + Status_Sensor_Bus Status_Sensort_model_IO_local; + struct { osThreadId_t id; //uint32_t stack[384];