Обновление

This commit is contained in:
cfif 2026-04-15 12:09:44 +03:00
parent c16c69a3b3
commit f278451713
6 changed files with 375 additions and 68 deletions

View File

@ -3,9 +3,9 @@
*
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.784
* Model version : 1.786
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Apr 14 14:42:16 2026
* C/C++ source code generated on : Tue Apr 14 17:41:03 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -25,6 +25,7 @@
#include "Rs_Cal_Base.h"
/* Named constants for Test Sequence: '<Root>/Test Sequence' */
#define IN_NO_ACTIVE_CHILD ((uint8_t)0U)
#define IN_step_1 ((uint8_t)1U)
#define IN_step_10 ((uint8_t)2U)
#define IN_step_11 ((uint8_t)3U)
@ -76,6 +77,140 @@
#define IN_step_8 ((uint8_t)49U)
#define IN_step_9 ((uint8_t)50U)
const CmdBusError HVAC_model_rtZCmdBusError = {
0U, /* CCU_IncarTempErrF_Stat */
0U, /* CCU_IncarTempErrR_Stat */
0U, /* CCU_DuctTempSenErrF_Stat */
0U, /* CCU_DuctTempSenErrR_Stat */
0U, /* CCU_EvaTempSenErrF_Stat */
0U, /* CCU_EvaTempSenErrR_Stat */
0U, /* CCU_DeflectorSwErrF_Stat */
0U, /* CCU_DeflectorSwErrR_Stat */
0U, /* CCU_PressSenErr_Stat */
0U, /* CCU_AmbienTemptSenErr_Stat */
0U, /* CCU_SealingValveErr_Stat */
0U, /* CCU_ETXVerr_Stat */
0U, /* CCU_HVACfanOrTXVerrF_Stat */
0U, /* CCU_HVACfanOrTXVerrR_Stat */
0U, /* CCU_ActuatorErrF_Stat */
0U, /* CCU_ActuatorErrR_Stat */
0U, /* CCU_UltravioletErr_Stat */
0U, /* CCU_VinRecordErr_Stat */
0U, /* CCU_AirQualSenErr_Stat */
0U, /* CCU_CommErr_Stat */
0U, /* CCU_TWVerr_Stat */
0U, /* CCU_IonizationErr_Stat */
0U /* CCU_AromaErr_Stat */
}; /* CmdBusError ground */
const ActuatorCmdBusInput HVAC_model_rtZActuatorCmdBusInput = {
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_CPOS_ALL */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Emrf_Slave */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Mode_Slave */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Err1_Supply */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Err2_Communication */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Err3_Temperature */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Err4_Permanent_Electrical */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Stall_Slave */
{
0, 0, 0, 0, 0, 0, 0, 0, 0 }
, /* in_Act_Reset */
0U, /* Busy */
0U /* Error_Connect */
}; /* ActuatorCmdBusInput ground */
const CmdBusStatus HVAC_model_rtZCmdBusStatus = {
0, /* Battery */
0, /* AMB */
0, /* Incar_FL */
0, /* Incar_FR */
0, /* Incar_RL */
0, /* Incar_RR */
0, /* Eva_F */
0, /* Eva_R */
0, /* Pressure */
0, /* Duct_FL_Upper */
0, /* Duct_FL_Lower */
0, /* Duct_FR_Upper */
0, /* Duct_FR_Lower */
0, /* Duct_RL */
0, /* Duct_RR */
0, /* Duct_Side_FL */
0, /* Duct_Side_FR */
0, /* Duct_Side_RL */
0, /* Duct_Side_RR */
0 /* AQS */
}; /* CmdBusStatus ground */
const ActuatorCmdBus HVAC_model_rtZActuatorCmdBus = {
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* POS */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* BUS_ADR */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* MODE */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* COM */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* Stall_SET */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* Lnoise_SET */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* Autos_SET */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
, /* Speed_SET */
{
0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U }
/* Coils_Stop_SET */
}; /* ActuatorCmdBus ground */
const CmdBusPWMGet HVAC_model_rtZCmdBusPWMGet = {
0U, /* pwmPercentFront */
0U, /* pwmPercentRear */
0U, /* pwmPercentFrontReserved */
0U /* pwmPercentRearReserved */
}; /* CmdBusPWMGet ground */
/* Exported block states */
ActuatorCmdBusInput Actuator_Ch1_Status_Model;/* '<Root>/Data Store Memory62' */
ActuatorCmdBusInput Actuator_Ch2_Status_Model;/* '<Root>/Data Store Memory63' */
@ -7806,7 +7941,7 @@ void HVAC_model_step(void)
* Merge: '<S8>/Merge'
*/
rtb_u_cuz = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_Gain_l,
rtConstP.pooled59, rtConstP.pooled28, rtb_get_modes_for_levels,
rtConstP.pooled60, rtConstP.pooled28, rtb_get_modes_for_levels,
rtConstP.pooled22, 6U);
/* MATLAB Function: '<S9>/Íà÷àëüíûå ïîëîæåíèÿ çàñëîíîê left' */
@ -7914,7 +8049,7 @@ void HVAC_model_step(void)
* Merge: '<S8>/Merge'
*/
rtb_u_cuz = look2_iu8bu8s16lu64n32_binlcse(rtB.Merge_b, rtb_Gain2,
rtConstP.pooled59, rtConstP.pooled28, rtb_get_modes_for_levels,
rtConstP.pooled60, rtConstP.pooled28, rtb_get_modes_for_levels,
rtConstP.pooled22, 6U);
/* MATLAB Function: '<S9>/Íà÷àëüíûå ïîëîæåíèÿ çàñëîíîê right' */
@ -8078,13 +8213,25 @@ void HVAC_model_step(void)
* ActionPort: '<S441>/Action Port'
*/
for (i = 0; i < 9; i++) {
/* Switch: '<S441>/Switch' incorporates:
* Constant: '<S441>/Constant1'
* Constant: '<S441>/Constant4'
* DataStoreRead: '<S441>/Data Store Read1'
* DataStoreWrite: '<S441>/Data Store Write7'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S441>/Switch' */
/* DataStoreWrite: '<S441>/Data Store Write1' */
rtDW.COM_private[i] = 1U;
/* DataStoreWrite: '<S441>/Data Store Write' */
rtDW.MODE_private[i] = 2U;
/* DataStoreWrite: '<S441>/Data Store Write1' incorporates:
* DataStoreRead: '<S441>/Data Store Read'
*/
rtDW.COM_private[i] = rtDW.ErrorCalibration_private[i];
}
/* Merge: '<S381>/Merge' incorporates:
@ -8128,11 +8275,22 @@ void HVAC_model_step(void)
/* DataStoreWrite: '<S429>/Data Store Write' */
rtDW.POS_private[i] = 6000U;
/* Product: '<S429>/Divide' incorporates:
* DataStoreRead: '<S429>/Data Store Read'
* DataStoreWrite: '<S429>/Data Store Write1'
/* DataStoreWrite: '<S429>/Data Store Write1' */
rtDW.COM_private[i] = 2U;
/* Switch: '<S429>/Switch' incorporates:
* Constant: '<S429>/Constant3'
* Constant: '<S429>/Constant4'
* DataStoreRead: '<S429>/Data Store Read1'
* DataStoreWrite: '<S429>/Data Store Write7'
*/
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] << 1);
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S429>/Switch' */
}
/* MATLAB Function: '<S429>/Initial CPOS Min' incorporates:
@ -8189,13 +8347,25 @@ void HVAC_model_step(void)
* ActionPort: '<S438>/Action Port'
*/
for (i = 0; i < 9; i++) {
/* Switch: '<S438>/Switch' incorporates:
* Constant: '<S438>/Constant1'
* Constant: '<S438>/Constant4'
* DataStoreRead: '<S438>/Data Store Read1'
* DataStoreWrite: '<S438>/Data Store Write7'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S438>/Switch' */
/* DataStoreWrite: '<S438>/Data Store Write' */
rtDW.MODE_private[i] = 0U;
/* DataStoreWrite: '<S438>/Data Store Write1' incorporates:
* DataStoreRead: '<S438>/Data Store Read'
*/
rtDW.COM_private[i] = rtDW.ErrorCalibration_private[i];
/* DataStoreWrite: '<S438>/Data Store Write1' */
rtDW.COM_private[i] = 1U;
}
/* MATLAB Function: '<S438>/Normal Mode' incorporates:
@ -8275,15 +8445,27 @@ void HVAC_model_step(void)
*/
rtDW.Speed_private[i] = 3U;
/* Switch: '<S435>/Switch' incorporates:
* Constant: '<S435>/Constant3'
* Constant: '<S435>/Constant4'
* DataStoreRead: '<S435>/Data Store Read'
* DataStoreWrite: '<S435>/Data Store Write7'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S435>/Switch' */
/* DataStoreWrite: '<S435>/Data Store Write' */
rtDW.POS_private[i] = 0U;
/* Product: '<S435>/Divide' incorporates:
/* DataStoreWrite: '<S435>/Data Store Write1' incorporates:
* Constant: '<S435>/Constant9'
* DataStoreRead: '<S435>/Data Store Read'
* DataStoreWrite: '<S435>/Data Store Write1'
*/
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] * 3U);
rtDW.COM_private[i] = 3U;
}
/* MATLAB Function: '<S435>/Move to position Min' incorporates:
@ -8334,7 +8516,6 @@ void HVAC_model_step(void)
* Logic: '<S385>/Logical Operator2'
* RelationalOperator: '<S385>/Relational Operator'
* RelationalOperator: '<S385>/Relational Operator1'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
for (i = 0; i < 9; i++) {
rtb_LogicalOperator3_c[i] =
@ -8372,7 +8553,6 @@ void HVAC_model_step(void)
for (i = 0; i < 9; i++) {
/* Switch: '<S397>/Switch' incorporates:
* DataStoreRead: '<S397>/Data Store Read1'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.MinPositionCh0_private[i] =
@ -8392,7 +8572,6 @@ void HVAC_model_step(void)
/* MATLAB Function: '<S397>/MIN POSITION' incorporates:
* DataStoreRead: '<S397>/Data Store Read3'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
/* : y = step; */
/* : if(LOGGER==2) */
@ -8446,11 +8625,22 @@ void HVAC_model_step(void)
* ActionPort: '<S426>/Action Port'
*/
for (i = 0; i < 9; i++) {
/* Product: '<S426>/Divide' incorporates:
* DataStoreRead: '<S426>/Data Store Read'
* DataStoreWrite: '<S426>/Data Store Write1'
/* Switch: '<S426>/Switch' incorporates:
* Constant: '<S426>/Constant1'
* Constant: '<S426>/Constant2'
* DataStoreRead: '<S426>/Data Store Read1'
* DataStoreWrite: '<S426>/Data Store Write7'
*/
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] << 1);
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S426>/Switch' */
/* DataStoreWrite: '<S426>/Data Store Write1' */
rtDW.COM_private[i] = 2U;
/* DataStoreWrite: '<S426>/Data Store Write' */
rtDW.POS_private[i] = 1U;
@ -8533,15 +8723,27 @@ void HVAC_model_step(void)
*/
rtDW.Speed_private[i] = 3U;
/* Switch: '<S432>/Switch' incorporates:
* Constant: '<S432>/Constant3'
* Constant: '<S432>/Constant4'
* DataStoreRead: '<S432>/Data Store Read1'
* DataStoreWrite: '<S432>/Data Store Write7'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.BUS_ADR_private[i] = rtConstP.pooled51[i];
} else {
rtDW.BUS_ADR_private[i] = 0U;
}
/* End of Switch: '<S432>/Switch' */
/* DataStoreWrite: '<S432>/Data Store Write' */
rtDW.POS_private[i] = 6000U;
/* Product: '<S432>/Divide' incorporates:
/* DataStoreWrite: '<S432>/Data Store Write1' incorporates:
* Constant: '<S432>/Constant9'
* DataStoreRead: '<S432>/Data Store Read'
* DataStoreWrite: '<S432>/Data Store Write1'
*/
rtDW.COM_private[i] = (uint8_t)(rtDW.ErrorCalibration_private[i] * 3U);
rtDW.COM_private[i] = 3U;
}
/* MATLAB Function: '<S432>/Move to position Max' incorporates:
@ -8592,7 +8794,6 @@ void HVAC_model_step(void)
* Logic: '<S384>/Logical Operator2'
* RelationalOperator: '<S384>/Relational Operator'
* RelationalOperator: '<S384>/Relational Operator1'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
for (i = 0; i < 9; i++) {
rtb_LogicalOperator3_c[i] =
@ -8630,7 +8831,6 @@ void HVAC_model_step(void)
for (i = 0; i < 9; i++) {
/* Switch: '<S394>/Switch' incorporates:
* DataStoreRead: '<S394>/Data Store Read1'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
if (rtDW.ErrorCalibration_private[i] != 0) {
rtDW.MaxPositionCh0_private[i] =
@ -8650,7 +8850,6 @@ void HVAC_model_step(void)
/* MATLAB Function: '<S394>/MIN POSITION' incorporates:
* DataStoreRead: '<S394>/Data Store Read2'
* SignalConversion generated from: '<S381>/Bus Selector'
*/
/* : y = step; */
/* : if(LOGGER==2) */
@ -13153,6 +13352,28 @@ void HVAC_model_step(void)
/* Model initialize function */
void HVAC_model_initialize(void)
{
/* Registration code */
/* initialize error status */
rtmSetErrorStatus(rtM, (NULL));
/* block I/O */
(void) memset(((void *) &rtB), 0,
sizeof(B));
/* states (dwork) */
(void) memset((void *)&rtDW, 0,
sizeof(DW));
/* exported global states */
Actuator_Ch1_Status_Model = HVAC_model_rtZActuatorCmdBusInput;
Actuator_Ch2_Status_Model = HVAC_model_rtZActuatorCmdBusInput;
Actuator_Ch0_Status_Model = HVAC_model_rtZActuatorCmdBusInput;
Actuator_Ch0_Command_Model = HVAC_model_rtZActuatorCmdBus;
Status_Sensor_Model = HVAC_model_rtZCmdBusStatus;
CCU_Errors_Model = HVAC_model_rtZCmdBusError;
PWM_Get = HVAC_model_rtZCmdBusPWMGet;
{
int32_t i;
@ -13174,6 +13395,38 @@ void HVAC_model_initialize(void)
/* Start for DataStoreMemory: '<Root>/Data Store Memory5' */
rtDW.t_now = 10U;
/* SystemInitialize for Merge: '<S8>/Merge' */
rtB.Merge_b = 0U;
/* SystemInitialize for MATLAB Function: '<S8>/Log Ambient Lv' */
rtDW.current_Ambient_Lv_not_empty = false;
/* SystemInitialize for IfAction SubSystem: '<S381>/Homing' */
/* SystemInitialize for Merge: '<S386>/Merge' */
rtB.Merge_h1 = 0;
/* End of SystemInitialize for SubSystem: '<S381>/Homing' */
/* SystemInitialize for Merge: '<S381>/Merge' */
rtB.Merge_l = 0;
/* SystemInitialize for IfAction SubSystem: '<S6>/Start Control Front' */
/* SystemInitialize for Merge: '<S448>/Merge' */
rtB.Merge_h = 0;
/* End of SystemInitialize for SubSystem: '<S6>/Start Control Front' */
/* SystemInitialize for IfAction SubSystem: '<S6>/Start Control Rear' */
/* SystemInitialize for Merge: '<S449>/Merge' */
rtB.Merge_c = 0;
/* End of SystemInitialize for SubSystem: '<S6>/Start Control Rear' */
/* SystemInitialize for Test Sequence: '<Root>/Test Sequence' */
rtDW.temporalCounter_i1 = 0U;
rtDW.is_active_c371_HVAC_model = 0U;
rtDW.is_c371_HVAC_model = IN_NO_ACTIVE_CHILD;
}
}

