Обновление

This commit is contained in:
cfif 2026-02-13 15:59:41 +03:00
parent 88c29b6ea0
commit fc8c8736ca
8 changed files with 1946 additions and 2032 deletions

1665
HVAC_model.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,11 +1,11 @@
/*
* File: Model_actuator.h
* File: HVAC_model.h
*
* Code generated for Simulink model 'Model_actuator'.
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.588
* Model version : 1.604
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Thu Feb 12 13:08:42 2026
* C/C++ source code generated on : Fri Feb 13 13:56:38 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -15,16 +15,16 @@
* Validation result: Not run
*/
#ifndef Model_actuator_h_
#define Model_actuator_h_
#ifndef Model_actuator_COMMON_INCLUDES_
#define Model_actuator_COMMON_INCLUDES_
#ifndef HVAC_model_h_
#define HVAC_model_h_
#ifndef HVAC_model_COMMON_INCLUDES_
#define HVAC_model_COMMON_INCLUDES_
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#endif /* Model_actuator_COMMON_INCLUDES_ */
#endif /* HVAC_model_COMMON_INCLUDES_ */
#include "Model_actuator_types.h"
#include "HVAC_model_types.h"
/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
@ -40,43 +40,32 @@
/* Block signals (default storage) */
typedef struct {
int8_t Merge; /* '<S139>/Merge' */
int8_t Merge; /* '<S73>/Merge' */
} B;
/* Block states (default storage) for system '<Root>' */
typedef struct {
ActuatorCmdBusInput controllerDataInput;/* '<S139>/Data Store Memory17' */
ActuatorCmdBusInput Actuator_Ch0_Status_Model;/* '<S73>/Data Store Memory17' */
CmdBusADCData ADC_Data_Model; /* '<S1>/Data Store Memory2' */
uint32_t t_start_delay_private_DSTATE;/* '<S47>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_p;/* '<S56>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_pk;/* '<S65>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_b;/* '<S74>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_g;/* '<S83>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_j;/* '<S92>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_c;/* '<S101>/t_start_delay_private ' */
uint32_t t_now; /* '<S1>/Data Store Memory5' */
int16_t Min_position_Ch0[9]; /* '<S139>/Data Store Memory12' */
int16_t Max_position_Ch0[9]; /* '<S139>/Data Store Memory13' */
uint16_t pos_loc[9]; /* '<S139>/Data Store Memory4' */
int8_t UnitDelay_DSTATE; /* '<S139>/Unit Delay' */
bool Cond_prev_private_DSTATE; /* '<S47>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_h; /* '<S56>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_i; /* '<S65>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_c; /* '<S74>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_hm; /* '<S83>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_b; /* '<S92>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_g; /* '<S101>/Cond_prev_private ' */
int8_t stepSig; /* '<S139>/Data Store Memory' */
uint8_t mode_loc[9]; /* '<S139>/Data Store Memory1' */
uint8_t Error_Connect_Ch0; /* '<S139>/Data Store Memory10' */
uint8_t Busy_Ch0; /* '<S139>/Data Store Memory14' */
uint8_t com_loc[9]; /* '<S139>/Data Store Memory2' */
uint8_t busAdr_loc[9]; /* '<S139>/Data Store Memory3' */
uint8_t stall_set_loc[9]; /* '<S139>/Data Store Memory5' */
uint8_t lnoise_set_loc[9]; /* '<S139>/Data Store Memory6' */
uint8_t autos_set_loc[9]; /* '<S139>/Data Store Memory7' */
uint8_t speed_set_loc[9]; /* '<S139>/Data Store Memory8' */
uint8_t coils_stop_set_loc[9]; /* '<S139>/Data Store Memory9' */
uint32_t t_start_delay_private_DSTATE;/* '<S14>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_p;/* '<S23>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_pk;/* '<S32>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_b;/* '<S41>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_g;/* '<S50>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_j;/* '<S59>/t_start_delay_private ' */
uint32_t t_start_delay_private_DSTATE_c;/* '<S68>/t_start_delay_private ' */
uint32_t t_now; /* '<Root>/Data Store Memory5' */
int16_t MinPositionCh0_private[9]; /* '<S73>/Data Store Memory12' */
int16_t MaxPositionCh0_private[9]; /* '<S73>/Data Store Memory13' */
bool Cond_prev_private_DSTATE; /* '<S14>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_h; /* '<S23>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_i; /* '<S32>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_c; /* '<S41>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_hm; /* '<S50>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_b; /* '<S59>/Cond_prev_private ' */
bool Cond_prev_private_DSTATE_g; /* '<S68>/Cond_prev_private ' */
int8_t stepSig_private; /* '<S73>/Data Store Memory' */
bool ErrorCalibrationCh0_private[9]; /* '<S73>/Data Store Memory1' */
} DW;
/* Constant parameters (default storage) */
@ -113,7 +102,14 @@ typedef struct {
* '<S8>/1-D Lookup Table'
* '<S9>/1-D Lookup Table'
*/
uint16_t pooled14[1024];
uint16_t pooled15[1024];
/* Pooled Parameter (Expression: [5900 6100 6050 6010 5990 5800 6015 0 8500])
* Referenced by:
* '<S97>/ACT1'
* '<S98>/ACT1'
*/
uint16_t pooled18[9];
} ConstP;
/* Real-time Model Data Structure */
@ -138,14 +134,14 @@ extern const ConstP rtConstP;
* states and exports their symbols.
*
*/
extern ActuatorCmdBus controllerData; /* '<S139>/Data Store Memory15' */
extern ActuatorCmdBus Actuator_Ch0_Command_Model;/* '<S73>/Data Store Memory15' */
extern CmdBusStatus Status_Sensor_Model;/* '<S1>/Data Store Memory' */
extern CmdBusError CCU_Errors_Model; /* '<S1>/Data Store Memory3' */
extern CmdBusError CCU_Errors_Model; /* '<Root>/Data Store Memory3' */
/* Model entry point functions */
extern void Model_actuator_initialize(void);
extern void Model_actuator_step(void);
extern void Model_actuator_terminate(void);
extern void HVAC_model_initialize(void);
extern void HVAC_model_step(void);
extern void HVAC_model_terminate(void);
/* Real-time Model object */
extern RT_MODEL *const rtM;
@ -153,10 +149,32 @@ extern RT_MODEL *const rtM;
/*-
* These blocks were eliminated from the model due to optimizations:
*
* Block '<S145>/Display1' : Unused code path elimination
* Block '<S145>/Display2' : Unused code path elimination
* Block '<S145>/Display3' : Unused code path elimination
* Block '<S149>/Display3' : Unused code path elimination
* Block '<S96>/ACT1' : Unused code path elimination
* Block '<S96>/ACT1T' : Unused code path elimination
* Block '<S99>/Compare' : Unused code path elimination
* Block '<S99>/Constant' : Unused code path elimination
* Block '<S100>/Compare' : Unused code path elimination
* Block '<S100>/Constant' : Unused code path elimination
* Block '<S96>/Constant' : Unused code path elimination
* Block '<S96>/Constant1' : Unused code path elimination
* Block '<S96>/Divide1' : Unused code path elimination
* Block '<S96>/Logical Operator' : Unused code path elimination
* Block '<S96>/Switch' : Unused code path elimination
* Block '<S97>/Constant' : Unused code path elimination
* Block '<S97>/Constant1' : Unused code path elimination
* Block '<S97>/Constant2' : Unused code path elimination
* Block '<S97>/step inc' : Unused code path elimination
* Block '<S107>/Compare' : Unused code path elimination
* Block '<S107>/Constant' : Unused code path elimination
* Block '<S108>/Compare' : Unused code path elimination
* Block '<S108>/Constant' : Unused code path elimination
* Block '<S98>/Constant' : Unused code path elimination
* Block '<S98>/Constant1' : Unused code path elimination
* Block '<S98>/Constant2' : Unused code path elimination
* Block '<S98>/Logical Operator1' : Unused code path elimination
* Block '<S98>/step inc' : Unused code path elimination
* Block '<S78>/Display3' : Unused code path elimination
* Block '<S110>/Data Type Conversion' : Eliminate redundant data type conversion
*/
/*-
@ -173,189 +191,139 @@ extern RT_MODEL *const rtM;
*
* Here is the system hierarchy for this model
*
* '<Root>' : 'Model_actuator'
* '<S1>' : 'Model_actuator/ACP'
* '<S2>' : 'Model_actuator/LIN'
* '<S3>' : 'Model_actuator/ACP/Ambient'
* '<S4>' : 'Model_actuator/ACP/EvapF'
* '<S5>' : 'Model_actuator/ACP/EvapR'
* '<S6>' : 'Model_actuator/ACP/IncarFL'
* '<S7>' : 'Model_actuator/ACP/IncarFR'
* '<S8>' : 'Model_actuator/ACP/IncarRL'
* '<S9>' : 'Model_actuator/ACP/IncarRR'
* '<S10>' : 'Model_actuator/ACP/PRINT BTS5120_2EKA_ShutoffValvePowerTXV1'
* '<S11>' : 'Model_actuator/ACP/PRINT BTS5120_2EKA_ShutoffValvePowerTXV2'
* '<S12>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ChannelPTCPower1'
* '<S13>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ChannelPTCPower2'
* '<S14>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_FrontIncarMotor'
* '<S15>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_RearIncarMotor'
* '<S16>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ReservePowerSupply'
* '<S17>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ShutOFFValveFront'
* '<S18>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ShutOFFValveRear'
* '<S19>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_TwoWayValve'
* '<S20>' : 'Model_actuator/ACP/PRINT IGN_ANS'
* '<S21>' : 'Model_actuator/ACP/PRINT Ignition'
* '<S22>' : 'Model_actuator/ACP/PRINT PBATT_CHECK'
* '<S23>' : 'Model_actuator/ACP/PRINT Pressure_DIAG'
* '<S24>' : 'Model_actuator/ACP/PRINT Reserve_Sensor_Duct_Temp_1'
* '<S25>' : 'Model_actuator/ACP/PRINT Reserve_Sensor_Duct_Temp_2'
* '<S26>' : 'Model_actuator/ACP/PRINT Sensor_AC_Pressure'
* '<S27>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct1'
* '<S28>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct2'
* '<S29>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct3'
* '<S30>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct4'
* '<S31>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct5'
* '<S32>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct6'
* '<S33>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct1'
* '<S34>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct2'
* '<S35>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct3'
* '<S36>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct4'
* '<S37>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct5'
* '<S38>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct6'
* '<S39>' : 'Model_actuator/ACP/PRINT VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB'
* '<S40>' : 'Model_actuator/ACP/PRINT VN7008AJ_DIAG_RearLINActuatorPowerDriverC'
* '<S41>' : 'Model_actuator/ACP/PRINT VN7008AJ_FrontLINActuatorPowerDriverAB'
* '<S42>' : 'Model_actuator/ACP/PRINT VN7008AJ_RearLINActuatorPowerDriverC'
* '<S43>' : 'Model_actuator/ACP/Ambient/CAN ERROR'
* '<S44>' : 'Model_actuator/ACP/Ambient/Compare To Constant'
* '<S45>' : 'Model_actuator/ACP/Ambient/Compare To Constant1'
* '<S46>' : 'Model_actuator/ACP/Ambient/Compare To Constant2'
* '<S47>' : 'Model_actuator/ACP/Ambient/RealTime_Timer'
* '<S48>' : 'Model_actuator/ACP/Ambient/Status_Sensor_Model'
* '<S49>' : 'Model_actuator/ACP/Ambient/UDS ERROR'
* '<S50>' : 'Model_actuator/ACP/Ambient/Write Ambient'
* '<S51>' : 'Model_actuator/ACP/Ambient/Write ERROR'
* '<S52>' : 'Model_actuator/ACP/EvapF/CAN ERROR'
* '<S53>' : 'Model_actuator/ACP/EvapF/Compare To Constant'
* '<S54>' : 'Model_actuator/ACP/EvapF/Compare To Constant1'
* '<S55>' : 'Model_actuator/ACP/EvapF/Compare To Constant2'
* '<S56>' : 'Model_actuator/ACP/EvapF/RealTime_Timer'
* '<S57>' : 'Model_actuator/ACP/EvapF/Status_Sensor_Model'
* '<S58>' : 'Model_actuator/ACP/EvapF/UDS ERROR'
* '<S59>' : 'Model_actuator/ACP/EvapF/Write ERROR'
* '<S60>' : 'Model_actuator/ACP/EvapF/Write Eva_F'
* '<S61>' : 'Model_actuator/ACP/EvapR/CAN ERROR'
* '<S62>' : 'Model_actuator/ACP/EvapR/Compare To Constant'
* '<S63>' : 'Model_actuator/ACP/EvapR/Compare To Constant1'
* '<S64>' : 'Model_actuator/ACP/EvapR/Compare To Constant2'
* '<S65>' : 'Model_actuator/ACP/EvapR/RealTime_Timer'
* '<S66>' : 'Model_actuator/ACP/EvapR/Status_Sensor_Model'
* '<S67>' : 'Model_actuator/ACP/EvapR/UDS ERROR'
* '<S68>' : 'Model_actuator/ACP/EvapR/Write ERROR'
* '<S69>' : 'Model_actuator/ACP/EvapR/Write Eva_F'
* '<S70>' : 'Model_actuator/ACP/IncarFL/CAN ERROR'
* '<S71>' : 'Model_actuator/ACP/IncarFL/Compare To Constant'
* '<S72>' : 'Model_actuator/ACP/IncarFL/Compare To Constant1'
* '<S73>' : 'Model_actuator/ACP/IncarFL/Compare To Constant2'
* '<S74>' : 'Model_actuator/ACP/IncarFL/RealTime_Timer'
* '<S75>' : 'Model_actuator/ACP/IncarFL/Status_Sensor_Model'
* '<S76>' : 'Model_actuator/ACP/IncarFL/UDS ERROR'
* '<S77>' : 'Model_actuator/ACP/IncarFL/Write ERROR'
* '<S78>' : 'Model_actuator/ACP/IncarFL/Write IncarFL'
* '<S79>' : 'Model_actuator/ACP/IncarFR/CAN ERROR'
* '<S80>' : 'Model_actuator/ACP/IncarFR/Compare To Constant'
* '<S81>' : 'Model_actuator/ACP/IncarFR/Compare To Constant1'
* '<S82>' : 'Model_actuator/ACP/IncarFR/Compare To Constant2'
* '<S83>' : 'Model_actuator/ACP/IncarFR/RealTime_Timer'
* '<S84>' : 'Model_actuator/ACP/IncarFR/Status_Sensor_Model'
* '<S85>' : 'Model_actuator/ACP/IncarFR/UDS ERROR'
* '<S86>' : 'Model_actuator/ACP/IncarFR/Write ERROR'
* '<S87>' : 'Model_actuator/ACP/IncarFR/Write IncarFR'
* '<S88>' : 'Model_actuator/ACP/IncarRL/CAN ERROR'
* '<S89>' : 'Model_actuator/ACP/IncarRL/Compare To Constant'
* '<S90>' : 'Model_actuator/ACP/IncarRL/Compare To Constant1'
* '<S91>' : 'Model_actuator/ACP/IncarRL/Compare To Constant2'
* '<S92>' : 'Model_actuator/ACP/IncarRL/RealTime_Timer'
* '<S93>' : 'Model_actuator/ACP/IncarRL/Status_Sensor_Model'
* '<S94>' : 'Model_actuator/ACP/IncarRL/UDS ERROR'
* '<S95>' : 'Model_actuator/ACP/IncarRL/Write ERROR'
* '<S96>' : 'Model_actuator/ACP/IncarRL/Write IncarRL'
* '<S97>' : 'Model_actuator/ACP/IncarRR/CAN ERROR'
* '<S98>' : 'Model_actuator/ACP/IncarRR/Compare To Constant'
* '<S99>' : 'Model_actuator/ACP/IncarRR/Compare To Constant1'
* '<S100>' : 'Model_actuator/ACP/IncarRR/Compare To Constant2'
* '<S101>' : 'Model_actuator/ACP/IncarRR/RealTime_Timer'
* '<S102>' : 'Model_actuator/ACP/IncarRR/Status_Sensor_Model'
* '<S103>' : 'Model_actuator/ACP/IncarRR/UDS ERROR'
* '<S104>' : 'Model_actuator/ACP/IncarRR/Write ERROR'
* '<S105>' : 'Model_actuator/ACP/IncarRR/Write IncarFL'
* '<S106>' : 'Model_actuator/ACP/PRINT BTS5120_2EKA_ShutoffValvePowerTXV1/Write'
* '<S107>' : 'Model_actuator/ACP/PRINT BTS5120_2EKA_ShutoffValvePowerTXV2/Write'
* '<S108>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ChannelPTCPower1/Write'
* '<S109>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ChannelPTCPower2/Write'
* '<S110>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_FrontIncarMotor/Write'
* '<S111>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_RearIncarMotor/Write'
* '<S112>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ReservePowerSupply/Write'
* '<S113>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ShutOFFValveFront/Write'
* '<S114>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_ShutOFFValveRear/Write'
* '<S115>' : 'Model_actuator/ACP/PRINT BTS5180_2EKA_TwoWayValve/Write'
* '<S116>' : 'Model_actuator/ACP/PRINT IGN_ANS/Write Ignition'
* '<S117>' : 'Model_actuator/ACP/PRINT Ignition/Write Ignition'
* '<S118>' : 'Model_actuator/ACP/PRINT PBATT_CHECK/Write'
* '<S119>' : 'Model_actuator/ACP/PRINT Pressure_DIAG/Write'
* '<S120>' : 'Model_actuator/ACP/PRINT Reserve_Sensor_Duct_Temp_1/Write Ignition'
* '<S121>' : 'Model_actuator/ACP/PRINT Reserve_Sensor_Duct_Temp_2/Write'
* '<S122>' : 'Model_actuator/ACP/PRINT Sensor_AC_Pressure/Write Ignition'
* '<S123>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct1/Write Ignition'
* '<S124>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct2/Write Ignition'
* '<S125>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct3/Write Ignition'
* '<S126>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct4/Write Ignition'
* '<S127>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct5/Write'
* '<S128>' : 'Model_actuator/ACP/PRINT Sensor_Front_Duct6/Write'
* '<S129>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct1/Write Ignition'
* '<S130>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct2/Write Ignition'
* '<S131>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct3/Write Ignition'
* '<S132>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct4/Write Ignition'
* '<S133>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct5/Write Ignition'
* '<S134>' : 'Model_actuator/ACP/PRINT Sensor_Rear_Duct6/Write Ignition'
* '<S135>' : 'Model_actuator/ACP/PRINT VN7008AJ_DIAG_FrontLINActuatorPowerDriverAB/Write'
* '<S136>' : 'Model_actuator/ACP/PRINT VN7008AJ_DIAG_RearLINActuatorPowerDriverC/Write'
* '<S137>' : 'Model_actuator/ACP/PRINT VN7008AJ_FrontLINActuatorPowerDriverAB/Write'
* '<S138>' : 'Model_actuator/ACP/PRINT VN7008AJ_RearLINActuatorPowerDriverC/Write'
* '<S139>' : 'Model_actuator/LIN/CHANEL0'
* '<S140>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max'
* '<S141>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min'
* '<S142>' : 'Model_actuator/LIN/CHANEL0/Homing'
* '<S143>' : 'Model_actuator/LIN/CHANEL0/Homing1'
* '<S144>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Max'
* '<S145>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Min'
* '<S146>' : 'Model_actuator/LIN/CHANEL0/Move to position Max'
* '<S147>' : 'Model_actuator/LIN/CHANEL0/Move to position Min'
* '<S148>' : 'Model_actuator/LIN/CHANEL0/Normal Mode'
* '<S149>' : 'Model_actuator/LIN/CHANEL0/Stop Mode'
* '<S150>' : 'Model_actuator/LIN/CHANEL0/Subsystem'
* '<S151>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max/If Action Subsystem2'
* '<S152>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max/If Action Subsystem3'
* '<S153>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max/MAX POSITION'
* '<S154>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max/MAX POSITION1'
* '<S155>' : 'Model_actuator/LIN/CHANEL0/Check Stall Max/If Action Subsystem2/MIN POSITION'
* '<S156>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min/If Action Subsystem2'
* '<S157>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min/If Action Subsystem3'
* '<S158>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min/MAX POSITION'
* '<S159>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min/MAX POSITION1'
* '<S160>' : 'Model_actuator/LIN/CHANEL0/Check Stall Min/If Action Subsystem2/MIN POSITION'
* '<S161>' : 'Model_actuator/LIN/CHANEL0/Homing/MAX POSITION'
* '<S162>' : 'Model_actuator/LIN/CHANEL0/Homing/MIN POSITION'
* '<S163>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem2'
* '<S164>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem3'
* '<S165>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem2/Initial CPOS Max'
* '<S166>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem'
* '<S167>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem3'
* '<S168>' : 'Model_actuator/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem/Initial CPOS Min'
* '<S169>' : 'Model_actuator/LIN/CHANEL0/Move to position Max/If Action Subsystem2'
* '<S170>' : 'Model_actuator/LIN/CHANEL0/Move to position Max/If Action Subsystem3'
* '<S171>' : 'Model_actuator/LIN/CHANEL0/Move to position Max/If Action Subsystem2/Move to position Max'
* '<S172>' : 'Model_actuator/LIN/CHANEL0/Move to position Min/If Action Subsystem2'
* '<S173>' : 'Model_actuator/LIN/CHANEL0/Move to position Min/If Action Subsystem3'
* '<S174>' : 'Model_actuator/LIN/CHANEL0/Move to position Min/If Action Subsystem2/Move to position Min'
* '<S175>' : 'Model_actuator/LIN/CHANEL0/Normal Mode/If Action Subsystem2'
* '<S176>' : 'Model_actuator/LIN/CHANEL0/Normal Mode/If Action Subsystem3'
* '<S177>' : 'Model_actuator/LIN/CHANEL0/Normal Mode/If Action Subsystem2/Normal Mode'
* '<S178>' : 'Model_actuator/LIN/CHANEL0/Stop Mode/If Action Subsystem2'
* '<S179>' : 'Model_actuator/LIN/CHANEL0/Stop Mode/If Action Subsystem3'
* '<S180>' : 'Model_actuator/LIN/CHANEL0/Stop Mode/If Action Subsystem2/stop mode'
* '<Root>' : 'HVAC_model'
* '<S1>' : 'HVAC_model/ACP'
* '<S2>' : 'HVAC_model/LIN'
* '<S3>' : 'HVAC_model/ACP/Ambient'
* '<S4>' : 'HVAC_model/ACP/EvapF'
* '<S5>' : 'HVAC_model/ACP/EvapR'
* '<S6>' : 'HVAC_model/ACP/IncarFL'
* '<S7>' : 'HVAC_model/ACP/IncarFR'
* '<S8>' : 'HVAC_model/ACP/IncarRL'
* '<S9>' : 'HVAC_model/ACP/IncarRR'
* '<S10>' : 'HVAC_model/ACP/Ambient/CAN ERROR'
* '<S11>' : 'HVAC_model/ACP/Ambient/Compare To Constant'
* '<S12>' : 'HVAC_model/ACP/Ambient/Compare To Constant1'
* '<S13>' : 'HVAC_model/ACP/Ambient/Compare To Constant2'
* '<S14>' : 'HVAC_model/ACP/Ambient/RealTime_Timer'
* '<S15>' : 'HVAC_model/ACP/Ambient/Status_Sensor_Model'
* '<S16>' : 'HVAC_model/ACP/Ambient/UDS ERROR'
* '<S17>' : 'HVAC_model/ACP/Ambient/Write Ambient'
* '<S18>' : 'HVAC_model/ACP/Ambient/Write ERROR'
* '<S19>' : 'HVAC_model/ACP/EvapF/CAN ERROR'
* '<S20>' : 'HVAC_model/ACP/EvapF/Compare To Constant'
* '<S21>' : 'HVAC_model/ACP/EvapF/Compare To Constant1'
* '<S22>' : 'HVAC_model/ACP/EvapF/Compare To Constant2'
* '<S23>' : 'HVAC_model/ACP/EvapF/RealTime_Timer'
* '<S24>' : 'HVAC_model/ACP/EvapF/Status_Sensor_Model'
* '<S25>' : 'HVAC_model/ACP/EvapF/UDS ERROR'
* '<S26>' : 'HVAC_model/ACP/EvapF/Write ERROR'
* '<S27>' : 'HVAC_model/ACP/EvapF/Write Eva_F'
* '<S28>' : 'HVAC_model/ACP/EvapR/CAN ERROR'
* '<S29>' : 'HVAC_model/ACP/EvapR/Compare To Constant'
* '<S30>' : 'HVAC_model/ACP/EvapR/Compare To Constant1'
* '<S31>' : 'HVAC_model/ACP/EvapR/Compare To Constant2'
* '<S32>' : 'HVAC_model/ACP/EvapR/RealTime_Timer'
* '<S33>' : 'HVAC_model/ACP/EvapR/Status_Sensor_Model'
* '<S34>' : 'HVAC_model/ACP/EvapR/UDS ERROR'
* '<S35>' : 'HVAC_model/ACP/EvapR/Write ERROR'
* '<S36>' : 'HVAC_model/ACP/EvapR/Write Eva_F'
* '<S37>' : 'HVAC_model/ACP/IncarFL/CAN ERROR'
* '<S38>' : 'HVAC_model/ACP/IncarFL/Compare To Constant'
* '<S39>' : 'HVAC_model/ACP/IncarFL/Compare To Constant1'
* '<S40>' : 'HVAC_model/ACP/IncarFL/Compare To Constant2'
* '<S41>' : 'HVAC_model/ACP/IncarFL/RealTime_Timer'
* '<S42>' : 'HVAC_model/ACP/IncarFL/Status_Sensor_Model'
* '<S43>' : 'HVAC_model/ACP/IncarFL/UDS ERROR'
* '<S44>' : 'HVAC_model/ACP/IncarFL/Write ERROR'
* '<S45>' : 'HVAC_model/ACP/IncarFL/Write IncarFL'
* '<S46>' : 'HVAC_model/ACP/IncarFR/CAN ERROR'
* '<S47>' : 'HVAC_model/ACP/IncarFR/Compare To Constant'
* '<S48>' : 'HVAC_model/ACP/IncarFR/Compare To Constant1'
* '<S49>' : 'HVAC_model/ACP/IncarFR/Compare To Constant2'
* '<S50>' : 'HVAC_model/ACP/IncarFR/RealTime_Timer'
* '<S51>' : 'HVAC_model/ACP/IncarFR/Status_Sensor_Model'
* '<S52>' : 'HVAC_model/ACP/IncarFR/UDS ERROR'
* '<S53>' : 'HVAC_model/ACP/IncarFR/Write ERROR'
* '<S54>' : 'HVAC_model/ACP/IncarFR/Write IncarFR'
* '<S55>' : 'HVAC_model/ACP/IncarRL/CAN ERROR'
* '<S56>' : 'HVAC_model/ACP/IncarRL/Compare To Constant'
* '<S57>' : 'HVAC_model/ACP/IncarRL/Compare To Constant1'
* '<S58>' : 'HVAC_model/ACP/IncarRL/Compare To Constant2'
* '<S59>' : 'HVAC_model/ACP/IncarRL/RealTime_Timer'
* '<S60>' : 'HVAC_model/ACP/IncarRL/Status_Sensor_Model'
* '<S61>' : 'HVAC_model/ACP/IncarRL/UDS ERROR'
* '<S62>' : 'HVAC_model/ACP/IncarRL/Write ERROR'
* '<S63>' : 'HVAC_model/ACP/IncarRL/Write IncarRL'
* '<S64>' : 'HVAC_model/ACP/IncarRR/CAN ERROR'
* '<S65>' : 'HVAC_model/ACP/IncarRR/Compare To Constant'
* '<S66>' : 'HVAC_model/ACP/IncarRR/Compare To Constant1'
* '<S67>' : 'HVAC_model/ACP/IncarRR/Compare To Constant2'
* '<S68>' : 'HVAC_model/ACP/IncarRR/RealTime_Timer'
* '<S69>' : 'HVAC_model/ACP/IncarRR/Status_Sensor_Model'
* '<S70>' : 'HVAC_model/ACP/IncarRR/UDS ERROR'
* '<S71>' : 'HVAC_model/ACP/IncarRR/Write ERROR'
* '<S72>' : 'HVAC_model/ACP/IncarRR/Write IncarFL'
* '<S73>' : 'HVAC_model/LIN/CHANEL0'
* '<S74>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max'
* '<S75>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min'
* '<S76>' : 'HVAC_model/LIN/CHANEL0/Homing'
* '<S77>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Max'
* '<S78>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Min'
* '<S79>' : 'HVAC_model/LIN/CHANEL0/Move to position Max'
* '<S80>' : 'HVAC_model/LIN/CHANEL0/Move to position Min'
* '<S81>' : 'HVAC_model/LIN/CHANEL0/Normal Mode'
* '<S82>' : 'HVAC_model/LIN/CHANEL0/Stop Mode'
* '<S83>' : 'HVAC_model/LIN/CHANEL0/Write Ignition'
* '<S84>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max/If Action Subsystem2'
* '<S85>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max/If Action Subsystem3'
* '<S86>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max/MAX POSITION'
* '<S87>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max/MAX POSITION1'
* '<S88>' : 'HVAC_model/LIN/CHANEL0/Check Stall Max/If Action Subsystem2/MIN POSITION'
* '<S89>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min/If Action Subsystem2'
* '<S90>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min/If Action Subsystem3'
* '<S91>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min/MAX POSITION'
* '<S92>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min/MAX POSITION1'
* '<S93>' : 'HVAC_model/LIN/CHANEL0/Check Stall Min/If Action Subsystem2/MIN POSITION'
* '<S94>' : 'HVAC_model/LIN/CHANEL0/Homing/MAX POSITION'
* '<S95>' : 'HVAC_model/LIN/CHANEL0/Homing/MIN POSITION'
* '<S96>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem'
* '<S97>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1'
* '<S98>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2'
* '<S99>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem/Compare To Constant'
* '<S100>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem/Compare To Constant1'
* '<S101>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1/CAN ERROR'
* '<S102>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1/Compare To Constant'
* '<S103>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1/MAX POSITION'
* '<S104>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1/UDS ERROR'
* '<S105>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem1/CAN ERROR/Write ERROR'
* '<S106>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/CAN ERROR'
* '<S107>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/Compare To Constant3'
* '<S108>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/Compare To Constant4'
* '<S109>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/MAX POSITION'
* '<S110>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/UDS ERROR'
* '<S111>' : 'HVAC_model/LIN/CHANEL0/Homing/Switch Case Action Subsystem2/CAN ERROR/Write ERROR'
* '<S112>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem2'
* '<S113>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem3'
* '<S114>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Max/If Action Subsystem2/Initial CPOS Max'
* '<S115>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem'
* '<S116>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem3'
* '<S117>' : 'HVAC_model/LIN/CHANEL0/Initial CPOS Min/If Action Subsystem/Initial CPOS Min'
* '<S118>' : 'HVAC_model/LIN/CHANEL0/Move to position Max/If Action Subsystem2'
* '<S119>' : 'HVAC_model/LIN/CHANEL0/Move to position Max/If Action Subsystem3'
* '<S120>' : 'HVAC_model/LIN/CHANEL0/Move to position Max/If Action Subsystem2/Move to position Max'
* '<S121>' : 'HVAC_model/LIN/CHANEL0/Move to position Min/If Action Subsystem2'
* '<S122>' : 'HVAC_model/LIN/CHANEL0/Move to position Min/If Action Subsystem3'
* '<S123>' : 'HVAC_model/LIN/CHANEL0/Move to position Min/If Action Subsystem2/Move to position Min'
* '<S124>' : 'HVAC_model/LIN/CHANEL0/Normal Mode/If Action Subsystem2'
* '<S125>' : 'HVAC_model/LIN/CHANEL0/Normal Mode/If Action Subsystem3'
* '<S126>' : 'HVAC_model/LIN/CHANEL0/Normal Mode/MAX POSITION1'
* '<S127>' : 'HVAC_model/LIN/CHANEL0/Normal Mode/MAX POSITION2'
* '<S128>' : 'HVAC_model/LIN/CHANEL0/Normal Mode/If Action Subsystem2/Normal Mode'
* '<S129>' : 'HVAC_model/LIN/CHANEL0/Stop Mode/If Action Subsystem2'
* '<S130>' : 'HVAC_model/LIN/CHANEL0/Stop Mode/If Action Subsystem3'
*/
#endif /* Model_actuator_h_ */
#endif /* HVAC_model_h_ */
/*
* File trailer for generated code.

View File

@ -1,11 +1,11 @@
/*
* File: Model_actuator_data.c
* File: HVAC_model_data.c
*
* Code generated for Simulink model 'Model_actuator'.
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.588
* Model version : 1.604
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Thu Feb 12 13:08:42 2026
* C/C++ source code generated on : Fri Feb 13 13:56:38 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -15,7 +15,7 @@
* Validation result: Not run
*/
#include "Model_actuator.h"
#include "HVAC_model.h"
/* Constant parameters (default storage) */
const ConstP rtConstP = {
@ -421,7 +421,14 @@ const ConstP rtConstP = {
3948U, 3952U, 3956U, 3960U, 3964U, 3968U, 3972U, 3976U, 3980U, 3984U, 3988U,
3992U, 3996U, 4000U, 4004U, 4008U, 4012U, 4016U, 4020U, 4024U, 4028U, 4032U,
4036U, 4040U, 4044U, 4048U, 4052U, 4056U, 4060U, 4064U, 4068U, 4072U, 4076U,
4080U, 4084U, 4088U, 4092U }
4080U, 4084U, 4088U, 4092U },
/* Pooled Parameter (Expression: [5900 6100 6050 6010 5990 5800 6015 0 8500])
* Referenced by:
* '<S97>/ACT1'
* '<S98>/ACT1'
*/
{ 5900U, 6100U, 6050U, 6010U, 5990U, 5800U, 6015U, 0U, 8500U }
};
/*

View File

@ -1,11 +1,11 @@
/*
* File: Model_actuator_private.h
* File: HVAC_model_private.h
*
* Code generated for Simulink model 'Model_actuator'.
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.588
* Model version : 1.604
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Thu Feb 12 13:08:42 2026
* C/C++ source code generated on : Fri Feb 13 13:56:38 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -15,21 +15,21 @@
* Validation result: Not run
*/
#ifndef Model_actuator_private_h_
#define Model_actuator_private_h_
#ifndef HVAC_model_private_h_
#define HVAC_model_private_h_
#include <stdbool.h>
#include <stdint.h>
#include "Model_actuator_types.h"
#include "Model_actuator.h"
#include "HVAC_model_types.h"
#include "HVAC_model.h"
extern int16_t look1_iu16tdIs16_binlcs(uint16_t u0, const uint16_t bp0[], const
double table[], uint32_t maxIndex);
extern void IfActionSubsystem3(int8_t rtu_stepIn, int8_t *rty_step, uint8_t
rtd_com_loc[9]);
extern void MAXPOSITION(const int16_t rtu_step[9], int16_t rty_y[9]);
extern void MAXPOSITION1(const int8_t rtu_step[9], int8_t rty_y[9]);
extern void IfActionSubsystem3(int8_t rtu_stepIn, int8_t *rty_step);
extern void MAXPOSITION(int16_t rty_y[9]);
extern void MAXPOSITION1(int8_t rty_y[9]);
extern void MAXPOSITION_l(const double rtu_step[9], double rty_y[9]);
#endif /* Model_actuator_private_h_ */
#endif /* HVAC_model_private_h_ */
/*
* File trailer for generated code.

View File

@ -1,11 +1,11 @@
/*
* File: Model_actuator_types.h
* File: HVAC_model_types.h
*
* Code generated for Simulink model 'Model_actuator'.
* Code generated for Simulink model 'HVAC_model'.
*
* Model version : 1.588
* Model version : 1.604
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Thu Feb 12 13:08:42 2026
* C/C++ source code generated on : Fri Feb 13 13:56:38 2026
*
* Target selection: ert.tlc
* Embedded hardware selection: ARM Compatible->ARM Cortex-M
@ -15,9 +15,40 @@
* Validation result: Not run
*/
#ifndef Model_actuator_types_h_
#define Model_actuator_types_h_
#ifndef HVAC_model_types_h_
#define HVAC_model_types_h_
#include <stdint.h>
#ifndef DEFINED_TYPEDEF_FOR_CmdBusError_
#define DEFINED_TYPEDEF_FOR_CmdBusError_
typedef struct {
uint8_t CCU_IncarTempErrF_Stat;
uint8_t CCU_IncarTempErrR_Stat;
uint8_t CCU_DuctTempSenErrF_Stat;
uint8_t CCU_DuctTempSenErrR_Stat;
uint8_t CCU_EvaTempSenErrF_Stat;
uint8_t CCU_EvaTempSenErrR_Stat;
uint8_t CCU_DeflectorSwErrF_Stat;
uint8_t CCU_DeflectorSwErrR_Stat;
uint8_t CCU_PressSenErr_Stat;
uint8_t CCU_AmbienTemptSenErr_Stat;
uint8_t CCU_SealingValveErr_Stat;
uint8_t CCU_ETXVerr_Stat;
uint8_t CCU_HVACfanOrTXVerrF_Stat;
uint8_t CCU_HVACfanOrTXVerrR_Stat;
uint8_t CCU_ActuatorErrF_Stat;
uint8_t CCU_ActuatorErrR_Stat;
uint8_t CCU_UltravioletErr_Stat;
uint8_t CCU_VinRecordErr_Stat;
uint8_t CCU_AirQualSenErr_Stat;
uint8_t CCU_CommErr_Stat;
uint8_t CCU_TWVerr_Stat;
uint8_t CCU_IonizationErr_Stat;
uint8_t CCU_AromaErr_Stat;
} CmdBusError;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusStatus_
#define DEFINED_TYPEDEF_FOR_CmdBusStatus_
@ -93,37 +124,6 @@ typedef struct {
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusError_
#define DEFINED_TYPEDEF_FOR_CmdBusError_
typedef struct {
uint8_t CCU_IncarTempErrF_Stat;
uint8_t CCU_IncarTempErrR_Stat;
uint8_t CCU_DuctTempSenErrF_Stat;
uint8_t CCU_DuctTempSenErrR_Stat;
uint8_t CCU_EvaTempSenErrF_Stat;
uint8_t CCU_EvaTempSenErrR_Stat;
uint8_t CCU_DeflectorSwErrF_Stat;
uint8_t CCU_DeflectorSwErrR_Stat;
uint8_t CCU_PressSenErr_Stat;
uint8_t CCU_AmbienTemptSenErr_Stat;
uint8_t CCU_SealingValveErr_Stat;
uint8_t CCU_ETXVerr_Stat;
uint8_t CCU_HVACfanOrTXVerrF_Stat;
uint8_t CCU_HVACfanOrTXVerrR_Stat;
uint8_t CCU_ActuatorErrF_Stat;
uint8_t CCU_ActuatorErrR_Stat;
uint8_t CCU_UltravioletErr_Stat;
uint8_t CCU_VinRecordErr_Stat;
uint8_t CCU_AirQualSenErr_Stat;
uint8_t CCU_CommErr_Stat;
uint8_t CCU_TWVerr_Stat;
uint8_t CCU_IonizationErr_Stat;
uint8_t CCU_AromaErr_Stat;
} CmdBusError;
#endif
#ifndef DEFINED_TYPEDEF_FOR_ActuatorCmdBus_
#define DEFINED_TYPEDEF_FOR_ActuatorCmdBus_
@ -154,6 +154,8 @@ typedef struct {
int8_t in_Act_Err4_Permanent_Electrical_Ch0[9];
int8_t in_Act_Stall_Slave_Ch0[9];
int8_t in_Act_Reset_Ch0[9];
uint8_t Busy_Ch0;
uint8_t Error_Connect_Ch0;
} ActuatorCmdBusInput;
#endif
@ -161,7 +163,7 @@ typedef struct {
/* Forward declaration for rtModel */
typedef struct tag_RTM RT_MODEL;
#endif /* Model_actuator_types_h_ */
#endif /* HVAC_model_types_h_ */
/*
* File trailer for generated code.

View File

@ -4,7 +4,8 @@
#include "Model_Task.h"
#include <SystemDelayInterface.h>
#include <CmsisRtosThreadUtils.h>
#include "Model_actuator.h"
#include "HVAC_model.h"
#include "memory.h"
#define LOG_SIGN "Model"
#define LOGGER env->logger
@ -13,7 +14,7 @@ void ModelTask_Init(
tModelTask *env,
tLoggerInterface *logger
) {
Model_actuator_initialize();
HVAC_model_initialize();
env->access = osMutexNew(NULL);
env->logger = logger;
InitThreadAtrStatic(&env->thread.attr, "ModelTask", env->thread.controlBlock, env->thread.stack, osPriorityNormal);
@ -23,17 +24,15 @@ void ModelTask_Init(
static bool setActuatorBusy(tModelTask *env) {
for (uint8_t i = 0; i < 9; ++i) {
if (controllerData.COM[i] != 0) {
if (Actuator_Ch0_Command_Model.COM[i] != 0) {
#if (LOG_LIN_ACTUATOR == 1)
LoggerInfoStatic(LOGGER, LOG_SIGN, "DETECT COMMAND")
#endif
env->triggerCommand = true;
for (uint8_t j = 0; j < 9; ++j) {
env->numCommand[j] = controllerData.COM[j];
}
memcpy(&env->triggerActuatorCmdBus_1, &Actuator_Ch0_Command_Model, sizeof(ActuatorCmdBus));
rtDW.Busy_Ch0 = 1;
rtDW.Actuator_Ch0_Status_Model.Busy_Ch0 = 1;
return true;
}
}
@ -47,12 +46,12 @@ static _Noreturn void ModelTask_Thread(tModelTask *env) {
//LoggerFormatInfo(LOGGER, LOG_SIGN, "in_Busy_Ch0 = %d in_Act_Stall_Slave_Ch0 = %d", rtU.in_Busy_Ch0, rtU.in_Act_Stall_Slave_Ch0[7])
Model_actuator_step();
HVAC_model_step();
setActuatorBusy(env);
env->isUpdate = true;
osMutexRelease(env->access);
}
SystemDelayMs(250);
SystemDelayMs(100);
}
}

View File

@ -8,6 +8,7 @@
#include <cmsis_os.h>
#include "stdbool.h"
#include "LoggerInterface.h"
#include "HVAC_model.h"
typedef struct {
@ -16,7 +17,10 @@ typedef struct {
tLoggerInterface *logger;
bool triggerCommand;
uint8_t numCommand[9];
ActuatorCmdBus triggerActuatorCmdBus_1;
ActuatorCmdBus triggerActuatorCmdBus_2;
ActuatorCmdBus triggerActuatorCmdBus_3;
//uint8_t numCommand[9];
bool isUpdate;

File diff suppressed because it is too large Load Diff