Files
sil/cr929_SIL/otherFiles/AFCS_Model.h
T

329 lines
15 KiB
C

/*
* File: AFCS_Model_v2_20230705.h
*
* Code generated for Simulink model 'AFCS_Model_v2_20230705'.
*
* Model version : 1.876
* Simulink Coder version : 9.0 (R2018b) 24-May-2018
* C/C++ source code generated on : Wed Jul 5 15:50:46 2023
*
* Target selection: ert.tlc
* Embedded hardware selection: Intel->x86-64 (Windows64)
* Code generation objectives: Unspecified
* Validation result: Not run
*/
#ifndef RTW_HEADER_AFCS_Model_v2_20230705_h_
#define RTW_HEADER_AFCS_Model_v2_20230705_h_
#include <float.h>
#include <math.h>
#include <string.h>
#include "tmwtypes.h"
/* External inputs (root inport signals with default storage) */
typedef struct {
real_T irs_pitch_ang_sel; /* '<Root>/irs_pitch_ang_sel' */
real_T irs_fpa_sel; /* '<Root>/irs_fpa_sel' */
real_T irs_roll_ang_sel; /* '<Root>/irs_roll_ang_sel' */
real_T irs_pitch_rate_sel; /* '<Root>/irs_pitch_rate_sel' */
real_T irs_inrtl_vert_spd_sel; /* '<Root>/irs_inrtl_vert_spd_sel' */
real_T irs_gnd_spd_sel; /* '<Root>/irs_gnd_spd_sel' */
real_T irs_true_hdg_sel; /* '<Root>/irs_true_hdg_sel' */
real_T irs_true_trk_ang_sel; /* '<Root>/irs_true_trk_ang_sel' */
real_T irs_longitude_accel_sel; /* '<Root>/irs_longitude_accel_sel' */
real_T irs_lat_accel_sel; /* '<Root>/irs_lat_accel_sel' */
real_T irs_norm_accel_sel; /* '<Root>/irs_norm_accel_sel' */
real_T ra_fltr_ht_sel; /* '<Root>/ra_fltr_ht_sel' */
real_T cas_vtd; /* '<Root>/cas_vtd' */
real_T mach_vtd; /* '<Root>/mach_vtd' */
real_T press_alt_vtd; /* '<Root>/press_alt_vtd' */
real_T baro_corr_alt_baro_set_1_vtd; /* '<Root>/baro_corr_alt_baro_set_1_vtd' */
real_T baro_corr_alt_baro_set_2_vtd; /* '<Root>/baro_corr_alt_baro_set_2_vtd' */
real_T tas_vtd; /* '<Root>/tas_vtd' */
boolean_T ssu_capt_ap_dcn_priorty; /* '<Root>/ssu_capt_ap_dcn_priorty' */
boolean_T ssu_fo_ap_dcn_priorty; /* '<Root>/ssu_fo_ap_dcn_priorty' */
boolean_T fmcp_a_alt_pb_sel; /* '<Root>/fmcp_a_alt_pb_sel' */
boolean_T fmcp_a_ap_pb_sel; /* '<Root>/fmcp_a_ap_pb_sel' */
boolean_T fmcp_a_appr_pb_sel; /* '<Root>/fmcp_a_appr_pb_sel' */
boolean_T fmcp_a_at_pb_sel; /* '<Root>/fmcp_a_at_pb_sel' */
boolean_T fmcp_a_fd_td_pb_l_sel; /* '<Root>/fmcp_a_fd_td_pb_l_sel' */
boolean_T fmcp_a_fd_td_pb_r_sel; /* '<Root>/fmcp_a_fd_td_pb_r_sel' */
boolean_T fmcp_a_flc_pb_sel; /* '<Root>/fmcp_a_flc_pb_sel' */
boolean_T fmcp_a_hdg_trk_pb_sel; /* '<Root>/fmcp_a_hdg_trk_pb_sel' */
boolean_T fmcp_a_hdg_trk_sync_pb_sel;/* '<Root>/fmcp_a_hdg_trk_sync_pb_sel' */
boolean_T fmcp_a_lnav_pb_sel; /* '<Root>/fmcp_a_lnav_pb_sel' */
boolean_T fmcp_a_plt_side_pb_sel; /* '<Root>/fmcp_a_plt_side_pb_sel' */
boolean_T fmcp_a_spd_toggle_pb_sel; /* '<Root>/fmcp_a_spd_toggle_pb_sel' */
boolean_T fmcp_a_vnav_pb_sel; /* '<Root>/fmcp_a_vnav_pb_sel' */
boolean_T fmcp_a_vs_pb_sel; /* '<Root>/fmcp_a_vs_pb_sel' */
boolean_T fmcp_b_alt_pb_sel; /* '<Root>/fmcp_b_alt_pb_sel' */
boolean_T fmcp_b_ap_pb_sel; /* '<Root>/fmcp_b_ap_pb_sel' */
boolean_T fmcp_b_appr_pb_sel; /* '<Root>/fmcp_b_appr_pb_sel' */
boolean_T fmcp_b_at_pb_sel; /* '<Root>/fmcp_b_at_pb_sel' */
boolean_T fmcp_b_fd_td_pb_l_sel; /* '<Root>/fmcp_b_fd_td_pb_l_sel' */
boolean_T fmcp_b_fd_td_pb_r_sel; /* '<Root>/fmcp_b_fd_td_pb_r_sel' */
boolean_T fmcp_b_flc_pb_sel; /* '<Root>/fmcp_b_flc_pb_sel' */
boolean_T fmcp_b_hdg_trk_pb_sel; /* '<Root>/fmcp_b_hdg_trk_pb_sel' */
boolean_T fmcp_b_hdg_trk_sync_pb_sel;/* '<Root>/fmcp_b_hdg_trk_sync_pb_sel' */
boolean_T fmcp_b_lnav_pb_sel; /* '<Root>/fmcp_b_lnav_pb_sel' */
boolean_T fmcp_b_plt_side_pb_sel; /* '<Root>/fmcp_b_plt_side_pb_sel' */
boolean_T fmcp_b_spd_toggle_pb_sel; /* '<Root>/fmcp_b_spd_toggle_pb_sel' */
boolean_T fmcp_b_vnav_pb_sel; /* '<Root>/fmcp_b_vnav_pb_sel' */
boolean_T fmcp_b_vs_pb_sel; /* '<Root>/fmcp_b_vs_pb_sel' */
int32_T fmcp_a_asel_knob_click_sel; /* '<Root>/fmcp_a_asel_knob_click_sel' */
int32_T fmcp_b_asel_knob_click_sel; /* '<Root>/fmcp_b_asel_knob_click_sel' */
int32_T fmcp_a_fpa_vs_knob_click_sel;/* '<Root>/fmcp_a_fpa_vs_knob_click_sel' */
int32_T fmcp_b_fpa_vs_knob_click_sel;/* '<Root>/fmcp_b_fpa_vs_knob_click_sel' */
int32_T fmcp_a_hdg_trk_knob_click_sel;/* '<Root>/fmcp_a_hdg_trk_knob_click_sel' */
int32_T fmcp_b_hdg_trk_knob_click_sel;/* '<Root>/fmcp_b_hdg_trk_knob_click_sel' */
int32_T fmcp_a_spd_knob_click_sel; /* '<Root>/fmcp_a_spd_knob_click_sel' */
int32_T fmcp_b_spd_knob_click_sel; /* '<Root>/fmcp_b_spd_knob_click_sel' */
boolean_T fmcp_a_spd_src_ref_sel; /* '<Root>/fmcp_a_spd_src_ref_sel' */
boolean_T fmcp_a_hdg_trk_ref_sel; /* '<Root>/fmcp_a_hdg_trk_ref_sel' */
boolean_T fmcp_b_spd_src_ref_sel; /* '<Root>/fmcp_b_spd_src_ref_sel' */
boolean_T fmcp_b_hdg_trk_ref_sel; /* '<Root>/fmcp_b_hdg_trk_ref_sel' */
boolean_T fmcp_a_asel_knob_resol_sel;/* '<Root>/fmcp_a_asel_knob_resol_sel' */
boolean_T fmcp_b_asel_knob_resol_sel;/* '<Root>/fmcp_b_asel_knob_resol_sel' */
boolean_T toga_sw_l_sel; /* '<Root>/toga_sw_l_sel' */
boolean_T toga_sw_r_sel; /* '<Root>/toga_sw_r_sel' */
boolean_T at_diseng_sw_l_sel; /* '<Root>/at_diseng_sw_l_sel' */
boolean_T at_diseng_sw_r_sel; /* '<Root>/at_diseng_sw_r_sel' */
real_T Beta_deg; /* '<Root>/Beta_deg' */
real_T da_deg; /* '<Root>/da_deg' */
real_T de_deg; /* '<Root>/de_deg' */
real_T dr_deg; /* '<Root>/dr_deg' */
real_T dsplo5_deg; /* '<Root>/dsplo5_deg' */
real_T dsplo4_deg; /* '<Root>/dsplo4_deg' */
real_T dsplo3_deg; /* '<Root>/dsplo3_deg' */
real_T dsplo2_deg; /* '<Root>/dsplo2_deg' */
real_T dsplo1_deg; /* '<Root>/dsplo1_deg' */
real_T dspli3_deg; /* '<Root>/dspli3_deg' */
real_T dspli2_deg; /* '<Root>/dspli2_deg' */
real_T dspli1_deg; /* '<Root>/dspli1_deg' */
real_T dspri1_deg; /* '<Root>/dspri1_deg' */
real_T dspri2_deg; /* '<Root>/dspri2_deg' */
real_T dspri3_deg; /* '<Root>/dspri3_deg' */
real_T dspro1_deg; /* '<Root>/dspro1_deg' */
real_T dspro2_deg; /* '<Root>/dspro2_deg' */
real_T dspro3_deg; /* '<Root>/dspro3_deg' */
real_T dspro4_deg; /* '<Root>/dspro4_deg' */
real_T dspro5_deg; /* '<Root>/dspro5_deg' */
real_T horizontal_tail_deg; /* '<Root>/horizontal_tail_deg' */
real_T flap_lever_in; /* '<Root>/flap_lever_in' */
real_T RefArea_m2; /* '<Root>/RefArea_m2' */
real_T qbar_Pa; /* '<Root>/qbar_Pa' */
real_T mass_kg; /* '<Root>/mass_kg' */
real_T Po_Pa; /* '<Root>/Po_Pa' */
real_T throttle; /* '<Root>/throttle' */
real_T aoa_body_sel; /* '<Root>/aoa_body_sel' */
} ExtU_AFCS_Model_v2_20230705_T;
/* External outputs (root outports fed by signals with default storage) */
typedef struct {
real_T ap_tht_cmd; /* '<Root>/ap_tht_cmd' */
real_T ap_phi_cmd; /* '<Root>/ap_phi_cmd' */
real_T fd_roll_bar; /* '<Root>/fd_roll_bar' */
boolean_T ap_dcn_warn_det; /* '<Root>/ap_dcn_warn_det' */
real_T throttle_c; /* '<Root>/throttle_c' */
boolean_T AP_Engage_Request_b; /* '<Root>/AP_Engage_Request_b' */
boolean_T ap_engaged; /* '<Root>/ap_engaged' */
boolean_T at_control_mode_armed; /* '<Root>/at_control_mode_armed' */
uint32_T at_engaged_status; /* '<Root>/at_engaged_status' */
uint32_T at_control_mode; /* '<Root>/at_control_mode' */
uint32_T appr_mode_arm; /* '<Root>/appr_mode_arm' */
uint32_T appr_mode_engaged; /* '<Root>/appr_mode_engaged' */
uint32_T fd_arm_vert_mode_1; /* '<Root>/fd_arm_vert_mode_1' */
uint32_T fd_actv_lat_mode; /* '<Root>/fd_actv_lat_mode' */
uint32_T fd_actv_vert_mode; /* '<Root>/fd_actv_vert_mode' */
uint32_T fd_arm_lat_mode; /* '<Root>/fd_arm_lat_mode' */
real_T sel_alt_dspl; /* '<Root>/sel_alt_dspl' */
real_T sel_vs_dspl; /* '<Root>/sel_vs_dspl' */
real_T sel_fpa_dspl; /* '<Root>/sel_fpa_dspl' */
real_T sel_hdg_trk_dspl; /* '<Root>/sel_hdg_trk_dspl' */
real_T sel_spd_dspl; /* '<Root>/sel_spd_dspl' */
real_T sel_mach_dspl; /* '<Root>/sel_mach_dspl' */
real_T fmcp_sel_fpa_vs; /* '<Root>/fmcp_sel_fpa_vs' */
boolean_T alt_hld_ann; /* '<Root>/alt_hld_ann' */
boolean_T ap_actv_ann; /* '<Root>/ap_actv_ann' */
boolean_T appr_actv_ann; /* '<Root>/appr_actv_ann' */
boolean_T appr_arm_ann; /* '<Root>/appr_arm_ann' */
boolean_T at_actv_ann; /* '<Root>/at_actv_ann' */
boolean_T at_arm_ann; /* '<Root>/at_arm_ann' */
boolean_T flc_ann; /* '<Root>/flc_ann' */
boolean_T fpa_ann; /* '<Root>/fpa_ann' */
boolean_T hdg_sel_ann; /* '<Root>/hdg_sel_ann' */
boolean_T ias_mach_ann; /* '<Root>/ias_mach_ann' */
boolean_T fd_td_l_ann; /* '<Root>/fd_td_l_ann' */
boolean_T fd_td_r_ann; /* '<Root>/fd_td_r_ann' */
boolean_T lnav_actv_ann; /* '<Root>/lnav_actv_ann' */
boolean_T vnav_actv_ann; /* '<Root>/vnav_actv_ann' */
boolean_T vs_ann; /* '<Root>/vs_ann' */
boolean_T lnav_arm_ann; /* '<Root>/lnav_arm_ann' */
real_T fd_pitch_bar; /* '<Root>/fd_pitch_bar' */
boolean_T at_engaged; /* '<Root>/at_engaged' */
real_T loc_devn_sel; /* '<Root>/loc_devn_sel' */
real_T gs_devn_sel; /* '<Root>/gs_devn_sel' */
} ExtY_AFCS_Model_v2_20230705_T;
/* External inputs (root inport signals with default storage) */
extern ExtU_AFCS_Model_v2_20230705_T AFCS_Model_v2_20230705_U;
/* External outputs (root outports fed by signals with default storage) */
extern ExtY_AFCS_Model_v2_20230705_T AFCS_Model_v2_20230705_Y;
/* External data declarations for dependent source files */
/* Model entry point functions */
extern void AFCS_Model_v2_20230705_initialize(void);
extern void AFCS_Model_v2_20230705_step(void);
extern void AFCS_Model_v2_step(
real_T irs_pitch_ang_sel,
real_T irs_fpa_sel,
real_T irs_roll_ang_sel,
real_T irs_pitch_rate_sel,
real_T irs_inrtl_vert_spd_sel,
real_T irs_gnd_spd_sel,
real_T irs_true_hdg_sel,
real_T irs_true_trk_ang_sel,
real_T irs_longitude_accel_sel,
real_T irs_lat_accel_sel,
real_T irs_norm_accel_sel,
real_T ra_fltr_ht_sel,
real_T cas_vtd,
real_T mach_vtd,
real_T press_alt_vtd,
real_T baro_corr_alt_baro_set_1_vtd,
real_T baro_corr_alt_baro_set_2_vtd,
real_T tas_vtd,
boolean_T ssu_capt_ap_dcn_priorty,
boolean_T ssu_fo_ap_dcn_priorty,
boolean_T fmcp_a_alt_pb_sel,
boolean_T fmcp_a_ap_pb_sel,
boolean_T fmcp_a_appr_pb_sel,
boolean_T fmcp_a_at_pb_sel,
boolean_T fmcp_a_fd_td_pb_l_sel,
boolean_T fmcp_a_fd_td_pb_r_sel,
boolean_T fmcp_a_flc_pb_sel,
boolean_T fmcp_a_hdg_trk_pb_sel,
boolean_T fmcp_a_hdg_trk_sync_pb_sel,
boolean_T fmcp_a_lnav_pb_sel,
boolean_T fmcp_a_plt_side_pb_sel,
boolean_T fmcp_a_spd_toggle_pb_sel,
boolean_T fmcp_a_vnav_pb_sel,
boolean_T fmcp_a_vs_pb_sel,
boolean_T fmcp_b_alt_pb_sel,
boolean_T fmcp_b_ap_pb_sel,
boolean_T fmcp_b_appr_pb_sel,
boolean_T fmcp_b_at_pb_sel,
boolean_T fmcp_b_fd_td_pb_l_sel,
boolean_T fmcp_b_fd_td_pb_r_sel,
boolean_T fmcp_b_flc_pb_sel,
boolean_T fmcp_b_hdg_trk_pb_sel,
boolean_T fmcp_b_hdg_trk_sync_pb_sel,
boolean_T fmcp_b_lnav_pb_sel,
boolean_T fmcp_b_plt_side_pb_sel,
boolean_T fmcp_b_spd_toggle_pb_sel,
boolean_T fmcp_b_vnav_pb_sel,
boolean_T fmcp_b_vs_pb_sel,
int32_T fmcp_a_asel_knob_click_sel,
int32_T fmcp_b_asel_knob_click_sel,
int32_T fmcp_a_fpa_vs_knob_click_sel,
int32_T fmcp_b_fpa_vs_knob_click_sel,
int32_T fmcp_a_hdg_trk_knob_click_sel,
int32_T fmcp_b_hdg_trk_knob_click_sel,
int32_T fmcp_a_spd_knob_click_sel,
int32_T fmcp_b_spd_knob_click_sel,
boolean_T fmcp_a_spd_src_ref_sel,
boolean_T fmcp_a_hdg_trk_ref_sel,
boolean_T fmcp_b_spd_src_ref_sel,
boolean_T fmcp_b_hdg_trk_ref_sel,
boolean_T fmcp_a_asel_knob_resol_sel,
boolean_T fmcp_b_asel_knob_resol_sel,
boolean_T toga_sw_l_sel,
boolean_T toga_sw_r_sel,
boolean_T at_diseng_sw_l_sel,
boolean_T at_diseng_sw_r_sel,
real_T Beta_deg,
real_T da_deg,
real_T de_deg,
real_T dr_deg,
real_T dsplo5_deg,
real_T dsplo4_deg,
real_T dsplo3_deg,
real_T dsplo2_deg,
real_T dsplo1_deg,
real_T dspli3_deg,
real_T dspli2_deg,
real_T dspli1_deg,
real_T dspri1_deg,
real_T dspri2_deg,
real_T dspri3_deg,
real_T dspro1_deg,
real_T dspro2_deg,
real_T dspro3_deg,
real_T dspro4_deg,
real_T dspro5_deg,
real_T horizontal_tail_deg,
real_T flap_lever_in,
real_T RefArea_m2,
real_T qbar_Pa,
real_T mass_kg,
real_T Po_Pa,
real_T throttle,
real_T aoa_body_sel,
real_T *ap_tht_cmd,
real_T *ap_phi_cmd,
real_T *fd_roll_bar,
boolean_T *ap_dcn_warn_det,
real_T *throttle_c,
boolean_T *AP_Engage_Request_b,
boolean_T *ap_engaged,
boolean_T *at_control_mode_armed,
uint32_T *at_engaged_status,
uint32_T *at_control_mode,
uint32_T *appr_mode_arm,
uint32_T *appr_mode_engaged,
uint32_T *fd_arm_vert_mode_1,
uint32_T *fd_actv_lat_mode,
uint32_T *fd_actv_vert_mode,
uint32_T *fd_arm_lat_mode,
real_T *sel_alt_dspl,
real_T *sel_vs_dspl,
real_T *sel_fpa_dspl,
real_T *sel_hdg_trk_dspl,
real_T *sel_spd_dspl,
real_T *sel_mach_dspl,
real_T *fmcp_sel_fpa_vs,
boolean_T *alt_hld_ann,
boolean_T *ap_actv_ann,
boolean_T *appr_actv_ann,
boolean_T *appr_arm_ann,
boolean_T *at_actv_ann,
boolean_T *at_arm_ann,
boolean_T *flc_ann,
boolean_T *fpa_ann,
boolean_T *hdg_sel_ann,
boolean_T *ias_mach_ann,
boolean_T *fd_td_l_ann,
boolean_T *fd_td_r_ann,
boolean_T *lnav_actv_ann,
boolean_T *vnav_actv_ann,
boolean_T *vs_ann,
boolean_T *lnav_arm_ann,
real_T *fd_pitch_bar,
boolean_T *at_engaged,
real_T *loc_devn_sel,
real_T *gs_devn_sel
);
#endif /* RTW_HEADER_AFCS_Model_v2_20230705_h_ */
/*
* File trailer for generated code.
*
* [EOF]
*/