Обновление

This commit is contained in:
cfif 2026-01-30 15:59:24 +03:00
parent 1fb2f94259
commit 7abaa62de7
1 changed files with 183 additions and 34 deletions

View File

@ -198,6 +198,145 @@ static void CCU_Msg3(tCanSpamTransmitter *env) {
_m->CCU_MSG3_CS = d0 ^ d1 ^ d2 ^ d3;
}
static void CCU_Errors(tCanSpamTransmitter *env) {
CCU_Errors_t *_m = &ccu_candb_tx.CCU_Errors;
// Incar temperature sensors for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_IncarTempErrF_Stat = 0; // Bits= 1
// Incar temperature sensors for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_IncarTempErrR_Stat = 0; // Bits= 1
// Duct temperature sensors for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_DuctTempSenErrF_Stat = 0; // Bits= 1
// Duct temperature sensors for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_DuctTempSenErrR_Stat = 0; // Bits= 1
// Evaporator temperature sensor for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_EvaTempSenErrF_Stat = 0; // Bits= 1
// Evaporator temperature sensor for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_EvaTempSenErrR_Stat = 0; // Bits= 1
// Deflectors for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_DeflectorSwErrF_Stat = 0; // Bits= 1
// Deflectors for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_DeflectorSwErrR_Stat = 0; // Bits= 1
// Pressure sensors error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_PressSenErr_Stat = 0; // Bits= 1
// Ambient temperature sensor error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_AmbienTemptSenErr_Stat = 0; // Bits= 1
// Sealing valve error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_SealingValveErr_Stat = 0; // Bits= 1
// ETXV error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_ETXVerr_Stat = 0; // Bits= 1
// HVAC fan or TXV for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_HVACfanOrTXVerrF_Stat = 0; // Bits= 1
// HVAC fan or TXV for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_HVACfanOrTXVerrR_Stat = 0; // Bits= 1
// Actuators for front zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_ActuatorErrF_Stat = 0; // Bits= 1
// Actuators for rear zone error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_ActuatorErrR_Stat = 0; // Bits= 1
// Ultraviolet system error status
// 3 : "Component malfunction"
// 2 : "Supply chain short circuit
// 1 : "Supply chain break
// 0 : "No error"
_m->CCU_UltravioletErr_Stat = 0; // Bits= 2
// CCU VIN record error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_VinRecordErr_Stat = 0; // Bits= 1
// Air quality sensor error status
// 4 : "Component malfunction"
// 3 : "Communication error"
// 2 : "Supply chain short circuit"
// 1 : "Supply chain break"
// 0 : "No error"
_m->CCU_AirQualSenErr_Stat = 0; // Bits= 3
// CCU communication error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_CommErr_Stat = 0; // Bits= 1
// Two-way valve error status
// 1 : "Error"
// 0 : "No error"
_m->CCU_TWVerr_Stat = 0; // Bits= 1
// Ionization system error status
// 4 : "Component malfunction"
// 3 : "Communication error
// 2 : "Supply chain short circuit
// 1 : "Supply chain break
// 0 : "No error"
_m->CCU_IonizationErr_Stat = 0; // Bits= 3
// Aromatization system error status
// 4 : "Component malfunction"
// 3 : "Communication error
// 2 : "Supply chain short circuit
// 1 : "Supply chain break
// 0 : "No error"
_m->CCU_AromaErr_Stat = 0; // Bits= 3
}
static void sendEventToCan(tCanSpamTransmitter *env) {
if (env->ide) {
env->canFrame.id_type = FLEXCAN_ID_EXT;
@ -236,10 +375,14 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) {
if (env->time_CCU_Errors_CYC < env->timeMs) {
env->time_CCU_Errors_CYC = env->timeMs + CCU_Errors_CYC;
CCU_Errors(env);
env->can_id = Pack_CCU_Errors_candb(&ccu_candb_tx.CCU_Errors, env->canFrame.data, &env->canFrame.dlc,
&env->ide);
// return event_CCU_Errors_CYC;
return event_CCU_Errors_CYC;
}
@ -264,39 +407,39 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) {
return event_CCU_HVC_Req_Msg;
}
// конец---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// конец---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// конец---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// конец ---------------------------------------0x310 CCU_HVC_Req_Msg------------------------------------------------
// начало--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// начало--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// начало--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
if (env->time_CCU_VCU_Msg1 < env->timeMs) {
env->time_CCU_VCU_Msg1 = env->timeMs + CCU_VCU_Msg1_CYC;
// начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// if (env->time_CCU_VCU_Msg1 < env->timeMs) {
// env->time_CCU_VCU_Msg1 = env->timeMs + CCU_VCU_Msg1_CYC;
env->can_id = Pack_CCU_VCU_Msg1_candb(&ccu_candb_tx.CCU_VCU_Msg1, env->canFrame.data, &env->canFrame.dlc,
&env->ide);
// env->can_id = Pack_CCU_VCU_Msg1_candb(&ccu_candb_tx.CCU_VCU_Msg1, env->canFrame.data, &env->canFrame.dlc,
// &env->ide);
// return event_CCU_VCU_Msg1;
}
// конец---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// конец---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// конец---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// }
// конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// конец РЕЗЕРВ---------------------------------------0x315 CCU_VCU_Msg1---------------------------------------------------
// начало--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// начало--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// начало--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
if (env->time_CCU_VCU_Msg2 < env->timeMs) {
env->time_CCU_VCU_Msg2 = env->timeMs + CCU_VCU_Msg2_CYC;
// начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// if (env->time_CCU_VCU_Msg2 < env->timeMs) {
// env->time_CCU_VCU_Msg2 = env->timeMs + CCU_VCU_Msg2_CYC;
env->can_id = Pack_CCU_VCU_Msg2_candb(&ccu_candb_tx.CCU_VCU_Msg2, env->canFrame.data, &env->canFrame.dlc,
&env->ide);
// env->can_id = Pack_CCU_VCU_Msg2_candb(&ccu_candb_tx.CCU_VCU_Msg2, env->canFrame.data, &env->canFrame.dlc,
// &env->ide);
// return event_CCU_VCU_Msg2;
}
// конец---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// конец---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// конец---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// }
// конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// конец РЕЗЕРВ---------------------------------------0x316 CCU_VCU_Msg2---------------------------------------------------
// начало--------------------------------------0x380 CCU_Msg1-------------------------------------------------------
// начало--------------------------------------0x380 CCU_Msg1-------------------------------------------------------
@ -322,17 +465,23 @@ static eTimeEventTransmit isEventTransmitter(tCanSpamTransmitter *env) {
return event_CCU_Msg3;
}
// начало--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
// начало--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
// начало--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
// конец--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
// конец--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
// конец--------------------------------------0x501 CCU_Msg3-------------------------------------------------------
if (env->time_CCU_AC_Ctrl < env->timeMs) {
env->time_CCU_AC_Ctrl = env->timeMs + CCU_AC_Ctrl_CYC;
env->can_id = Pack_CCU_AC_Ctrl_candb(&ccu_candb_tx.CCU_AC_Ctrl, env->canFrame.data, &env->canFrame.dlc,
&env->ide);
// начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
// начало РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
// if (env->time_CCU_AC_Ctrl < env->timeMs) {
// env->time_CCU_AC_Ctrl = env->timeMs + CCU_AC_Ctrl_CYC;
// env->can_id = Pack_CCU_AC_Ctrl_candb(&ccu_candb_tx.CCU_AC_Ctrl, env->canFrame.data, &env->canFrame.dlc,
// &env->ide);
// return event_CCU_AC_Ctrl;
}
// }
// конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
// конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
// конец РЕЗЕРВ--------------------------------------0x18FFF200 CCU_AC_Ctrl -------------------------------------------------------
return event_CCU_none;
}