From 72a49adcfe991c265f298f63f3b7dd71eade8615 Mon Sep 17 00:00:00 2001 From: cfif Date: Tue, 20 Jan 2026 17:40:50 +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 --- StatusData.c | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++- StatusData.h | 15 ++- 2 files changed, 278 insertions(+), 2 deletions(-) diff --git a/StatusData.c b/StatusData.c index f4cb351..3687db1 100644 --- a/StatusData.c +++ b/StatusData.c @@ -1,4 +1,267 @@ // // Created by cfif on 03.12.2025. // -#include "StatusData.h" \ No newline at end of file +#include "StatusData.h" +#include "DataNonVolatile.h" +#include "StorageOnFlash.h" + +tStatusData statusData; + +const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com[256] = { + {&statusData.Status_CCU_Configuration, sizeof(statusData.Status_CCU_Configuration), "0xCF00 : Status_CCU_Configuration"}, + {&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), "0xCF01 : Status_Sensor"}, + {&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), "0xCF02 : Status_Actuator_DoorsActuator_FB"}, + {&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), "0xCF03 : Status_Duct_Tgt"}, + {&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), "0xCF04 : Status_Eva_Tgt"}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), "0xCF50 : Status_Actuator_DoorsActuator"}, + {&statusData.Status_IO, sizeof(statusData.Status_IO), "0xCF51 : Status_IO"}, + {&statusData.Status_Pwm, sizeof(statusData.Status_Pwm), "0xCF52 : Status_Pwm"}, + {&statusData.Status_eComp, sizeof(statusData.Status_eComp), "0xCF53 : Status_eComp"}, + {&statusData.Status_External, sizeof(statusData.Status_External), "0xCF54 : Status_External"}, + {&statusData.Status_EMS, sizeof(statusData.Status_EMS), "0xCF55 : Status_EMS"}, + {&statusData.Status_Ionizer_Aroma, sizeof(statusData.Status_Ionizer_Aroma), "0xCF56 : Status_Ionizer_Aroma"}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Def, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Def), "0xCF60 : Status_Actuator_DoorsActuator.Motor_Def"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL), "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL), "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL), "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL), "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR), "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR), "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR), "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR), "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL), "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL), "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL), "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR), "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR), "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR), "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, + {NULL, 0, ""}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL), "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL), "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR), "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR), "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL), "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR), "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_REC, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_REC), "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_OSA, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_OSA), "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, + {&statusData.Status_Actuator_DoorsActuator.Motor_SealingValve, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_SealingValve), "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, + {&statusData.Status_Duct_Select, sizeof(statusData.Status_Duct_Select), "0xCF79 : Status_Duct_Select"}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {NULL, 0, ""}, + {&statusData.Status_Activated_Cal_Num, sizeof(statusData.Status_Activated_Cal_Num), "0xCFFE : Status_Activated_Cal_Num"}, + {NULL, 0, ""} +}; \ No newline at end of file diff --git a/StatusData.h b/StatusData.h index 5cf2c25..5dc9a7c 100644 --- a/StatusData.h +++ b/StatusData.h @@ -6,6 +6,7 @@ #define HVAC_M7_STATUSDATA_H #include "stdint.h" +#include "stddef.h" typedef enum { AROMA_NOT_PRESENT = 0, @@ -85,6 +86,7 @@ typedef struct { uint16_t Motor_Vent_CRR; uint16_t Motor_Vent_SRR; uint16_t Motor_Foot_RR; + uint16_t Motor_Temp1_FL; uint16_t Motor_Temp2_FL; uint16_t Motor_Temp1_FR; @@ -211,7 +213,10 @@ typedef struct { typedef struct { tStatus_CCU_Configuration Status_CCU_Configuration; tStatus_Sensor Status_Sensor; - tStatus_Actuator Status_Actuator_FB; + + tStatus_Actuator Status_Actuator_DoorsActuator_FB; + tStatus_Actuator Status_Actuator_DoorsActuator; + tStatus_Duct_Tgt Status_Duct_Tgt; tStatus_Eva_Tgt Status_Eva_Tgt; @@ -229,5 +234,13 @@ typedef struct { } tStatusData; +typedef struct { + void *data; + uint8_t size; + char *desc; +} eUds_ReadDataByIdentifier_22_com; + +extern const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com[256]; + #endif //HVAC_M7_STATUSDATA_H