789 lines
27 KiB
C
789 lines
27 KiB
C
/*
|
|
* File: SIL_capi.c
|
|
*
|
|
* Code generated for Simulink model 'SIL'.
|
|
*
|
|
* Model version : 1.652
|
|
* Simulink Coder version : 9.0 (R2018b) 24-May-2018
|
|
* C/C++ source code generated on : Fri Jul 23 13:58:18 2021
|
|
*
|
|
* Target selection: ert_shrlib.tlc
|
|
* Embedded hardware selection: Intel->x86-64 (Windows64)
|
|
* Code generation objectives: Unspecified
|
|
* Validation result: Not run
|
|
*/
|
|
|
|
#include <stddef.h>
|
|
#include "rtw_capi.h"
|
|
#ifdef HOST_CAPI_BUILD
|
|
#include "SIL_capi_host.h"
|
|
#define sizeof(s) ((size_t)(0xFFFF))
|
|
#undef rt_offsetof
|
|
#define rt_offsetof(s,el) ((uint16_T)(0xFFFF))
|
|
#define TARGET_CONST
|
|
#define TARGET_STRING(s) (s)
|
|
#else /* HOST_CAPI_BUILD */
|
|
#include "builtin_typeid_types.h"
|
|
#include "SIL.h"
|
|
#include "SIL_capi.h"
|
|
#include "SIL_private.h"
|
|
#ifdef LIGHT_WEIGHT_CAPI
|
|
#define TARGET_CONST
|
|
#define TARGET_STRING(s) (NULL)
|
|
#else
|
|
#define TARGET_CONST const
|
|
#define TARGET_STRING(s) (s)
|
|
#endif
|
|
#endif /* HOST_CAPI_BUILD */
|
|
|
|
/* Individual block tuning is not valid when inline parameters is *
|
|
* selected. An empty map is produced to provide a consistent *
|
|
* interface independent of inlining parameters. *
|
|
*/
|
|
static const rtwCAPI_BlockParameters rtBlockParameters[] = {
|
|
/* addrMapIndex, blockPath,
|
|
* paramName, dataTypeIndex, dimIndex, fixPtIdx
|
|
*/
|
|
{
|
|
0, (NULL), (NULL), 0, 0, 0
|
|
}
|
|
};
|
|
|
|
/* Tunable variable parameters */
|
|
static const rtwCAPI_ModelParameters rtModelParameters[] = {
|
|
/* addrMapIndex, varName, dataTypeIndex, dimIndex, fixPtIndex */
|
|
{ 0, TARGET_STRING("AccelBias"), 0, 0, 0 },
|
|
|
|
{ 1, TARGET_STRING("AccelScaleMatrix"), 0, 1, 0 },
|
|
|
|
{ 2, TARGET_STRING("CD_parachute"), 0, 2, 0 },
|
|
|
|
{ 3, TARGET_STRING("GyroBias"), 0, 0, 0 },
|
|
|
|
{ 4, TARGET_STRING("GyroGBias"), 0, 0, 0 },
|
|
|
|
{ 5, TARGET_STRING("GyroScaleMatrix"), 0, 1, 0 },
|
|
|
|
{ 6, TARGET_STRING("IMUloc"), 0, 0, 0 },
|
|
|
|
{ 7, TARGET_STRING("Ps_bias"), 0, 0, 0 },
|
|
|
|
{ 8, TARGET_STRING("Ps_sens_bias"), 0, 0, 0 },
|
|
|
|
{ 9, TARGET_STRING("disturb_freq"), 0, 3, 0 },
|
|
|
|
{ 10, TARGET_STRING("disturb_fx"), 0, 3, 0 },
|
|
|
|
{ 11, TARGET_STRING("disturb_fy"), 0, 3, 0 },
|
|
|
|
{ 12, TARGET_STRING("disturb_ias"), 0, 4, 0 },
|
|
|
|
{ 13, TARGET_STRING("disturb_k"), 0, 4, 0 },
|
|
|
|
{ 14, TARGET_STRING("disturb_pos"), 0, 0, 0 },
|
|
|
|
{ 15, TARGET_STRING("dt_parachute"), 0, 2, 0 },
|
|
|
|
{ 16, TARGET_STRING("mach_level"), 0, 0, 0 },
|
|
|
|
{ 17, TARGET_STRING("mass0"), 0, 3, 0 },
|
|
|
|
{ 18, TARGET_STRING("qbar_sens_bias"), 0, 1, 0 },
|
|
|
|
{ 19, TARGET_STRING("rho_bias"), 0, 0, 0 },
|
|
|
|
{ 20, TARGET_STRING("soundspeed_bias"), 0, 0, 0 },
|
|
|
|
{ 21, TARGET_STRING("throttle_rate"), 0, 3, 0 },
|
|
|
|
{ 22, TARGET_STRING("wind_east"), 0, 0, 0 },
|
|
|
|
{ 23, TARGET_STRING("wind_level"), 0, 0, 0 },
|
|
|
|
{ 24, TARGET_STRING("wind_north"), 0, 0, 0 },
|
|
|
|
{ 25, TARGET_STRING("ADRC_p_a"), 1, 3, 0 },
|
|
|
|
{ 26, TARGET_STRING("ADRC_p_b0"), 1, 3, 0 },
|
|
|
|
{ 27, TARGET_STRING("ADRC_p_beta01"), 1, 3, 0 },
|
|
|
|
{ 28, TARGET_STRING("ADRC_p_beta02"), 1, 3, 0 },
|
|
|
|
{ 29, TARGET_STRING("ADRC_p_d"), 1, 3, 0 },
|
|
|
|
{ 30, TARGET_STRING("ADRC_p_wc"), 1, 3, 0 },
|
|
|
|
{ 31, TARGET_STRING("ADRC_wc_q"), 1, 3, 0 },
|
|
|
|
{ 32, TARGET_STRING("ADRC_wo_q"), 1, 3, 0 },
|
|
|
|
{ 33, TARGET_STRING("CLa"), 1, 3, 0 },
|
|
|
|
{ 34, TARGET_STRING("Clda_lst"), 1, 5, 0 },
|
|
|
|
{ 35, TARGET_STRING("Clp_lst"), 1, 5, 0 },
|
|
|
|
{ 36, TARGET_STRING("Cmde_lst"), 1, 5, 0 },
|
|
|
|
{ 37, TARGET_STRING("Cmq_lst"), 1, 5, 0 },
|
|
|
|
{ 38, TARGET_STRING("Cndr_lst"), 1, 5, 0 },
|
|
|
|
{ 39, TARGET_STRING("Cnr_lst"), 1, 5, 0 },
|
|
|
|
{ 40, TARGET_STRING("Csb"), 1, 3, 0 },
|
|
|
|
{ 41, TARGET_STRING("Gamma_L1"), 1, 3, 0 },
|
|
|
|
{ 42, TARGET_STRING("Ixx"), 1, 3, 0 },
|
|
|
|
{ 43, TARGET_STRING("Iyy"), 1, 3, 0 },
|
|
|
|
{ 44, TARGET_STRING("Izz"), 1, 3, 0 },
|
|
|
|
{ 45, TARGET_STRING("Ma_lst"), 1, 5, 0 },
|
|
|
|
{ 46, TARGET_STRING("Ma_lst2"), 1, 4, 0 },
|
|
|
|
{ 47, TARGET_STRING("P11_lst"), 1, 5, 0 },
|
|
|
|
{ 48, TARGET_STRING("P12_lst"), 1, 5, 0 },
|
|
|
|
{ 49, TARGET_STRING("P21_lst"), 1, 5, 0 },
|
|
|
|
{ 50, TARGET_STRING("P22_lst"), 1, 5, 0 },
|
|
|
|
{ 51, TARGET_STRING("RefArea"), 1, 3, 0 },
|
|
|
|
{ 52, TARGET_STRING("RefLen"), 1, 3, 0 },
|
|
|
|
{ 53, TARGET_STRING("RefSpan"), 1, 3, 0 },
|
|
|
|
{ 54, TARGET_STRING("Toffset"), 1, 3, 0 },
|
|
|
|
{ 55, TARGET_STRING("alt_lst"), 1, 4, 0 },
|
|
|
|
{ 56, TARGET_STRING("dal0"), 1, 3, 0 },
|
|
|
|
{ 57, TARGET_STRING("dar0"), 1, 3, 0 },
|
|
|
|
{ 58, TARGET_STRING("de_takeoff"), 1, 3, 0 },
|
|
|
|
{ 59, TARGET_STRING("deadband_da"), 1, 3, 0 },
|
|
|
|
{ 60, TARGET_STRING("deadband_de"), 1, 3, 0 },
|
|
|
|
{ 61, TARGET_STRING("deadband_dr"), 1, 3, 0 },
|
|
|
|
{ 62, TARGET_STRING("del0"), 1, 3, 0 },
|
|
|
|
{ 63, TARGET_STRING("delayAftLnch"), 1, 3, 0 },
|
|
|
|
{ 64, TARGET_STRING("den_tht_leadlag"), 1, 6, 0 },
|
|
|
|
{ 65, TARGET_STRING("der0"), 1, 3, 0 },
|
|
|
|
{ 66, TARGET_STRING("det_time"), 1, 3, 0 },
|
|
|
|
{ 67, TARGET_STRING("door_level"), 1, 3, 0 },
|
|
|
|
{ 68, TARGET_STRING("dr0"), 1, 3, 0 },
|
|
|
|
{ 69, TARGET_STRING("emergency_ias"), 1, 3, 0 },
|
|
|
|
{ 70, TARGET_STRING("h_TD"), 1, 3, 0 },
|
|
|
|
{ 71, TARGET_STRING("h_thr2rpm"), 1, 7, 0 },
|
|
|
|
{ 72, TARGET_STRING("ias_takeoff"), 1, 3, 0 },
|
|
|
|
{ 73, TARGET_STRING("inflect_time"), 1, 3, 0 },
|
|
|
|
{ 74, TARGET_STRING("k_dal"), 1, 3, 0 },
|
|
|
|
{ 75, TARGET_STRING("k_dar"), 1, 3, 0 },
|
|
|
|
{ 76, TARGET_STRING("k_del"), 1, 3, 0 },
|
|
|
|
{ 77, TARGET_STRING("k_der"), 1, 3, 0 },
|
|
|
|
{ 78, TARGET_STRING("k_dr"), 1, 3, 0 },
|
|
|
|
{ 79, TARGET_STRING("k_p"), 1, 3, 0 },
|
|
|
|
{ 80, TARGET_STRING("k_p2dr"), 1, 3, 0 },
|
|
|
|
{ 81, TARGET_STRING("k_r"), 1, 3, 0 },
|
|
|
|
{ 82, TARGET_STRING("k_r2da"), 1, 3, 0 },
|
|
|
|
{ 83, TARGET_STRING("ksi_v2tht"), 1, 3, 0 },
|
|
|
|
{ 84, TARGET_STRING("load_detect"), 1, 3, 0 },
|
|
|
|
{ 85, TARGET_STRING("m"), 1, 3, 0 },
|
|
|
|
{ 86, TARGET_STRING("max_az"), 1, 3, 0 },
|
|
|
|
{ 87, TARGET_STRING("max_da"), 1, 3, 0 },
|
|
|
|
{ 88, TARGET_STRING("max_de"), 1, 3, 0 },
|
|
|
|
{ 89, TARGET_STRING("max_dr"), 1, 3, 0 },
|
|
|
|
{ 90, TARGET_STRING("max_hdot"), 1, 3, 0 },
|
|
|
|
{ 91, TARGET_STRING("max_p"), 1, 3, 0 },
|
|
|
|
{ 92, TARGET_STRING("max_phi"), 1, 3, 0 },
|
|
|
|
{ 93, TARGET_STRING("max_q"), 1, 3, 0 },
|
|
|
|
{ 94, TARGET_STRING("max_rpm"), 1, 7, 0 },
|
|
|
|
{ 95, TARGET_STRING("max_rpm_lim"), 1, 3, 0 },
|
|
|
|
{ 96, TARGET_STRING("max_thrust"), 1, 7, 0 },
|
|
|
|
{ 97, TARGET_STRING("max_tht"), 1, 3, 0 },
|
|
|
|
{ 98, TARGET_STRING("min_abs_alt"), 1, 3, 0 },
|
|
|
|
{ 99, TARGET_STRING("min_de"), 1, 3, 0 },
|
|
|
|
{ 100, TARGET_STRING("min_hdot"), 1, 3, 0 },
|
|
|
|
{ 101, TARGET_STRING("min_ias"), 1, 3, 0 },
|
|
|
|
{ 102, TARGET_STRING("min_rpm"), 1, 7, 0 },
|
|
|
|
{ 103, TARGET_STRING("min_rpm_lim"), 1, 3, 0 },
|
|
|
|
{ 104, TARGET_STRING("min_tht"), 1, 3, 0 },
|
|
|
|
{ 105, TARGET_STRING("num_tht_leadlag"), 1, 6, 0 },
|
|
|
|
{ 106, TARGET_STRING("r_TD"), 1, 3, 0 },
|
|
|
|
{ 107, TARGET_STRING("recovery_ias"), 1, 3, 0 },
|
|
|
|
{ 108, TARGET_STRING("relay_on"), 1, 3, 0 },
|
|
|
|
{ 109, TARGET_STRING("relay_out"), 1, 3, 0 },
|
|
|
|
{ 110, TARGET_STRING("roll_b0_gain"), 1, 3, 0 },
|
|
|
|
{ 111, TARGET_STRING("roll_beta_01"), 1, 3, 0 },
|
|
|
|
{ 112, TARGET_STRING("roll_beta_02"), 1, 3, 0 },
|
|
|
|
{ 113, TARGET_STRING("roll_kd_lst"), 1, 4, 0 },
|
|
|
|
{ 114, TARGET_STRING("roll_kp_lst"), 1, 4, 0 },
|
|
|
|
{ 115, TARGET_STRING("tas_gl"), 1, 4, 0 },
|
|
|
|
{ 116, TARGET_STRING("tas_qc"), 1, 4, 0 },
|
|
|
|
{ 117, TARGET_STRING("use_deadbandComp"), 1, 3, 0 },
|
|
|
|
{ 118, TARGET_STRING("w_as"), 1, 3, 0 },
|
|
|
|
{ 119, TARGET_STRING("w_p"), 1, 3, 0 },
|
|
|
|
{ 120, TARGET_STRING("w_r"), 1, 3, 0 },
|
|
|
|
{ 121, TARGET_STRING("w_v"), 1, 3, 0 },
|
|
|
|
{ 122, TARGET_STRING("w_v2tht"), 1, 3, 0 },
|
|
|
|
{ 123, TARGET_STRING("w_x"), 1, 3, 0 },
|
|
|
|
{ 124, TARGET_STRING("w_y"), 1, 3, 0 },
|
|
|
|
{ 125, TARGET_STRING("washout_r_den"), 1, 0, 0 },
|
|
|
|
{ 126, TARGET_STRING("washout_r_num"), 1, 6, 0 },
|
|
|
|
{ 127, TARGET_STRING("system_id"), 2, 3, 0 },
|
|
|
|
{ 128, TARGET_STRING("force_sysauto_level"), 3, 3, 0 },
|
|
|
|
{ 129, TARGET_STRING("linked_default"), 3, 3, 0 },
|
|
|
|
{ 130, TARGET_STRING("use_ext_ins"), 3, 3, 0 },
|
|
|
|
{ 131, TARGET_STRING("act_sw_mode"), 4, 3, 0 },
|
|
|
|
{ 132, TARGET_STRING("door_idx"), 4, 3, 0 },
|
|
|
|
{ 133, TARGET_STRING("use_tht_leadlag"), 4, 3, 0 },
|
|
|
|
{ 134, TARGET_STRING("Att0"), 0, 0, 0 },
|
|
|
|
{ 135, TARGET_STRING("BoosterUncertGain"), 0, 3, 0 },
|
|
|
|
{ 136, TARGET_STRING("CD0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 137, TARGET_STRING("CG_bias_m"), 0, 0, 0 },
|
|
|
|
{ 138, TARGET_STRING("CL0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 139, TARGET_STRING("CLaUncertGain"), 0, 3, 0 },
|
|
|
|
{ 140, TARGET_STRING("CLdeUncertGain"), 0, 3, 0 },
|
|
|
|
{ 141, TARGET_STRING("CLqUncertGain"), 0, 3, 0 },
|
|
|
|
{ 142, TARGET_STRING("CY0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 143, TARGET_STRING("CYbUncertGain"), 0, 3, 0 },
|
|
|
|
{ 144, TARGET_STRING("CYdaUncertGain"), 0, 3, 0 },
|
|
|
|
{ 145, TARGET_STRING("CYdrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 146, TARGET_STRING("CYpUncertGain"), 0, 3, 0 },
|
|
|
|
{ 147, TARGET_STRING("CYrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 148, TARGET_STRING("Cl0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 149, TARGET_STRING("ClbUncertGain"), 0, 3, 0 },
|
|
|
|
{ 150, TARGET_STRING("CldaUncertGain"), 0, 3, 0 },
|
|
|
|
{ 151, TARGET_STRING("CldrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 152, TARGET_STRING("ClpUncertGain"), 0, 3, 0 },
|
|
|
|
{ 153, TARGET_STRING("ClrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 154, TARGET_STRING("Cm0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 155, TARGET_STRING("CmaUncertGain"), 0, 3, 0 },
|
|
|
|
{ 156, TARGET_STRING("CmdeUncertGain"), 0, 3, 0 },
|
|
|
|
{ 157, TARGET_STRING("CmqUncertGain"), 0, 3, 0 },
|
|
|
|
{ 158, TARGET_STRING("Cn0UncertVal"), 0, 3, 0 },
|
|
|
|
{ 159, TARGET_STRING("CnbUncertGain"), 0, 3, 0 },
|
|
|
|
{ 160, TARGET_STRING("CndaUncertGain"), 0, 3, 0 },
|
|
|
|
{ 161, TARGET_STRING("CndrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 162, TARGET_STRING("CnpUncertGain"), 0, 3, 0 },
|
|
|
|
{ 163, TARGET_STRING("CnrUncertGain"), 0, 3, 0 },
|
|
|
|
{ 164, TARGET_STRING("InertiaMoments_bias_kg_m2"), 0, 1, 0 },
|
|
|
|
{ 165, TARGET_STRING("ThrustUncertGain"), 0, 3, 0 },
|
|
|
|
{ 166, TARGET_STRING("V0"), 0, 0, 0 },
|
|
|
|
{ 167, TARGET_STRING("X0"), 0, 0, 0 },
|
|
|
|
{ 168, TARGET_STRING("booster_att_rad"), 0, 0, 0 },
|
|
|
|
{ 169, TARGET_STRING("booster_pos_m"), 0, 0, 0 },
|
|
|
|
{ 170, TARGET_STRING("engine_att_rad"), 0, 0, 0 },
|
|
|
|
{ 171, TARGET_STRING("engine_pos_m"), 0, 0, 0 },
|
|
|
|
{ 172, TARGET_STRING("force_CG"), 0, 3, 0 },
|
|
|
|
{ 173, TARGET_STRING("force_CG_pos_m"), 0, 0, 0 },
|
|
|
|
{ 174, TARGET_STRING("hground"), 0, 3, 0 },
|
|
|
|
{ 175, TARGET_STRING("transrate"), 5, 3, 0 },
|
|
|
|
{ 0, (NULL), 0, 0, 0 }
|
|
};
|
|
|
|
#ifndef HOST_CAPI_BUILD
|
|
|
|
/* Declare Data Addresses statically */
|
|
static void* rtDataAddrMap[] = {
|
|
&SIL_P.AccelBias[0], /* 0: Model Parameter */
|
|
&SIL_P.AccelScaleMatrix[0], /* 1: Model Parameter */
|
|
&SIL_P.CD_parachute[0], /* 2: Model Parameter */
|
|
&SIL_P.GyroBias[0], /* 3: Model Parameter */
|
|
&SIL_P.GyroGBias[0], /* 4: Model Parameter */
|
|
&SIL_P.GyroScaleMatrix[0], /* 5: Model Parameter */
|
|
&SIL_P.IMUloc[0], /* 6: Model Parameter */
|
|
&SIL_P.Ps_bias[0], /* 7: Model Parameter */
|
|
&SIL_P.Ps_sens_bias[0], /* 8: Model Parameter */
|
|
&SIL_P.disturb_freq, /* 9: Model Parameter */
|
|
&SIL_P.disturb_fx, /* 10: Model Parameter */
|
|
&SIL_P.disturb_fy, /* 11: Model Parameter */
|
|
&SIL_P.disturb_ias[0], /* 12: Model Parameter */
|
|
&SIL_P.disturb_k[0], /* 13: Model Parameter */
|
|
&SIL_P.disturb_pos[0], /* 14: Model Parameter */
|
|
&SIL_P.dt_parachute[0], /* 15: Model Parameter */
|
|
&SIL_P.mach_level[0], /* 16: Model Parameter */
|
|
&SIL_P.mass0, /* 17: Model Parameter */
|
|
&SIL_P.qbar_sens_bias[0], /* 18: Model Parameter */
|
|
&SIL_P.rho_bias[0], /* 19: Model Parameter */
|
|
&SIL_P.soundspeed_bias[0], /* 20: Model Parameter */
|
|
&SIL_P.throttle_rate, /* 21: Model Parameter */
|
|
&SIL_P.wind_east[0], /* 22: Model Parameter */
|
|
&SIL_P.wind_level[0], /* 23: Model Parameter */
|
|
&SIL_P.wind_north[0], /* 24: Model Parameter */
|
|
&SIL_P.ADRC_p_a, /* 25: Model Parameter */
|
|
&SIL_P.ADRC_p_b0, /* 26: Model Parameter */
|
|
&SIL_P.ADRC_p_beta01, /* 27: Model Parameter */
|
|
&SIL_P.ADRC_p_beta02, /* 28: Model Parameter */
|
|
&SIL_P.ADRC_p_d, /* 29: Model Parameter */
|
|
&SIL_P.ADRC_p_wc, /* 30: Model Parameter */
|
|
&SIL_P.ADRC_wc_q, /* 31: Model Parameter */
|
|
&SIL_P.ADRC_wo_q, /* 32: Model Parameter */
|
|
&SIL_P.CLa, /* 33: Model Parameter */
|
|
&SIL_P.Clda_lst[0], /* 34: Model Parameter */
|
|
&SIL_P.Clp_lst[0], /* 35: Model Parameter */
|
|
&SIL_P.Cmde_lst[0], /* 36: Model Parameter */
|
|
&SIL_P.Cmq_lst[0], /* 37: Model Parameter */
|
|
&SIL_P.Cndr_lst[0], /* 38: Model Parameter */
|
|
&SIL_P.Cnr_lst[0], /* 39: Model Parameter */
|
|
&SIL_P.Csb, /* 40: Model Parameter */
|
|
&SIL_P.Gamma_L1, /* 41: Model Parameter */
|
|
&SIL_P.Ixx, /* 42: Model Parameter */
|
|
&SIL_P.Iyy, /* 43: Model Parameter */
|
|
&SIL_P.Izz, /* 44: Model Parameter */
|
|
&SIL_P.Ma_lst[0], /* 45: Model Parameter */
|
|
&SIL_P.Ma_lst2[0], /* 46: Model Parameter */
|
|
&SIL_P.P11_lst[0], /* 47: Model Parameter */
|
|
&SIL_P.P12_lst[0], /* 48: Model Parameter */
|
|
&SIL_P.P21_lst[0], /* 49: Model Parameter */
|
|
&SIL_P.P22_lst[0], /* 50: Model Parameter */
|
|
&SIL_P.RefArea, /* 51: Model Parameter */
|
|
&SIL_P.RefLen, /* 52: Model Parameter */
|
|
&SIL_P.RefSpan, /* 53: Model Parameter */
|
|
&SIL_P.Toffset, /* 54: Model Parameter */
|
|
&SIL_P.alt_lst[0], /* 55: Model Parameter */
|
|
&SIL_P.dal0, /* 56: Model Parameter */
|
|
&SIL_P.dar0, /* 57: Model Parameter */
|
|
&SIL_P.de_takeoff, /* 58: Model Parameter */
|
|
&SIL_P.deadband_da, /* 59: Model Parameter */
|
|
&SIL_P.deadband_de, /* 60: Model Parameter */
|
|
&SIL_P.deadband_dr, /* 61: Model Parameter */
|
|
&SIL_P.del0, /* 62: Model Parameter */
|
|
&SIL_P.delayAftLnch, /* 63: Model Parameter */
|
|
&SIL_P.den_tht_leadlag[0], /* 64: Model Parameter */
|
|
&SIL_P.der0, /* 65: Model Parameter */
|
|
&SIL_P.det_time, /* 66: Model Parameter */
|
|
&SIL_P.door_level, /* 67: Model Parameter */
|
|
&SIL_P.dr0, /* 68: Model Parameter */
|
|
&SIL_P.emergency_ias, /* 69: Model Parameter */
|
|
&SIL_P.h_TD, /* 70: Model Parameter */
|
|
&SIL_P.h_thr2rpm[0], /* 71: Model Parameter */
|
|
&SIL_P.ias_takeoff, /* 72: Model Parameter */
|
|
&SIL_P.inflect_time, /* 73: Model Parameter */
|
|
&SIL_P.k_dal, /* 74: Model Parameter */
|
|
&SIL_P.k_dar, /* 75: Model Parameter */
|
|
&SIL_P.k_del, /* 76: Model Parameter */
|
|
&SIL_P.k_der, /* 77: Model Parameter */
|
|
&SIL_P.k_dr, /* 78: Model Parameter */
|
|
&SIL_P.k_p, /* 79: Model Parameter */
|
|
&SIL_P.k_p2dr, /* 80: Model Parameter */
|
|
&SIL_P.k_r, /* 81: Model Parameter */
|
|
&SIL_P.k_r2da, /* 82: Model Parameter */
|
|
&SIL_P.ksi_v2tht, /* 83: Model Parameter */
|
|
&SIL_P.load_detect, /* 84: Model Parameter */
|
|
&SIL_P.m, /* 85: Model Parameter */
|
|
&SIL_P.max_az, /* 86: Model Parameter */
|
|
&SIL_P.max_da, /* 87: Model Parameter */
|
|
&SIL_P.max_de, /* 88: Model Parameter */
|
|
&SIL_P.max_dr, /* 89: Model Parameter */
|
|
&SIL_P.max_hdot, /* 90: Model Parameter */
|
|
&SIL_P.max_p, /* 91: Model Parameter */
|
|
&SIL_P.max_phi, /* 92: Model Parameter */
|
|
&SIL_P.max_q, /* 93: Model Parameter */
|
|
&SIL_P.max_rpm[0], /* 94: Model Parameter */
|
|
&SIL_P.max_rpm_lim, /* 95: Model Parameter */
|
|
&SIL_P.max_thrust[0], /* 96: Model Parameter */
|
|
&SIL_P.max_tht, /* 97: Model Parameter */
|
|
&SIL_P.min_abs_alt, /* 98: Model Parameter */
|
|
&SIL_P.min_de, /* 99: Model Parameter */
|
|
&SIL_P.min_hdot, /* 100: Model Parameter */
|
|
&SIL_P.min_ias, /* 101: Model Parameter */
|
|
&SIL_P.min_rpm[0], /* 102: Model Parameter */
|
|
&SIL_P.min_rpm_lim, /* 103: Model Parameter */
|
|
&SIL_P.min_tht, /* 104: Model Parameter */
|
|
&SIL_P.num_tht_leadlag[0], /* 105: Model Parameter */
|
|
&SIL_P.r_TD, /* 106: Model Parameter */
|
|
&SIL_P.recovery_ias, /* 107: Model Parameter */
|
|
&SIL_P.relay_on, /* 108: Model Parameter */
|
|
&SIL_P.relay_out, /* 109: Model Parameter */
|
|
&SIL_P.roll_b0_gain, /* 110: Model Parameter */
|
|
&SIL_P.roll_beta_01, /* 111: Model Parameter */
|
|
&SIL_P.roll_beta_02, /* 112: Model Parameter */
|
|
&SIL_P.roll_kd_lst[0], /* 113: Model Parameter */
|
|
&SIL_P.roll_kp_lst[0], /* 114: Model Parameter */
|
|
&SIL_P.tas_gl[0], /* 115: Model Parameter */
|
|
&SIL_P.tas_qc[0], /* 116: Model Parameter */
|
|
&SIL_P.use_deadbandComp, /* 117: Model Parameter */
|
|
&SIL_P.w_as, /* 118: Model Parameter */
|
|
&SIL_P.w_p, /* 119: Model Parameter */
|
|
&SIL_P.w_r, /* 120: Model Parameter */
|
|
&SIL_P.w_v, /* 121: Model Parameter */
|
|
&SIL_P.w_v2tht, /* 122: Model Parameter */
|
|
&SIL_P.w_x, /* 123: Model Parameter */
|
|
&SIL_P.w_y, /* 124: Model Parameter */
|
|
&SIL_P.washout_r_den[0], /* 125: Model Parameter */
|
|
&SIL_P.washout_r_num[0], /* 126: Model Parameter */
|
|
&SIL_P.system_id, /* 127: Model Parameter */
|
|
&SIL_P.force_sysauto_level, /* 128: Model Parameter */
|
|
&SIL_P.linked_default, /* 129: Model Parameter */
|
|
&SIL_P.use_ext_ins, /* 130: Model Parameter */
|
|
&SIL_P.act_sw_mode, /* 131: Model Parameter */
|
|
&SIL_P.door_idx, /* 132: Model Parameter */
|
|
&SIL_P.use_tht_leadlag, /* 133: Model Parameter */
|
|
Att0, /* 134: Model Parameter */
|
|
&BoosterUncertGain, /* 135: Model Parameter */
|
|
&CD0UncertVal, /* 136: Model Parameter */
|
|
CG_bias_m, /* 137: Model Parameter */
|
|
&CL0UncertVal, /* 138: Model Parameter */
|
|
&CLaUncertGain, /* 139: Model Parameter */
|
|
&CLdeUncertGain, /* 140: Model Parameter */
|
|
&CLqUncertGain, /* 141: Model Parameter */
|
|
&CY0UncertVal, /* 142: Model Parameter */
|
|
&CYbUncertGain, /* 143: Model Parameter */
|
|
&CYdaUncertGain, /* 144: Model Parameter */
|
|
&CYdrUncertGain, /* 145: Model Parameter */
|
|
&CYpUncertGain, /* 146: Model Parameter */
|
|
&CYrUncertGain, /* 147: Model Parameter */
|
|
&Cl0UncertVal, /* 148: Model Parameter */
|
|
&ClbUncertGain, /* 149: Model Parameter */
|
|
&CldaUncertGain, /* 150: Model Parameter */
|
|
&CldrUncertGain, /* 151: Model Parameter */
|
|
&ClpUncertGain, /* 152: Model Parameter */
|
|
&ClrUncertGain, /* 153: Model Parameter */
|
|
&Cm0UncertVal, /* 154: Model Parameter */
|
|
&CmaUncertGain, /* 155: Model Parameter */
|
|
&CmdeUncertGain, /* 156: Model Parameter */
|
|
&CmqUncertGain, /* 157: Model Parameter */
|
|
&Cn0UncertVal, /* 158: Model Parameter */
|
|
&CnbUncertGain, /* 159: Model Parameter */
|
|
&CndaUncertGain, /* 160: Model Parameter */
|
|
&CndrUncertGain, /* 161: Model Parameter */
|
|
&CnpUncertGain, /* 162: Model Parameter */
|
|
&CnrUncertGain, /* 163: Model Parameter */
|
|
InertiaMoments_bias_kg_m2, /* 164: Model Parameter */
|
|
&ThrustUncertGain, /* 165: Model Parameter */
|
|
V0, /* 166: Model Parameter */
|
|
X0, /* 167: Model Parameter */
|
|
booster_att_rad, /* 168: Model Parameter */
|
|
booster_pos_m, /* 169: Model Parameter */
|
|
engine_att_rad, /* 170: Model Parameter */
|
|
engine_pos_m, /* 171: Model Parameter */
|
|
&force_CG, /* 172: Model Parameter */
|
|
force_CG_pos_m, /* 173: Model Parameter */
|
|
&hground, /* 174: Model Parameter */
|
|
&transrate, /* 175: Model Parameter */
|
|
};
|
|
|
|
/* Declare Data Run-Time Dimension Buffer Addresses statically */
|
|
static int32_T* rtVarDimsAddrMap[] = {
|
|
(NULL)
|
|
};
|
|
|
|
#endif
|
|
|
|
/* Data Type Map - use dataTypeMapIndex to access this structure */
|
|
static TARGET_CONST rtwCAPI_DataTypeMap rtDataTypeMap[] = {
|
|
/* cName, mwName, numElements, elemMapIndex, dataSize, slDataId, *
|
|
* isComplex, isPointer */
|
|
{ "double", "real_T", 0, 0, sizeof(real_T), SS_DOUBLE, 0, 0 },
|
|
|
|
{ "float", "real32_T", 0, 0, sizeof(real32_T), SS_SINGLE, 0, 0 },
|
|
|
|
{ "unsigned short", "uint16_T", 0, 0, sizeof(uint16_T), SS_UINT16, 0, 0 },
|
|
|
|
{ "unsigned char", "boolean_T", 0, 0, sizeof(boolean_T), SS_BOOLEAN, 0, 0 },
|
|
|
|
{ "unsigned char", "uint8_T", 0, 0, sizeof(uint8_T), SS_UINT8, 0, 0 },
|
|
|
|
{ "unsigned int", "uint32_T", 0, 0, sizeof(uint32_T), SS_UINT32, 0, 0 }
|
|
};
|
|
|
|
#ifdef HOST_CAPI_BUILD
|
|
#undef sizeof
|
|
#endif
|
|
|
|
/* Structure Element Map - use elemMapIndex to access this structure */
|
|
static TARGET_CONST rtwCAPI_ElementMap rtElementMap[] = {
|
|
/* elementName, elementOffset, dataTypeIndex, dimIndex, fxpIndex */
|
|
{ (NULL), 0, 0, 0, 0 },
|
|
};
|
|
|
|
/* Dimension Map - use dimensionMapIndex to access elements of ths structure*/
|
|
static const rtwCAPI_DimensionMap rtDimensionMap[] = {
|
|
/* dataOrientation, dimArrayIndex, numDims, vardimsIndex */
|
|
{ rtwCAPI_VECTOR, 0, 2, 0 },
|
|
|
|
{ rtwCAPI_MATRIX_COL_MAJOR, 2, 2, 0 },
|
|
|
|
{ rtwCAPI_VECTOR, 4, 2, 0 },
|
|
|
|
{ rtwCAPI_SCALAR, 6, 2, 0 },
|
|
|
|
{ rtwCAPI_VECTOR, 8, 2, 0 },
|
|
|
|
{ rtwCAPI_VECTOR, 10, 2, 0 },
|
|
|
|
{ rtwCAPI_VECTOR, 12, 2, 0 },
|
|
|
|
{ rtwCAPI_VECTOR, 14, 2, 0 }
|
|
};
|
|
|
|
/* Dimension Array- use dimArrayIndex to access elements of this array */
|
|
static const uint_T rtDimensionArray[] = {
|
|
1, /* 0 */
|
|
3, /* 1 */
|
|
3, /* 2 */
|
|
3, /* 3 */
|
|
1, /* 4 */
|
|
7, /* 5 */
|
|
1, /* 6 */
|
|
1, /* 7 */
|
|
1, /* 8 */
|
|
6, /* 9 */
|
|
1, /* 10 */
|
|
11, /* 11 */
|
|
1, /* 12 */
|
|
2, /* 13 */
|
|
1, /* 14 */
|
|
8 /* 15 */
|
|
};
|
|
|
|
/* Fixed Point Map */
|
|
static const rtwCAPI_FixPtMap rtFixPtMap[] = {
|
|
/* fracSlopePtr, biasPtr, scaleType, wordLength, exponent, isSigned */
|
|
{ (NULL), (NULL), rtwCAPI_FIX_RESERVED, 0, 0, 0 },
|
|
};
|
|
|
|
/* Sample Time Map - use sTimeIndex to access elements of ths structure */
|
|
static const rtwCAPI_SampleTimeMap rtSampleTimeMap[] = {
|
|
/* samplePeriodPtr, sampleOffsetPtr, tid, samplingMode */
|
|
{
|
|
(NULL), (NULL), 0, 0
|
|
}
|
|
};
|
|
|
|
static rtwCAPI_ModelMappingStaticInfo mmiStatic = {
|
|
/* Signals:{signals, numSignals,
|
|
* rootInputs, numRootInputs,
|
|
* rootOutputs, numRootOutputs},
|
|
* Params: {blockParameters, numBlockParameters,
|
|
* modelParameters, numModelParameters},
|
|
* States: {states, numStates},
|
|
* Maps: {dataTypeMap, dimensionMap, fixPtMap,
|
|
* elementMap, sampleTimeMap, dimensionArray},
|
|
* TargetType: targetType
|
|
*/
|
|
{ (NULL), 0,
|
|
(NULL), 0,
|
|
(NULL), 0 },
|
|
|
|
{ rtBlockParameters, 0,
|
|
rtModelParameters, 176 },
|
|
|
|
{ (NULL), 0 },
|
|
|
|
{ rtDataTypeMap, rtDimensionMap, rtFixPtMap,
|
|
rtElementMap, rtSampleTimeMap, rtDimensionArray },
|
|
"float",
|
|
|
|
{ 1152576472U,
|
|
2668485905U,
|
|
1894149634U,
|
|
3593239025U },
|
|
(NULL), 0,
|
|
0
|
|
};
|
|
|
|
/* Function to get C API Model Mapping Static Info */
|
|
const rtwCAPI_ModelMappingStaticInfo*
|
|
SIL_GetCAPIStaticMap(void)
|
|
{
|
|
return &mmiStatic;
|
|
}
|
|
|
|
/* Cache pointers into DataMapInfo substructure of RTModel */
|
|
#ifndef HOST_CAPI_BUILD
|
|
|
|
void SIL_InitializeDataMapInfo(void)
|
|
{
|
|
/* Set C-API version */
|
|
rtwCAPI_SetVersion(SIL_M->DataMapInfo.mmi, 1);
|
|
|
|
/* Cache static C-API data into the Real-time Model Data structure */
|
|
rtwCAPI_SetStaticMap(SIL_M->DataMapInfo.mmi, &mmiStatic);
|
|
|
|
/* Cache static C-API logging data into the Real-time Model Data structure */
|
|
rtwCAPI_SetLoggingStaticMap(SIL_M->DataMapInfo.mmi, (NULL));
|
|
|
|
/* Cache C-API Data Addresses into the Real-Time Model Data structure */
|
|
rtwCAPI_SetDataAddressMap(SIL_M->DataMapInfo.mmi, rtDataAddrMap);
|
|
|
|
/* Cache C-API Data Run-Time Dimension Buffer Addresses into the Real-Time Model Data structure */
|
|
rtwCAPI_SetVarDimsAddressMap(SIL_M->DataMapInfo.mmi, rtVarDimsAddrMap);
|
|
|
|
/* Cache the instance C-API logging pointer */
|
|
rtwCAPI_SetInstanceLoggingInfo(SIL_M->DataMapInfo.mmi, (NULL));
|
|
|
|
/* Set reference to submodels */
|
|
rtwCAPI_SetChildMMIArray(SIL_M->DataMapInfo.mmi, (NULL));
|
|
rtwCAPI_SetChildMMIArrayLen(SIL_M->DataMapInfo.mmi, 0);
|
|
}
|
|
|
|
#else /* HOST_CAPI_BUILD */
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
void SIL_host_InitializeDataMapInfo(SIL_host_DataMapInfo_T *dataMap, const
|
|
char *path)
|
|
{
|
|
/* Set C-API version */
|
|
rtwCAPI_SetVersion(dataMap->mmi, 1);
|
|
|
|
/* Cache static C-API data into the Real-time Model Data structure */
|
|
rtwCAPI_SetStaticMap(dataMap->mmi, &mmiStatic);
|
|
|
|
/* host data address map is NULL */
|
|
rtwCAPI_SetDataAddressMap(dataMap->mmi, NULL);
|
|
|
|
/* host vardims address map is NULL */
|
|
rtwCAPI_SetVarDimsAddressMap(dataMap->mmi, NULL);
|
|
|
|
/* Set Instance specific path */
|
|
rtwCAPI_SetPath(dataMap->mmi, path);
|
|
rtwCAPI_SetFullPath(dataMap->mmi, NULL);
|
|
|
|
/* Set reference to submodels */
|
|
rtwCAPI_SetChildMMIArray(dataMap->mmi, (NULL));
|
|
rtwCAPI_SetChildMMIArrayLen(dataMap->mmi, 0);
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
#endif
|
|
#endif /* HOST_CAPI_BUILD */
|
|
|
|
/*
|
|
* File trailer for generated code.
|
|
*
|
|
* [EOF]
|
|
*/
|