Обновление

This commit is contained in:
cfif 2026-04-24 16:38:53 +03:00
parent 55ad040750
commit 9d0b145a98
6 changed files with 1403 additions and 1028 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.848 * Model version : 1.850
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Fri Apr 24 14:46:20 2026 * C/C++ source code generated on : Fri Apr 24 16:29:01 2026
* *
* Target selection: ert.tlc * Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M * Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -40,18 +40,12 @@
/* user code (top of header file) */ /* user code (top of header file) */
#include <stdio.h> #include <stdio.h>
/* Block states (default storage) for system '<S457>/If Action Subsystem' */ /* Block states (default storage) for system '<S472>/MATLAB Function' */
typedef struct { typedef struct {
double Start_timer; /* '<S472>/Data Store Memory' */
double cond_prev; /* '<S472>/MATLAB Function' */ double cond_prev; /* '<S472>/MATLAB Function' */
uint32_t t_start; /* '<S472>/MATLAB Function' */ uint32_t t_start; /* '<S472>/MATLAB Function' */
bool t_start_not_empty; /* '<S472>/MATLAB Function' */ bool t_start_not_empty; /* '<S472>/MATLAB Function' */
} DW_IfActionSubsystem; } DW_MATLABFunction;
/* Block states (default storage) for system '<S505>/Switch Case Action Subsystem3' */
typedef struct {
DW_IfActionSubsystem IfActionSubsystem_e;/* '<S523>/If Action Subsystem' */
} DW_SwitchCaseActionSubsystem3;
/* Block states (default storage) for system '<S642>/Level 4' */ /* Block states (default storage) for system '<S642>/Level 4' */
typedef struct { typedef struct {
@ -118,6 +112,9 @@ typedef struct {
double MODE_RR_passenger; /* '<Root>/Data Store Memory19' */ double MODE_RR_passenger; /* '<Root>/Data Store Memory19' */
double SKIPPED_FIRST_SIMULATION_STEP;/* '<Root>/Data Store Memory64' */ double SKIPPED_FIRST_SIMULATION_STEP;/* '<Root>/Data Store Memory64' */
double start_control_finished_rear; /* '<Root>/SC Rear' */ double start_control_finished_rear; /* '<Root>/SC Rear' */
double Start_timer; /* '<S604>/Data Store Memory' */
double Start_timer_l; /* '<S538>/Data Store Memory' */
double Start_timer_i; /* '<S472>/Data Store Memory' */
CmdBusADCDataKey ADC_Key_Data_Model; /* '<S2>/Data Store Memory3' */ CmdBusADCDataKey ADC_Key_Data_Model; /* '<S2>/Data Store Memory3' */
uint32_t t_start_delay_private_DSTATE;/* '<S287>/t_start_delay_private ' */ uint32_t t_start_delay_private_DSTATE;/* '<S287>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_j;/* '<S294>/t_start_delay_private ' */ uint32_t t_start_delay_private_DSTATE_j;/* '<S294>/t_start_delay_private ' */
@ -280,30 +277,21 @@ typedef struct {
DW_Level3 Level3_l; /* '<S643>/Level 3' */ DW_Level3 Level3_l; /* '<S643>/Level 3' */
DW_Level4_n Level5_g; /* '<S642>/Level 5' */ DW_Level4_n Level5_g; /* '<S642>/Level 5' */
DW_Level4_n Level4_cw; /* '<S642>/Level 4' */ DW_Level4_n Level4_cw; /* '<S642>/Level 4' */
DW_SwitchCaseActionSubsystem3 SwitchCaseActionSubsystem3_k; DW_MATLABFunction sf_MATLABFunction_c;/* '<S604>/MATLAB Function' */
/* '<S571>/Switch Case Action Subsystem3' */ DW_MATLABFunction sf_MATLABFunction_i;/* '<S538>/MATLAB Function' */
DW_SwitchCaseActionSubsystem3 SwitchCaseActionSubsystem3_e; DW_MATLABFunction sf_MATLABFunction; /* '<S472>/MATLAB Function' */
/* '<S505>/Switch Case Action Subsystem3' */
DW_IfActionSubsystem IfActionSubsystem_p;/* '<S457>/If Action Subsystem' */
} DW; } DW;
/* Invariant block signals for system '<S457>/If Action Subsystem1' */ /* Invariant block signals for system '<S457>/If Action Subsystem1' */
typedef struct { typedef struct {
const uint8_t DataTypeConversion[9]; /* '<S473>/Data Type Conversion' */ const uint8_t DataTypeConversion[9]; /* '<S473>/Data Type Conversion' */
} ConstB_IfActionSubsystem1; } ConstB_IfActionSubsystem1_c;
/* Invariant block signals for system '<S505>/Switch Case Action Subsystem3' */
typedef struct {
ConstB_IfActionSubsystem1 IfActionSubsystem1_n;/* '<S523>/If Action Subsystem1' */
} ConstB_SwitchCaseActionSubsystem3;
/* Invariant block signals (default storage) */ /* Invariant block signals (default storage) */
typedef struct { typedef struct {
ConstB_SwitchCaseActionSubsystem3 SwitchCaseActionSubsystem3_k; ConstB_IfActionSubsystem1_c IfActionSubsystem1_c;/* '<S589>/If Action Subsystem1' */
/* '<S571>/Switch Case Action Subsystem3' */ ConstB_IfActionSubsystem1_c IfActionSubsystem1_n;/* '<S523>/If Action Subsystem1' */
ConstB_SwitchCaseActionSubsystem3 SwitchCaseActionSubsystem3_e; ConstB_IfActionSubsystem1_c IfActionSubsystem1_dc;/* '<S457>/If Action Subsystem1' */
/* '<S505>/Switch Case Action Subsystem3' */
ConstB_IfActionSubsystem1 IfActionSubsystem1_d;/* '<S457>/If Action Subsystem1' */
} ConstB; } ConstB;
/* Constant parameters (default storage) */ /* Constant parameters (default storage) */

View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.848 * Model version : 1.850
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Fri Apr 24 14:46:20 2026 * C/C++ source code generated on : Fri Apr 24 16:29:01 2026
* *
* Target selection: ert.tlc * Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M * Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -19,29 +19,21 @@
/* Invariant block signals (default storage) */ /* Invariant block signals (default storage) */
const ConstB rtConstB = { const ConstB rtConstB = {
/* Start of '<S571>/Switch Case Action Subsystem3' */ /* Start of '<S589>/If Action Subsystem1' */
{ {
/* Start of '<S523>/If Action Subsystem1' */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }/* '<S605>/Data Type Conversion' */
{
{ 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }/* '<S605>/Data Type Conversion' */
}
/* End of '<S523>/If Action Subsystem1' */
} }
, ,
/* End of '<S571>/Switch Case Action Subsystem3' */ /* End of '<S589>/If Action Subsystem1' */
/* Start of '<S505>/Switch Case Action Subsystem3' */ /* Start of '<S523>/If Action Subsystem1' */
{ {
/* Start of '<S523>/If Action Subsystem1' */ { 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }/* '<S539>/Data Type Conversion' */
{
{ 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }/* '<S539>/Data Type Conversion' */
}
/* End of '<S523>/If Action Subsystem1' */
} }
, ,
/* End of '<S505>/Switch Case Action Subsystem3' */ /* End of '<S523>/If Action Subsystem1' */
/* Start of '<S457>/If Action Subsystem1' */ /* Start of '<S457>/If Action Subsystem1' */
{ {

View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.848 * Model version : 1.850
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Fri Apr 24 14:46:20 2026 * C/C++ source code generated on : Fri Apr 24 16:29:01 2026
* *
* Target selection: ert.tlc * Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M * Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -108,63 +108,17 @@ extern void g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(uint8_t rtu_LVL, uint8_t
extern void Afoot_Summer(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1 extern void Afoot_Summer(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1
[9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR); [9], uint8_t rtu_setTempFL, uint8_t rtu_setTempFR);
extern void left(uint8_t rtu_idx, uint16_t rty_vals[9]); extern void left(uint8_t rtu_idx, uint16_t rty_vals[9]);
extern void IfActionSubsystem_Init(DW_IfActionSubsystem *localDW); extern void IfActionSubsystem(int8_t *rty_Out1, double *rtd_ErrorHomming_private,
extern void IfActionSubsystem(int8_t *rty_Out2, double *rtd_ErrorHomming_private, double *rtd_Start_timer_i, int8_t *rtd_stepSig_private);
const double *rtd_LOGGER_LIN, int8_t *rtd_stepSig_private, const uint32_t extern void IfActionSubsystem1(int8_t *rty_Out1, double *rtd_Start_timer_i);
*rtd_t_now, DW_IfActionSubsystem *localDW); extern void MATLABFunction_Init(DW_MATLABFunction *localDW);
extern void IfActionSubsystem1(int8_t *rty_Output, uint8_t extern void MATLABFunction(double rtu_cond, uint32_t rtu_t_now, uint32_t *rty_dt,
DW_MATLABFunction *localDW);
extern void IfActionSubsystem1_d(int8_t *rty_Output, uint8_t
*rtd_CCU_ActuatorErrF_Stat_private, uint8_t rtd_COM_private[9], uint8_t *rtd_CCU_ActuatorErrF_Stat_private, uint8_t rtd_COM_private[9], uint8_t
rtd_ErrorActuator[9], uint8_t rtd_ErrorCalibration_private[9], const double rtd_ErrorActuator[9], uint8_t rtd_ErrorCalibration_private[9], const double
*rtd_LOGGER_LIN, uint8_t rtd_MODE_private[9], uint8_t *rtd_LOGGER_LIN, uint8_t rtd_MODE_private[9], uint8_t
rtd_dtc_state_error_model[127]); rtd_dtc_state_error_model[127]);
extern void StopMode(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
*rtd_Busy_private_i, uint8_t rtd_COM_private_n[9], const
uint8_t *rtd_Error_Connect_private_m, const double
*rtd_LOGGER_LIN, uint8_t rtd_MODE_private_a[9]);
extern void InitialCPOSMin(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
*rtd_Busy_private_i, uint8_t rtd_COM_private_n[9], const uint8_t
*rtd_Error_Connect_private_m, const double *rtd_LOGGER_LIN, uint16_t
rtd_POS_private_o[9]);
extern void NormalMode(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
*rtd_Busy_private_i, uint8_t rtd_COM_private_n[9], const uint8_t
*rtd_Error_Connect_private_m, const double *rtd_LOGGER_LIN, uint8_t
rtd_MODE_private_a[9]);
extern void MovetopositionMin(int8_t rtu_stepIn, int8_t *rty_step, uint8_t
rtd_Autos_private_a[9], const uint8_t *rtd_Busy_private_i, uint8_t
rtd_COM_private_n[9], uint8_t rtd_Coils_private_e[9], const uint8_t
*rtd_Error_Connect_private_m, const double *rtd_LOGGER_LIN, uint8_t
rtd_Lnoise_private_p[9], uint16_t rtd_POS_private_o[9], uint8_t
rtd_Speed_private_e[9], uint8_t rtd_Stall_private_h[9]);
extern void Write(double rtu_LOGGER, const int16_t rtu_data[9]);
extern void InitialCPOSMax(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
*rtd_Busy_private_i, uint8_t rtd_COM_private_n[9], const uint8_t
*rtd_Error_Connect_private_m, const double *rtd_LOGGER_LIN, uint16_t
rtd_POS_private_o[9]);
extern void MovetopositionMax(int8_t rtu_stepIn, int8_t *rty_step, uint8_t
rtd_Autos_private_a[9], const uint8_t *rtd_Busy_private_i, uint8_t
rtd_COM_private_n[9], uint8_t rtd_Coils_private_e[9], const uint8_t
*rtd_Error_Connect_private_m, const double *rtd_LOGGER_LIN, uint8_t
rtd_Lnoise_private_p[9], uint16_t rtd_POS_private_o[9], uint8_t
rtd_Speed_private_e[9], uint8_t rtd_Stall_private_h[9]);
extern void Write_c(double rtu_LOGGER, const int16_t rtu_data[9]);
extern void MAXPOSITION(double rtu_LOGGER, const int16_t rtu_MAX[6], const bool
rtu_ERRORS[9], const double rtu_KOEF[9]);
extern void WriteERROR(const bool rtu_ErrCallibration[9], double rtu_LOGGER);
extern void MAXPOSITION_k(double rtu_LOGGER, const int16_t rtu_MAX[6], const
uint8_t rtu_ERRORS[9], const double rtu_KOEF[9]);
extern void MAXPOSITION_d(double rtu_LOGGER, const int16_t rtu_MAX[6], const
bool rtu_ERRORS[9], const double rtu_KOEF[9]);
extern void SwitchCaseActionSubsystem3_Init(DW_SwitchCaseActionSubsystem3
*localDW);
extern void SwitchCaseActionSubsystem3(int8_t *rty_step, uint8_t
*rtd_CCU_ActuatorErrF_Stat_private, uint8_t rtd_COM_private_n[9], uint8_t
rtd_ErrorActuator_c[9], uint8_t rtd_ErrorCalibration_private_b[9], double
*rtd_ErrorHomming_private_j, const double *rtd_LOGGER_LIN, uint8_t
rtd_MODE_private_a[9], uint8_t rtd_dtc_state_error_model[127], int8_t
*rtd_stepSig_private_j, const uint32_t *rtd_t_now,
DW_SwitchCaseActionSubsystem3 *localDW);
extern void SwitchCaseActionSubsystem4(int8_t *rty_step, const double
*rtd_LOGGER_LIN, int8_t *rtd_stepSig_private_j);
extern void g_assSTART_ENTER_INCAR_j(uint8_t rtu_LVL, int16_t *rty_out); extern void g_assSTART_ENTER_INCAR_j(uint8_t rtu_LVL, int16_t *rty_out);
extern void g_assSTART_ENTER_COOLANT_p(uint8_t rtu_LVL, int16_t *rty_out); extern void g_assSTART_ENTER_COOLANT_p(uint8_t rtu_LVL, int16_t *rty_out);
extern void Level4(int8_t *rty_step1, const uint16_t *rtd_ECT, const uint8_t extern void Level4(int8_t *rty_step1, const uint16_t *rtd_ECT, const uint8_t

View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.848 * Model version : 1.850
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Fri Apr 24 14:46:20 2026 * C/C++ source code generated on : Fri Apr 24 16:29:01 2026
* *
* Target selection: ert.tlc * Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M * Embedded hardware selection: ARM Compatible->ARM Cortex-M

View File

@ -45,12 +45,34 @@ static bool setActuatorBusy(tModelTask *env) {
#if (LOG_LIN_ACTUATOR == 1) #if (LOG_LIN_ACTUATOR == 1)
#if (LOG_LIN1_ACTUATOR == 1) #if (LOG_LIN1_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT1: TRIGGERED COMMAND (SET BUSY)") for (uint8_t j = 0; j < env->linTaskActuator1->LIN_ISSR_ALL; ++j) {
switch (Actuator_Ch0_Command_Model.COM[j]) {
case LIN_ACT_CFR_MOD: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT1 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_MOD (SET BUSY)", j, Actuator_Ch0_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_INI: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT1 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_INI (SET BUSY)", j, Actuator_Ch0_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_SET: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT1 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_SET (SET BUSY)", j, Actuator_Ch0_Command_Model.BUS_ADR[j])
break;
}
default: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT1 (ADR[%d] = %d): TRIGGERED COMMAND = %d UNKNOWN !!! (SET BUSY)", j, Actuator_Ch0_Command_Model.BUS_ADR[j], Actuator_Ch2_Command_Model.COM[i])
}
}
}
#endif #endif
#endif #endif
Actuator_Ch0_Status_Model.Busy = 1; Actuator_Ch0_Status_Model.Busy = 1;
return true; break;
} }
} }
} }
@ -67,12 +89,34 @@ static bool setActuatorBusy(tModelTask *env) {
#if (LOG_LIN_ACTUATOR == 1) #if (LOG_LIN_ACTUATOR == 1)
#if (LOG_LIN2_ACTUATOR == 1) #if (LOG_LIN2_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT2: TRIGGERED COMMAND (SET BUSY)")
for (uint8_t j = 0; j < env->linTaskActuator2->LIN_ISSR_ALL; ++j) {
switch (Actuator_Ch1_Command_Model.COM[j]) {
case LIN_ACT_CFR_MOD: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT2 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_MOD (SET BUSY)", j, Actuator_Ch1_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_INI: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT2 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_INI (SET BUSY)", j, Actuator_Ch1_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_SET: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT2 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_SET (SET BUSY)", j, Actuator_Ch1_Command_Model.BUS_ADR[j])
break;
}
default: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT2 (ADR[%d] = %d): TRIGGERED COMMAND = %d UNKNOWN !!! (SET BUSY)", j, Actuator_Ch1_Command_Model.BUS_ADR[j], Actuator_Ch2_Command_Model.COM[i])
}
}
}
#endif #endif
#endif #endif
Actuator_Ch1_Status_Model.Busy = 1; Actuator_Ch1_Status_Model.Busy = 1;
return true; break;
} }
} }
} }
@ -89,11 +133,34 @@ static bool setActuatorBusy(tModelTask *env) {
#if (LOG_LIN_ACTUATOR == 1) #if (LOG_LIN_ACTUATOR == 1)
#if (LOG_LIN3_ACTUATOR == 1) #if (LOG_LIN3_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT3: TRIGGERED COMMAND (SET BUSY)")
for (uint8_t j = 0; j < env->linTaskActuator1->LIN_ISSR_ALL; ++j) {
switch (Actuator_Ch2_Command_Model.COM[j]) {
case LIN_ACT_CFR_MOD: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT3 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_MOD (SET BUSY)", j, Actuator_Ch2_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_INI: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT3 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_INI (SET BUSY)", j, Actuator_Ch2_Command_Model.BUS_ADR[j])
break;
}
case LIN_ACT_CFR_SET: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT3 (ADR[%d] = %d): TRIGGERED COMMAND LIN_ACT_CFR_SET (SET BUSY)", j, Actuator_Ch2_Command_Model.BUS_ADR[j])
break;
}
default: {
LoggerFormatInfo(LOGGER, LOG_SIGN, "ACT3 (ADR[%d] = %d): TRIGGERED COMMAND = %d UNKNOWN !!! (SET BUSY)", j, Actuator_Ch2_Command_Model.BUS_ADR[j], Actuator_Ch2_Command_Model.COM[i])
}
}
}
#endif #endif
#endif #endif
Actuator_Ch2_Status_Model.Busy = 1; Actuator_Ch2_Status_Model.Busy = 1;
return true; break;
} }
} }
} }