Обновление

This commit is contained in:
cfif 2026-04-03 19:02:25 +03:00
parent e44d523c90
commit 94e0bb8337
5 changed files with 15411 additions and 5084 deletions

13379
HVAC_model.c Executable file → Normal file

File diff suppressed because it is too large Load Diff

2141
HVAC_model.h Executable file → Normal file

File diff suppressed because one or more lines are too long

119
HVAC_model_data.c Executable file → Normal file

File diff suppressed because one or more lines are too long

222
HVAC_model_private.h Executable file → Normal file
View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.625 * Model version : 1.760
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Feb 17 18:15:10 2026 * C/C++ source code generated on : Fri Apr 3 18:15:49 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,22 +19,216 @@
#define HVAC_model_private_h_ #define HVAC_model_private_h_
#include <stdbool.h> #include <stdbool.h>
#include <stdint.h> #include <stdint.h>
#include "HVAC_model_types.h"
#include "HVAC_model.h" #include "HVAC_model.h"
#include "HVAC_model_types.h"
/* Includes for objects with custom storage classes */
#include "Rs_Cal_Base.h"
#ifndef UCHAR_MAX
#include <limits.h>
#endif
#if ( UCHAR_MAX != (0xFFU) ) || ( SCHAR_MAX != (0x7F) )
#error Code was generated for compiler with different sized uchar/char. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif
#if ( USHRT_MAX != (0xFFFFU) ) || ( SHRT_MAX != (0x7FFF) )
#error Code was generated for compiler with different sized ushort/short. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif
#if ( UINT_MAX != (0xFFFFFFFFU) ) || ( INT_MAX != (0x7FFFFFFF) )
#error Code was generated for compiler with different sized uint/int. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif
#if ( ULONG_MAX != (0xFFFFFFFFU) ) || ( LONG_MAX != (0x7FFFFFFF) )
#error Code was generated for compiler with different sized ulong/long. \
Consider adjusting Test hardware word size settings on the \
Hardware Implementation pane to match your compiler word sizes as \
defined in limits.h of the compiler. Alternatively, you can \
select the Test hardware is the same as production hardware option and \
select the Enable portable word sizes option on the Code Generation > \
Verification pane for ERT based targets, which will disable the \
preprocessor word size checks.
#endif
/* Skipping ulong_long/long_long check: insufficient preprocessor integer range. */
extern double rt_roundd(double u);
extern uint16_t look1_iu16bs16lu64n32_binlcse(uint16_t u0, const int16_t bp0[],
const uint16_t table[], uint32_t maxIndex);
extern uint32_t binsearch_u32s16(int16_t u, const int16_t bp[], uint32_t
startIndex, uint32_t maxIndex);
extern uint8_t look2_iu8bu8s16lu64n32_binlcse(uint8_t u0, uint8_t u1, const
uint8_t bp0[], const int16_t bp1[], const uint8_t table[], const uint32_t
maxIndex[], uint32_t stride);
extern int16_t look1_iu16tdIs16_binlcs(uint16_t u0, const uint16_t bp0[], const extern int16_t look1_iu16tdIs16_binlcs(uint16_t u0, const uint16_t bp0[], const
double table[], uint32_t maxIndex); double table[], uint32_t maxIndex);
extern void IfActionSubsystem3(int8_t rtu_stepIn, int8_t *rty_step); extern uint32_t plook_u32s16_bincka(int16_t u, const int16_t bp[], uint32_t
extern void InitialCPOSMin(double rtu_LOGGER, int8_t rtu_step, int8_t *rty_y); maxIndex);
extern void NormalMode(double rtu_LOGGER, int8_t rtu_step, int8_t *rty_y); extern void get_tg_FLL_for_LVL(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp,
extern void MovetopositionMin(double rtu_LOGGER, int8_t rtu_step, int8_t *rty_y); int16_t *rty_vals);
extern void MINPOSITION(int16_t rty_y[9], double rtu_LOGGER); extern void get_tg_FLL_for_LVL_j(uint8_t rtu_ambient_Lvl, uint8_t rtu_set_tmp,
extern void InitialCPOSMax(double rtu_LOGGER, int8_t rtu_step, int8_t *rty_y); int16_t *rty_vals);
extern void MovetopositionMax(int8_t rtu_step, double rtu_LOGGER, int8_t *rty_y); extern void g_assFLOW_BI_AMB_TGT_n(uint8_t rtu_LVL, int16_t
extern void MINPOSITION_g(int16_t rty_y[9], double rtu_LOGGER); *rty_c_g_assFLOW_BI_AMB_TGT);
extern void WriteIgnition(double rtu_LOGGER, int8_t rtu_step); extern void Bilevel(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9],
extern void IfActionSubsystem3_m(int8_t rtu_stepIn, int8_t *rty_step); uint8_t rtu_setTempFL, uint8_t rtu_setTempFR);
extern void IfActionSubsystem3_n(int8_t rtu_stepIn, int8_t *rty_step); extern void g_assFLOW_BI_AMB_TGT_e(uint8_t rtu_LVL, int16_t
*rty_c_g_assFLOW_BI2_AMB_TGT);
extern void Bilevel2(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9],
uint8_t rtu_setTempFL, uint8_t rtu_setTempFR);
extern void g_aucFLOW_AF_FOOT_VALVE_MAX_e(uint8_t rtu_LVL, uint8_t
*rty_c_g_aucFLOW_AF_FOOT_VALVE_MAX);
extern void g_assFLOW_AF_AMB_TGT_g(uint8_t rtu_LVL, int16_t
*rty_c_g_assFLOW_AF_AMB_TGT);
extern void Afoot(int16_t rtu_Amb_Fb, uint8_t rtu_LVL, uint16_t rty_Out1[9],
uint8_t rtu_setTempFL, uint8_t rtu_setTempFR);
extern void g_aucFLOW_AFSM_FOOT_VALVE_MAX_f(uint8_t rtu_LVL, uint8_t
*rty_c_g_aucFLOW_AFSM_FOOT_VALVE_MAX);
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);
extern void left(uint8_t rtu_idx, uint16_t rty_vals[9]);
extern void StopMode(int8_t rtu_stepIn, int8_t *rty_step, const uint8_t
*rtd_Busy_private_a, uint8_t rtd_COM_private_h[9], const
uint8_t *rtd_Error_Connect_private_f, uint8_t
rtd_MODE_private_a[9]);
extern void g_assSTART_ENTER_INCAR_a(uint8_t rtu_LVL, int16_t *rty_out);
extern void Level3(int8_t *rty_step1, const uint16_t *rtd_ECT, const uint8_t
*rtd_LEVEL, const double *rtd_MODE_DRIVER);
extern void Level0(int8_t *rty_step);
extern void incarfilterdown(uint8_t rtu_LVL, uint8_t *rty_out);
extern void incarfilterup(uint8_t rtu_LVL, uint8_t *rty_out);
extern void g_assSTART_COOLANT_STEP0_TO_1_k(uint8_t rtu_LVL, int16_t *rty_out);
extern void uwayvalvestatus(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Dtg_FrontLower_X(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Dtg_FrontUpper_X(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Incartempgotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out);
extern void blowerFR(uint8_t rtu_LVL, uint16_t *rty_out);
extern void modeFRstep1(uint8_t rtu_LVL, uint8_t *rty_out);
extern void windowheating(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Timegotofromstep1tostep2(uint8_t rtu_LVL, int16_t *rty_out);
extern void ECTminmax(uint8_t rtu_LVL, int16_t rty_out[2]);
extern void blowerminmax(uint8_t rtu_LVL, uint16_t rty_out[2]);
extern void Level4(int8_t *rty_step, uint16_t *rtd_Blower_FL, uint16_t
*rtd_Blower_FR, uint8_t *rtd_Dtg_FLL, uint8_t *rtd_Dtg_FLR,
uint8_t *rtd_Dtg_FUL, uint8_t *rtd_Dtg_FUR, const uint16_t
*rtd_ECT, uint8_t *rtd_El_window_heating, const int16_t
*rtd_Incar_FL, uint8_t *rtd_Incar_filter_down_value, uint8_t *
rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, uint8_t *
rtd_Mode_FL, uint8_t *rtd_Mode_FR, double *rtd_Recirculation,
uint8_t *rtd_Valve_3_way, const int8_t
*rtd_step_start_controle_front, const uint32_t *rtd_t_now,
DW_Level4 *localDW);
extern void uwayvalvestatus_m(uint8_t rtu_LVL, uint8_t *rty_out);
extern void timeforstep(uint8_t rtu_LVL, uint8_t *rty_out);
extern void timeforstep_a(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Timegotofromstep2tostep3(uint8_t rtu_LVL, int16_t *rty_out);
extern void blowerstep(uint8_t rtu_LVL, uint16_t *rty_out);
extern void blowertimeforstep(uint8_t rtu_LVL, uint16_t *rty_out);
extern void step_l(uint8_t rtu_LVL, uint8_t *rty_out);
extern void timeforstep_f(uint8_t rtu_LVL, uint8_t *rty_out);
extern void windowheating_k(uint8_t rtu_LVL, uint8_t *rty_out);
extern void autodemistautodefog(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Level3_d(int8_t *rty_step, uint8_t *rtd_Autodefog, uint16_t
*rtd_Blower_FL, uint16_t *rtd_Blower_FR, const uint16_t
*rtd_Blower_logic_FL, uint8_t *rtd_Dtg_FLL, uint8_t
*rtd_Dtg_FLR, uint8_t *rtd_Dtg_FUL, uint8_t *rtd_Dtg_FUR,
const uint8_t *rtd_Dtg_logic_FLL, const uint8_t
*rtd_Dtg_logic_FUL, uint8_t *rtd_El_window_heating, const
bool *rtd_HI_logic_on, uint8_t *rtd_Incar_filter_down_value,
uint8_t *rtd_Incar_filter_up_value, const uint8_t
*rtd_LEVEL, uint8_t *rtd_Mode_FL, uint8_t *rtd_Mode_FR,
const uint8_t *rtd_Mode_logic_FL, double *rtd_Recirculation,
uint8_t *rtd_Valve_3_way, const int8_t
*rtd_step_start_controle_front, const uint32_t *rtd_t_now,
DW_Level3_h *localDW);
extern void Step3(int8_t *rty_step, int8_t *rtd_start_control_finished_front);
extern void g_ausSTART_ENTER_SETTEMP_p(uint8_t rtu_LVL, int16_t *rty_out);
extern void g_assSTART_ENTER_INCAR_l(uint8_t rtu_LVL, int16_t *rty_out);
extern void g_assSTART_ENTER_COOLANT_i(uint8_t rtu_LVL, int16_t *rty_out);
extern void Level4_i(int8_t *rty_step1, const uint16_t *rtd_ECT, const int16_t
*rtd_Incar_RR, const uint8_t *rtd_LEVEL, const double
*rtd_MODE_RR_passenger);
extern void incarfilterdown_j(uint8_t rtu_LVL, uint8_t *rty_out);
extern void incarfilterup_d(uint8_t rtu_LVL, uint8_t *rty_out);
extern void g_assSTART_COOLANT_STEP0_TO_1_g(uint8_t rtu_LVL, int16_t *rty_out);
extern void Level4_h(int8_t *rty_step1, uint16_t *rtd_Blower_RL, uint16_t
*rtd_Blower_RR, uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR,
const uint16_t *rtd_ECT, uint8_t
*rtd_Incar_filter_down_value, uint8_t
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL,
uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, uint8_t
*rtd_Valve_2_way, uint8_t *rtd_Valve_3_way);
extern void uwayvalve(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Dtg_rear(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Incartempgotofromstep1tostep2_b(uint8_t rtu_LVL, int16_t *rty_out);
extern void Timegotofromstep1tostep2_h(uint8_t rtu_LVL, int16_t *rty_out);
extern void moderearstep1(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Level0_h(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t
*rtd_Blower_RR, uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR,
const int16_t *rtd_Incar_RR, uint8_t
*rtd_Incar_filter_down_value, uint8_t
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL,
uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, double
*rtd_Recirculation, uint8_t *rtd_Valve_2_way, const int8_t *
rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
DW_Level0_p *localDW);
extern void blowerstartfinish(uint8_t rtu_LVL, uint16_t rty_out[2]);
extern void ECTminmax_h(uint8_t rtu_LVL, int16_t rty_out[2]);
extern void Level4_d(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t
*rtd_Blower_RR, uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR,
const uint16_t *rtd_ECT, const int16_t *rtd_Incar_RR,
uint8_t *rtd_Incar_filter_down_value, uint8_t
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL,
uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR, double
*rtd_Recirculation, uint8_t *rtd_Valve_2_way, const int8_t *
rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
DW_Level4_m *localDW);
extern void timeforstep_fu(uint8_t rtu_LVL, uint8_t *rty_out);
extern void blowerstep_j(uint8_t rtu_LVL, uint16_t *rty_out);
extern void blowertimeforstep_a(uint8_t rtu_LVL, uint16_t *rty_out);
extern void step_c(uint8_t rtu_LVL, uint8_t *rty_out);
extern void timeforstep_h(uint8_t rtu_LVL, uint8_t *rty_out);
extern void Level0_j(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t
*rtd_Blower_RR, const uint16_t *rtd_Blower_logic_RR,
uint8_t *rtd_Dtg_RL, uint8_t *rtd_Dtg_RR, const uint8_t
*rtd_Dtg_logic_RR, uint8_t *rtd_Incar_filter_down_value,
uint8_t *rtd_Incar_filter_up_value, const uint8_t
*rtd_LEVEL, uint8_t *rtd_Mode_RL, uint8_t *rtd_Mode_RR,
const uint8_t *rtd_Mode_logic_RR, double *rtd_Recirculation,
uint8_t *rtd_Valve_2_way, const int8_t
*rtd_step_start_controle_rear, const uint32_t *rtd_t_now,
DW_Level0_n *localDW);
extern void Level2(int8_t *rty_step, uint16_t *rtd_Blower_RL, uint16_t
*rtd_Blower_RR, const uint16_t *rtd_Blower_logic_RR, uint8_t *
rtd_Dtg_RL, uint8_t *rtd_Dtg_RR, const uint8_t
*rtd_Dtg_logic_RR, const bool *rtd_HI_logic_on, uint8_t
*rtd_Incar_filter_down_value, uint8_t
*rtd_Incar_filter_up_value, const uint8_t *rtd_LEVEL, uint8_t
*rtd_Mode_RL, uint8_t *rtd_Mode_RR, const uint8_t
*rtd_Mode_logic_RR, double *rtd_Recirculation, uint8_t
*rtd_Valve_2_way, const int8_t *rtd_step_start_controle_rear,
const uint32_t *rtd_t_now, DW_Level2 *localDW);
#endif /* HVAC_model_private_h_ */ #endif /* HVAC_model_private_h_ */

138
HVAC_model_types.h Executable file → Normal file
View File

@ -3,9 +3,9 @@
* *
* Code generated for Simulink model 'HVAC_model'. * Code generated for Simulink model 'HVAC_model'.
* *
* Model version : 1.625 * Model version : 1.760
* Simulink Coder version : 24.1 (R2024a) 19-Nov-2023 * Simulink Coder version : 24.1 (R2024a) 19-Nov-2023
* C/C++ source code generated on : Tue Feb 17 18:15:10 2026 * C/C++ source code generated on : Fri Apr 3 18:15:49 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
@ -49,34 +49,6 @@ typedef struct {
#endif #endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusStatus_
#define DEFINED_TYPEDEF_FOR_CmdBusStatus_
typedef struct {
int8_t Battery;
int16_t AMB;
int16_t Incar_FL;
int16_t Incar_FR;
int16_t Incar_RL;
int16_t Incar_RR;
int16_t Eva_F;
int16_t Eva_R;
int16_t Pressure;
int16_t Duct_FL_Upper;
int16_t Duct_FL_Lower;
int16_t Duct_FR_Upper;
int16_t Duct_FR_Lower;
int16_t Duct_RL;
int16_t Duct_RR;
int16_t Duct_Side_FL;
int16_t Duct_Side_FR;
int16_t Duct_Side_RL;
int16_t Duct_Side_RR;
int8_t AQS;
} CmdBusStatus;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusADCData_ #ifndef DEFINED_TYPEDEF_FOR_CmdBusADCData_
#define DEFINED_TYPEDEF_FOR_CmdBusADCData_ #define DEFINED_TYPEDEF_FOR_CmdBusADCData_
@ -124,6 +96,112 @@ typedef struct {
#endif #endif
#ifndef DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU1_Bus_
#define DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU1_Bus_
typedef struct {
uint8_t FIU_TargetTempFL_Val_ro;
uint8_t FIU_FootTempCorFL_Req;
uint8_t FIU_TargetTempFR_Val_ro;
uint8_t FIU_FootTempCorFR_Req;
uint8_t FIU_CCmodeFL_Req;
uint8_t FIU_AirDirectionFL_Def_Req;
uint8_t FIU_AirDirectionFL_Face_Req;
uint8_t FIU_AirDirectionFL_Foot_Req;
uint8_t FIU_CCmodeFR_Req;
uint8_t FIU_AirDirectionFR_Def_Req;
uint8_t FIU_AirDirectionFR_Face_Req;
uint8_t FIU_AirDirectionFR_Foot_Req;
uint8_t FIU_BlowerSpeedFL_Req;
uint8_t FIU_BlowerSpeedFR_Req;
uint8_t FIU_CCautoModeFL_Req;
uint8_t FIU_CCautoModeFR_Req;
uint8_t FIU_Recirculation_Req;
uint8_t FIU_DeflectorSwDL_Req;
uint8_t FIU_DeflectorSwDR_Req;
uint8_t FIU_ACfrontOFF_Req;
uint8_t FIU_DeflectorSwFPL_Req;
uint8_t FIU_DeflectorSwFPR_Req;
uint8_t FIU_FrontZoneSync_Req;
} CmdCAN_FIU_CCU1_Bus;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU2_Bus_
#define DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU2_Bus_
typedef struct {
uint8_t FIU_TargetTempRL_Val_ro;
uint8_t FIU_FootTempCorRL_Req;
uint8_t FIU_TargetTempRR_Val_ro;
uint8_t FIU_FootTempCorRR_Req;
uint8_t FIU_CCmodeRL_Req;
uint8_t FIU_AirDirectionRL_Def_Req;
uint8_t FIU_AirDirectionRL_Face_Req;
uint8_t FIU_AirDirectionRL_Foot_Req;
uint8_t FIU_CCmodeRR_Req;
uint8_t FIU_AirDirectionRR_Def_Req;
uint8_t FIU_AirDirectionRR_Face_Req;
uint8_t FIU_AirDirectionRR_Foot_Req;
uint8_t FIU_BlowerSpeedRL_Req;
uint8_t FIU_BlowerSpeedRR_Req;
uint8_t FIU_CCautoModeRL_Req;
uint8_t FIU_CCautoModeRR_Req;
uint8_t FIU_DeflectorSwRLB_Req;
uint8_t FIU_DeflectorSwFCL_Req;
uint8_t FIU_ACrearOFF_Req;
uint8_t FIU_DeflectorSwFCR_Req;
uint8_t FIU_DeflectorSwRRB_Req;
uint8_t FIU_RearZoneSync_Req;
} CmdCAN_FIU_CCU2_Bus;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU3_Bus_
#define DEFINED_TYPEDEF_FOR_CmdCAN_FIU_CCU3_Bus_
typedef struct {
uint8_t FIU_Aroma_Req;
uint8_t FIU_AromaIntens_Req;
uint8_t FIU_Rest_Req;
uint8_t FIU_Ionization_Req;
uint8_t FIU_RLfootBlowDis_Req;
uint8_t FIU_RRfootBlowDis_Req;
uint8_t FIU_ACmax_Req;
uint8_t FIU_Defrost_Req;
uint8_t FIU_Ultraviolet_Req;
} CmdCAN_FIU_CCU3_Bus;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusStatus_
#define DEFINED_TYPEDEF_FOR_CmdBusStatus_
typedef struct {
int8_t Battery;
int16_t AMB;
int16_t Incar_FL;
int16_t Incar_FR;
int16_t Incar_RL;
int16_t Incar_RR;
int16_t Eva_F;
int16_t Eva_R;
int16_t Pressure;
int16_t Duct_FL_Upper;
int16_t Duct_FL_Lower;
int16_t Duct_FR_Upper;
int16_t Duct_FR_Lower;
int16_t Duct_RL;
int16_t Duct_RR;
int16_t Duct_Side_FL;
int16_t Duct_Side_FR;
int16_t Duct_Side_RL;
int16_t Duct_Side_RR;
int8_t AQS;
} CmdBusStatus;
#endif
#ifndef DEFINED_TYPEDEF_FOR_CmdBusADCDataKey_ #ifndef DEFINED_TYPEDEF_FOR_CmdBusADCDataKey_
#define DEFINED_TYPEDEF_FOR_CmdBusADCDataKey_ #define DEFINED_TYPEDEF_FOR_CmdBusADCDataKey_