Обновление после командировки 02.07.2026 (Внесены изменения для IO)

This commit is contained in:
cfif 2026-07-02 11:26:54 +03:00
parent fd708cc395
commit 9437a01305
2 changed files with 274 additions and 66 deletions

View File

@ -15,9 +15,9 @@ tStatusData statusData;
const eUds_ReadDataByIdentifier_22_com uds_ReadDataByIdentifier_22_com_CF[256] = { 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.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_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_Actuator_DoorsActuator_FB, sizeof(statusData.Status_Actuator_DoorsActuator_FB), 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_Duct_Tgt_FB, sizeof(statusData.Status_Duct_Tgt_FB), 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_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, ""}, {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, ""}, {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"}, {NULL, sizeof(statusData.Status_Actuator_DoorsActuator_FB), 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_IO_FB, sizeof(statusData.Status_IO_FB), 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_Pwm_FB, sizeof(statusData.Status_Pwm_FB), 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_eComp_FB, sizeof(statusData.Status_eComp_FB), 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_External_FB, sizeof(statusData.Status_External_FB), 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_EMS_FB, sizeof(statusData.Status_EMS_FB), 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"}, {&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, ""}, {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, ""}, {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"}, {&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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
2, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF61 : Status_Actuator_DoorsActuator.Motor_Vent_SFL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
4, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF62 : Status_Actuator_DoorsActuator.Motor_Vent_CFL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
6, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF63 : Status_Actuator_DoorsActuator.Motor_Foot_1FL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
8, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF64 : Status_Actuator_DoorsActuator.Motor_Foot_2FL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
10, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF65 : Status_Actuator_DoorsActuator.Motor_Vent_CFR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
12, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SFR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF66 : Status_Actuator_DoorsActuator.Motor_Vent_SFR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
14, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_1FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF67 : Status_Actuator_DoorsActuator.Motor_Foot_1FR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
16, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_2FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF68 : Status_Actuator_DoorsActuator.Motor_Foot_2FR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
18, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF69 : Status_Actuator_DoorsActuator.Motor_Vent_SRL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
20, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6A : Status_Actuator_DoorsActuator.Motor_Vent_CRL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
22, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6B : Status_Actuator_DoorsActuator.Motor_Foot_RL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
24, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_CRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6C : Status_Actuator_DoorsActuator.Motor_Vent_CRR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
26, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Vent_SRR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6D : Status_Actuator_DoorsActuator.Motor_Vent_SRR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
28, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Foot_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF6E : Status_Actuator_DoorsActuator.Motor_Foot_RR"}, 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, ""}, {NULL, 0, 0, 0, ""},
{(uint8_t *) &statusData.Status_Actuator_DoorsActuator + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
30, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF70 : Status_Actuator_DoorsActuator.Motor_Temp1_FL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
32, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF71 : Status_Actuator_DoorsActuator.Motor_Temp2_FL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
34, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp1_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF72 : Status_Actuator_DoorsActuator.Motor_Temp1_FR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
36, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp2_FR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF73 : Status_Actuator_DoorsActuator.Motor_Temp2_FR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
38, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RL), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF74 : Status_Actuator_DoorsActuator.Motor_Temp_RL"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
40, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_Temp_RR), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF75 : Status_Actuator_DoorsActuator.Motor_Temp_RR"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
42, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_REC), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF76 : Status_Actuator_DoorsActuator.Motor_REC"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
44, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_OSA), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF77 : Status_Actuator_DoorsActuator.Motor_OSA"}, 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 + {(uint8_t *) &statusData.Status_Actuator_DoorsActuator_FB +
46, sizeof(statusData.Status_Actuator_DoorsActuator.Motor_SealingValve), perm_session_defaultSession_extendedDiagnosticSession, false, "0xCF78 : Status_Actuator_DoorsActuator.Motor_SealingValve"}, 46, sizeof(statusData.Status_Actuator_DoorsActuator_FB.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"}, {&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, ""}, {NULL, 0, 0, 0, ""},
{NULL, 0, 0, 0, ""}, {NULL, 0, 0, 0, ""},

View File

@ -227,27 +227,235 @@ typedef struct __attribute__ ((packed)) {
} tStatus_Active_Diagnostic_Session; } tStatus_Active_Diagnostic_Session;
#pragma scalar_storage_order little-endian #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 { typedef struct {
tStatus_Sensor Status_Sensor; tStatus_Sensor Status_Sensor;
// tStatus_Actuator Status_Actuator_DoorsActuator_FB;
tStatus_Actuator Status_Actuator_DoorsActuator; tStatus_Actuator Status_Actuator_DoorsActuator;
tStatus_Duct_Tgt Status_Duct_Tgt; tStatus_Duct_Tgt Status_Duct_Tgt;
tStatus_Eva_Tgt Status_Eva_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_IO Status_IO;
tStatus_Pwm Status_Pwm; tStatus_Pwm Status_Pwm;
tStatus_eComp Status_eComp; tStatus_eComp Status_eComp;
tStatus_External Status_External; tStatus_External Status_External;
tStatus_EMS Status_EMS; tStatus_EMS Status_EMS;
tStatus_Ionizer_Aroma Status_Ionizer_Aroma; tStatus_Ionizer_Aroma Status_Ionizer_Aroma;
tStatus_Duct_Select Status_Duct_Select; 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; ecu_identification_t ecu;
} tStatusData; } tStatusData;