From 9437a013059a603fd131a0f7cfec61dc974a411c Mon Sep 17 00:00:00 2001 From: cfif Date: Thu, 2 Jul 2026 11:26:54 +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=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B8=D1=80=D0=BE=D0=B2=D0=BA?= =?UTF-8?q?=D0=B8=2002.07.2026=20(=D0=92=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= =?UTF-8?q?=D1=8B=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20IO)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- StatusData.c | 116 +++++++++++++------------- StatusData.h | 224 +++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 274 insertions(+), 66 deletions(-) diff --git a/StatusData.c b/StatusData.c index b35ea0a..adec344 100644 --- a/StatusData.c +++ b/StatusData.c @@ -15,9 +15,9 @@ tStatusData statusData; const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = { {&statusData.ecu.Status_CCU_Configuration, sizeof(statusData.ecu.Status_CCU_Configuration), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF00 : Status_CCU_Configuration"}, {&statusData.Status_Sensor, sizeof(statusData.Status_Sensor), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF01 : Status_Sensor"}, - {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF02 : Status_Actuator_DoorsActuator_FB"}, - {&statusData.Status_Duct_Tgt, sizeof(statusData.Status_Duct_Tgt), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF03 : Status_Duct_Tgt"}, - {&statusData.Status_Eva_Tgt, sizeof(statusData.Status_Eva_Tgt), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF04 : Status_Eva_Tgt"}, + {&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF02 : Status_Actuator_DoorsActuator_FB"}, + {&statusData.Status_Duct_Tgt_FB, sizeof(statusData.Status_Duct_Tgt_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF03 : Status_Duct_Tgt"}, + {&statusData.Status_Eva_Tgt_FB, sizeof(statusData.Status_Eva_Tgt_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF04 : Status_Eva_Tgt"}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, @@ -93,13 +93,13 @@ const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, - {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF50 : Status_Actuator_DoorsActuator"}, - {&statusData.Status_IO, sizeof(statusData.Status_IO), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF51 : Status_IO"}, - {&statusData.Status_Pwm, sizeof(statusData.Status_Pwm), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF52 : Status_Pwm"}, - {&statusData.Status_eComp, sizeof(statusData.Status_eComp), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF53 : Status_eComp"}, - {&statusData.Status_External, sizeof(statusData.Status_External), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF54 : Status_External"}, - {&statusData.Status_EMS, sizeof(statusData.Status_EMS), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF55 : Status_EMS"}, - {&statusData.Status_Ionizer_Aroma, sizeof(statusData.Status_Ionizer_Aroma), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF56 : Status_Ionizer_Aroma"}, + {NULL, sizeof(statusData.Status_Actuator_DoorsActuator_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF50 : Status_Actuator_DoorsActuator"}, + {&statusData.Status_IO_FB, sizeof(statusData.Status_IO_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF51 : Status_IO"}, + {&statusData.Status_Pwm_FB, sizeof(statusData.Status_Pwm_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF52 : Status_Pwm"}, + {&statusData.Status_eComp_FB, sizeof(statusData.Status_eComp_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF53 : Status_eComp"}, + {&statusData.Status_External_FB, sizeof(statusData.Status_External_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF54 : Status_External"}, + {&statusData.Status_EMS_FB, sizeof(statusData.Status_EMS_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF55 : Status_EMS"}, + {&statusData.Status_Ionizer_Aroma_FB, sizeof(statusData.Status_Ionizer_Aroma_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF56 : Status_Ionizer_Aroma"}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, @@ -109,55 +109,55 @@ const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, - {&statusData.Status_Actuator_DoorsActuator, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Def), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF60 : Status_Actuator_DoorsActuator.Motor_Def"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 2, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 4, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 6, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 8, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 10, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 12, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 14, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 16, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 18, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 20, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 22, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 24, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 26, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 28, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, + {&statusData.Status_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Def), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF60 : Status_Actuator_DoorsActuator.Motor_Def"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 2, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_SFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 4, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_CFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 6, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_1FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 8, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_2FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 10, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_CFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 12, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_SFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 14, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_1FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 16, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_2FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 18, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_SRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 20, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_CRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 22, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 24, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_CRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 26, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Vent_SRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 28, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Foot_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, {NULL, 0, 0, 0, ""}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 30, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 32, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 34, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 36, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 38, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 40, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 42, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_REC), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 44, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_OSA), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, - {(uint8_t *) &statusData.Status_Actuator_DoorsActuator + - 46, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_SealingValve), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, - {&statusData.Status_Duct_Select, sizeof(statusData.Status_Duct_Select), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF79 : Status_Duct_Select"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 30, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp1_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 32, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp2_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 34, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp1_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 36, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp2_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 38, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 40, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_Temp_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 42, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_REC), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 44, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_OSA), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB + + 46, sizeof(statusData.Status_Actuator_DoorsActuator_FB.Motor_SealingValve), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, + {&statusData.Status_Duct_Select_FB, sizeof(statusData.Status_Duct_Select_FB), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF79 : Status_Duct_Select"}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""}, diff --git a/StatusData.h b/StatusData.h index 1819f0e..66b9b95 100644 --- a/StatusData.h +++ b/StatusData.h @@ -227,27 +227,235 @@ typedef struct __attribute__ ((packed)) { } tStatus_Active_Diagnostic_Session; #pragma scalar_storage_order little-endian + + + + + + + + + +// 1 Byte; Float; 2 significant digits y = (1/10)x V; Lower limit (phys): 0 V; Upper limit (phys): 25.5 V; +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) y = (1/10)x -40 °C; Lower limit (phys): -40 °C; Upper limit (phys): 6513.5 °C; + +typedef struct { + uint8_t Ignition; + uint8_t Battery; + uint16_t AMB; + uint16_t Incar_FL; + uint16_t Incar_FR; + uint16_t Incar_RL; + uint16_t Incar_RR; + uint16_t Eva_F; + uint16_t Eva_R; + uint16_t Pressure; + uint16_t Duct_FL_Upper; + uint16_t Duct_FL_Lower; + uint16_t Duct_FR_Upper; + uint16_t Duct_FR_Lower; + uint16_t Duct_RL; + uint16_t Duct_RR; + uint16_t Duct_Side_FL; + uint16_t Duct_Side_FR; + uint16_t Duct_Side_RL; + uint16_t Duct_Side_RR; + eAQS AQS; +} tStatus_Sensor_For_Model; + + +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) [0x00..0x03E8] ; y = (1/10)x %; +// Lower limit (phys): 0 %; Upper limit (phys): 100 %; Invalid values: [0x03E9..0xFFFE] Invalid signal (Invalid) [0xFFFF] Not implemented (Not implemented) + + +typedef struct { + uint16_t Motor_Def; + uint16_t Motor_Vent_SFL; + uint16_t Motor_Vent_CFL; + uint16_t Motor_Foot_1FL; + uint16_t Motor_Foot_2FL; + uint16_t Motor_Vent_CFR; + uint16_t Motor_Vent_SFR; + uint16_t Motor_Foot_1FR; + uint16_t Motor_Foot_2FR; + uint16_t Motor_Vent_SRL; + uint16_t Motor_Vent_CRL; + uint16_t Motor_Foot_RL; + 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; + uint16_t Motor_Temp2_FR; + uint16_t Motor_Temp_RL; + uint16_t Motor_Temp_RR; + uint16_t Motor_REC; + uint16_t Motor_OSA; + uint16_t Motor_SealingValve; +} tStatus_Actuator_For_Model; + + +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) y = (1/10)x -40 °C; Lower limit (phys): -40 °C; Upper limit (phys): 6513.5 °C; + +typedef struct { + uint16_t DuctTgt_Vent_FL; + uint16_t DuctTgt_Foot_FL; + uint16_t DuctTgt_Vent_FR; + uint16_t DuctTgt_Foot_FR; + uint16_t DuctTgt_RL; + uint16_t DuctTgt_RR; +} tStatus_Duct_Tgt_For_Model; + + +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) y = (1/10)x -40 °C; Lower limit (phys): -40 °C; Upper limit (phys): 6513.5 °C; + +typedef struct { + uint16_t EvaTgt_F; + uint16_t EvaTgt_R; +} tStatus_Eva_Tgt_For_Model; + + +// 0 = Off!0 = On 1 Byte [0x00] Off [0x01..0xFF] On; Inverse value: 0x01 + +typedef struct { + uint8_t _2_Way_Valve; + uint8_t IncarMotor_Front; + uint8_t IncarMotor_Rear; + uint8_t ShutOff_Chiller; + uint8_t ShutOff_Front; + uint8_t ShutOff_Rear; + uint8_t PTC_1; + uint8_t PTC_2; +} tStatus_IO_For_Model; + + +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) [0x00..0x03E8] ; y = (1/10)x %; Lower limit (phys): 0 %; Upper limit (phys): 100 %; Invalid values: [0x03E9..0xFFFE] Invalid signal (Invalid) [0xFFFF] Not implemented (Not implemented) + +typedef struct { + uint16_t Pwm_Front; + uint16_t Pwm_Rear; +} tStatus_Pwm_For_Model; + +typedef struct { + // 0 = Off!0 = On + //1 Byte + //[0x00] Off + //[0x01..0xFF] On; Inverse value: 0x01 + uint8_t eComp_Statue_Request; + //1 Byte + //y = 50x ; Lower limit (phys): 0; Upper limit (phys): 12750; + uint8_t Pwm_Front; + // 0 = Off!0 = On + //1 Byte + //[0x00] Off + //[0x01..0xFF] On; Inverse value: 0x01 + uint8_t LowTempValve; +} tStatus_eComp_For_Model; + + +// 2 Byte; Float; 1 significant digits; HighLow (Motorola) +//[0x00..0x03E8] ; y = (1/10)x %; Lower limit (phys): 0 %; Upper limit (phys): 100 %; +//Invalid values: +//[0x03E9..0xFFFE] Invalid signal (Invalid) +//[0xFFFF] Not implemented (Not implemented) + +typedef struct { + uint16_t CoolingFan; +} tStatus_External_For_Model; + + +// 0 = Off!0 = On +//1 Byte +//[0x00] Off +//[0x01..0xFF] On; Inverse value: 0x01 + +typedef struct { + uint8_t EMS_Chiller_Req; +} tStatus_EMS_For_Model; + + + +typedef struct { + // 0 = Off!0 = On + //1 Byte + //[0x00] Off + //[0x01..0xFF] On; Inverse value: 0x01 + uint8_t Ionizer; + eAromatizationIntensivity AromatizationIntensivity; +} tStatus_Ionizer_Aroma_For_Model; + + +// 1 Byte [0x00] Central [0x01..0xFF] Side; Inverse value: 0x01 + +typedef struct { + uint8_t Duct_FL; + uint8_t Duct_FR; + uint8_t Duct_RL; + uint8_t Duct_RR; +} tStatus_Duct_Select_For_Model; + +typedef struct { + uint8_t Motor_Def; + uint8_t Motor_Vent_SFL; + uint8_t Motor_Vent_CFL; + uint8_t Motor_Foot_1FL; + uint8_t Motor_Foot_2FL; + uint8_t Motor_Vent_CFR; + uint8_t Motor_Vent_SFR; + uint8_t Motor_Foot_1FR; + uint8_t Motor_Foot_2FR; + uint8_t Motor_Vent_SRL; + uint8_t Motor_Vent_CRL; + uint8_t Motor_Foot_RL; + uint8_t Motor_Vent_CRR; + uint8_t Motor_Vent_SRR; + uint8_t Motor_Foot_RR; + uint8_t Motor_Temp1_FL; + uint8_t Motor_Temp2_FL; + uint8_t Motor_Temp1_FR; + uint8_t Motor_Temp2_FR; + uint8_t Motor_Temp_RL; + uint8_t Motor_Temp_RR; + uint8_t Motor_REC; + uint8_t Motor_OSA; + uint8_t Motor_SealingValve; + uint8_t IO; + uint8_t Pwm; + uint8_t eComp; + uint8_t External; + uint8_t EMS; + uint8_t Ionizer_Aroma; + uint8_t Duct_Select; +} tStatus_Set_For_Model; + typedef struct { tStatus_Sensor Status_Sensor; - -// tStatus_Actuator Status_Actuator_DoorsActuator_FB; tStatus_Actuator Status_Actuator_DoorsActuator; - tStatus_Duct_Tgt Status_Duct_Tgt; tStatus_Eva_Tgt Status_Eva_Tgt; - - tStatus_Activated_Cal_Num Status_Activated_Cal_Num; - tStatus_Active_Diagnostic_Session Status_Active_Diagnostic_Session; - tStatus_IO Status_IO; tStatus_Pwm Status_Pwm; tStatus_eComp Status_eComp; tStatus_External Status_External; tStatus_EMS Status_EMS; tStatus_Ionizer_Aroma Status_Ionizer_Aroma; - tStatus_Duct_Select Status_Duct_Select; + tStatus_Actuator Status_Actuator_DoorsActuator_FB; + tStatus_Duct_Tgt Status_Duct_Tgt_FB; + tStatus_Eva_Tgt Status_Eva_Tgt_FB; + tStatus_IO Status_IO_FB; + tStatus_Pwm Status_Pwm_FB; + tStatus_eComp Status_eComp_FB; + tStatus_External Status_External_FB; + tStatus_EMS Status_EMS_FB; + tStatus_Ionizer_Aroma Status_Ionizer_Aroma_FB; + tStatus_Duct_Select Status_Duct_Select_FB; + + tStatus_Activated_Cal_Num Status_Activated_Cal_Num; + tStatus_Active_Diagnostic_Session Status_Active_Diagnostic_Session; ecu_identification_t ecu; } tStatusData;