View File

@ -3,9 +3,9 @@
*
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.784
* Model version : 1.786
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Apr 14 14:42:16 2026
* C/C++ source code generated on : Tue Apr 14 17:41:03 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -25,6 +25,8 @@
#endif /* HVAC_model_COMMON_INCLUDES_ */
#include "HVAC_model_types.h"
#include <stddef.h>
#include <string.h>
/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
@ -286,12 +288,23 @@ typedef struct {
*/
uint16_t ACT1_Value[9];
/* Pooled Parameter (Expression: [1 2 3 4 5 6 7 8 9])
* Referenced by:
* '<S426>/Constant1'
* '<S429>/Constant3'
* '<S432>/Constant3'
* '<S435>/Constant3'
* '<S438>/Constant1'
* '<S441>/Constant1'
*/
uint8_t pooled51[9];
/* Pooled Parameter (Expression: )
* Referenced by:
* '<S9>/Âûáîð ðåæèìà Left'
* '<S9>/Âûáîð ðåæèìà Right'
*/
uint8_t pooled59[6];
uint8_t pooled60[6];
} ConstP;
/* External outputs (root outports fed by signals with default storage) */
@ -314,6 +327,13 @@ extern DW rtDW;
/* External outputs (root outports fed by signals with default storage) */
extern ExtY rtY;
/* External data declarations for dependent source files */
extern const CmdBusError HVAC_model_rtZCmdBusError;/* CmdBusError ground */
extern const ActuatorCmdBusInput HVAC_model_rtZActuatorCmdBusInput;/* ActuatorCmdBusInput ground */
extern const CmdBusStatus HVAC_model_rtZCmdBusStatus;/* CmdBusStatus ground */
extern const ActuatorCmdBus HVAC_model_rtZActuatorCmdBus;/* ActuatorCmdBus ground */
extern const CmdBusPWMGet HVAC_model_rtZCmdBusPWMGet;/* CmdBusPWMGet ground */
/* Constant parameters (default storage) */
extern const ConstP rtConstP;
@ -767,10 +787,6 @@ extern RT_MODEL *const rtM;
* Block '<S287>/Display1' : Unused code path elimination
* Block '<S374>/Display' : Unused code path elimination
* Block '<S374>/Display1' : Unused code path elimination
* Block '<S397>/Display' : Unused code path elimination
* Block '<S397>/Display1' : Unused code path elimination
* Block '<S397>/Display2' : Unused code path elimination
* Block '<S397>/Display3' : Unused code path elimination
* Block '<S381>/Display' : Unused code path elimination
* Block '<S381>/Display1' : Unused code path elimination
* Block '<S381>/Display2' : Unused code path elimination
@ -798,7 +814,6 @@ extern RT_MODEL *const rtM;
* Block '<S419>/Display' : Unused code path elimination
* Block '<S388>/Display' : Unused code path elimination
* Block '<S388>/Display3' : Unused code path elimination
* Block '<S429>/Display' : Unused code path elimination
* Block '<S391>/Display' : Unused code path elimination
* Block '<S6>/Display' : Unused code path elimination
* Block '<S6>/Display1' : Unused code path elimination

View File

@ -3,9 +3,9 @@
*
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.784
* Model version : 1.786
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Apr 14 14:42:16 2026
* C/C++ source code generated on : Tue Apr 14 17:41:03 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -598,6 +598,17 @@ const ConstP rtConstP = {
*/
{ 1050U, 1250U, 1195U, 1315U, 1300U, 1485U, 1440U, 1195U, 1175U },
/* Pooled Parameter (Expression: [1 2 3 4 5 6 7 8 9])
* Referenced by:
* '<S426>/Constant1'
* '<S429>/Constant3'
* '<S432>/Constant3'
* '<S435>/Constant3'
* '<S438>/Constant1'
* '<S441>/Constant1'
*/
{ 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U },
/* Pooled Parameter (Expression: )
* Referenced by:
* '<S9>/Âûáîð ðåæèìà Left'

View File

@ -3,9 +3,9 @@
*
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.784
* Model version : 1.786
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Apr 14 14:42:16 2026
* C/C++ source code generated on : Tue Apr 14 17:41:03 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M

View File

@ -3,9 +3,9 @@
*
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.784
* Model version : 1.786
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Apr 14 14:42:16 2026
* C/C++ source code generated on : Tue Apr 14 17:41:03 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M

View File

@ -32,6 +32,14 @@ void ModelTask_Init(
static bool setActuatorBusy(tModelTask *env) {
if (env->triggerCommand1 == false){
int result = memcmp(&env->triggerActuatorCmdBus_1, &Actuator_Ch0_Command_Model, sizeof(ActuatorCmdBus));
if (result == 0) {
return false;
}
for (uint8_t i = 0; i < env->linTaskActuator1->LIN_ISSR_ALL; ++i) {
if (Actuator_Ch0_Command_Model.COM[i] != 0) {
@ -39,11 +47,18 @@ static bool setActuatorBusy(tModelTask *env) {
memcpy(&env->triggerActuatorCmdBus_1, &Actuator_Ch0_Command_Model, sizeof(ActuatorCmdBus));
#if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT1: TRIGGERED COMMAND (SET BUSY)")
#endif
Actuator_Ch0_Status_Model.Busy = 1;
return true;
}
}
}
/*
if (env->triggerCommand2 == false) {
for (uint8_t i = 0; i < env->linTaskActuator2->LIN_ISSR_ALL; ++i) {
if (Actuator_Ch1_Command_Model.COM[i] != 0) {
@ -51,10 +66,18 @@ static bool setActuatorBusy(tModelTask *env) {
memcpy(&env->triggerActuatorCmdBus_2, &Actuator_Ch1_Command_Model, sizeof(ActuatorCmdBus));
#if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT2: TRIGGERED COMMAND (SET BUSY)")
#endif
Actuator_Ch1_Status_Model.Busy = 1;
return true;
}
}
}
if (env->triggerCommand3 == false) {
for (uint8_t i = 0; i < env->linTaskActuator3->LIN_ISSR_ALL; ++i) {
if (Actuator_Ch2_Command_Model.COM[i] != 0) {
@ -63,11 +86,16 @@ static bool setActuatorBusy(tModelTask *env) {
memcpy(&env->triggerActuatorCmdBus_3, &Actuator_Ch2_Command_Model, sizeof(ActuatorCmdBus));
#if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "ACT3: TRIGGERED COMMAND (SET BUSY)")
#endif
Actuator_Ch2_Status_Model.Busy = 1;
return true;
}
}
}
*/
return false;
}
@ -78,8 +106,8 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
rtDW.t_now = SystemGetMs();
HVAC_model_step();
setActuatorBusy(env);
env->isUpdate = true;
setActuatorBusy(env);
osMutexRelease(env->access);
}
SystemDelayMs(100);