/* * 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 #include #include #include "tmwtypes.h" /* External inputs (root inport signals with default storage) */ typedef struct { real_T irs_pitch_ang_sel; /* '/irs_pitch_ang_sel' */ real_T irs_fpa_sel; /* '/irs_fpa_sel' */ real_T irs_roll_ang_sel; /* '/irs_roll_ang_sel' */ real_T irs_pitch_rate_sel; /* '/irs_pitch_rate_sel' */ real_T irs_inrtl_vert_spd_sel; /* '/irs_inrtl_vert_spd_sel' */ real_T irs_gnd_spd_sel; /* '/irs_gnd_spd_sel' */ real_T irs_true_hdg_sel; /* '/irs_true_hdg_sel' */ real_T irs_true_trk_ang_sel; /* '/irs_true_trk_ang_sel' */ real_T irs_longitude_accel_sel; /* '/irs_longitude_accel_sel' */ real_T irs_lat_accel_sel; /* '/irs_lat_accel_sel' */ real_T irs_norm_accel_sel; /* '/irs_norm_accel_sel' */ real_T ra_fltr_ht_sel; /* '/ra_fltr_ht_sel' */ real_T cas_vtd; /* '/cas_vtd' */ real_T mach_vtd; /* '/mach_vtd' */ real_T press_alt_vtd; /* '/press_alt_vtd' */ real_T baro_corr_alt_baro_set_1_vtd; /* '/baro_corr_alt_baro_set_1_vtd' */ real_T baro_corr_alt_baro_set_2_vtd; /* '/baro_corr_alt_baro_set_2_vtd' */ real_T tas_vtd; /* '/tas_vtd' */ boolean_T ssu_capt_ap_dcn_priorty; /* '/ssu_capt_ap_dcn_priorty' */ boolean_T ssu_fo_ap_dcn_priorty; /* '/ssu_fo_ap_dcn_priorty' */ boolean_T fmcp_a_alt_pb_sel; /* '/fmcp_a_alt_pb_sel' */ boolean_T fmcp_a_ap_pb_sel; /* '/fmcp_a_ap_pb_sel' */ boolean_T fmcp_a_appr_pb_sel; /* '/fmcp_a_appr_pb_sel' */ boolean_T fmcp_a_at_pb_sel; /* '/fmcp_a_at_pb_sel' */ boolean_T fmcp_a_fd_td_pb_l_sel; /* '/fmcp_a_fd_td_pb_l_sel' */ boolean_T fmcp_a_fd_td_pb_r_sel; /* '/fmcp_a_fd_td_pb_r_sel' */ boolean_T fmcp_a_flc_pb_sel; /* '/fmcp_a_flc_pb_sel' */ boolean_T fmcp_a_hdg_trk_pb_sel; /* '/fmcp_a_hdg_trk_pb_sel' */ boolean_T fmcp_a_hdg_trk_sync_pb_sel;/* '/fmcp_a_hdg_trk_sync_pb_sel' */ boolean_T fmcp_a_lnav_pb_sel; /* '/fmcp_a_lnav_pb_sel' */ boolean_T fmcp_a_plt_side_pb_sel; /* '/fmcp_a_plt_side_pb_sel' */ boolean_T fmcp_a_spd_toggle_pb_sel; /* '/fmcp_a_spd_toggle_pb_sel' */ boolean_T fmcp_a_vnav_pb_sel; /* '/fmcp_a_vnav_pb_sel' */ boolean_T fmcp_a_vs_pb_sel; /* '/fmcp_a_vs_pb_sel' */ boolean_T fmcp_b_alt_pb_sel; /* '/fmcp_b_alt_pb_sel' */ boolean_T fmcp_b_ap_pb_sel; /* '/fmcp_b_ap_pb_sel' */ boolean_T fmcp_b_appr_pb_sel; /* '/fmcp_b_appr_pb_sel' */ boolean_T fmcp_b_at_pb_sel; /* '/fmcp_b_at_pb_sel' */ boolean_T fmcp_b_fd_td_pb_l_sel; /* '/fmcp_b_fd_td_pb_l_sel' */ boolean_T fmcp_b_fd_td_pb_r_sel; /* '/fmcp_b_fd_td_pb_r_sel' */ boolean_T fmcp_b_flc_pb_sel; /* '/fmcp_b_flc_pb_sel' */ boolean_T fmcp_b_hdg_trk_pb_sel; /* '/fmcp_b_hdg_trk_pb_sel' */ boolean_T fmcp_b_hdg_trk_sync_pb_sel;/* '/fmcp_b_hdg_trk_sync_pb_sel' */ boolean_T fmcp_b_lnav_pb_sel; /* '/fmcp_b_lnav_pb_sel' */ boolean_T fmcp_b_plt_side_pb_sel; /* '/fmcp_b_plt_side_pb_sel' */ boolean_T fmcp_b_spd_toggle_pb_sel; /* '/fmcp_b_spd_toggle_pb_sel' */ boolean_T fmcp_b_vnav_pb_sel; /* '/fmcp_b_vnav_pb_sel' */ boolean_T fmcp_b_vs_pb_sel; /* '/fmcp_b_vs_pb_sel' */ int32_T fmcp_a_asel_knob_click_sel; /* '/fmcp_a_asel_knob_click_sel' */ int32_T fmcp_b_asel_knob_click_sel; /* '/fmcp_b_asel_knob_click_sel' */ int32_T fmcp_a_fpa_vs_knob_click_sel;/* '/fmcp_a_fpa_vs_knob_click_sel' */ int32_T fmcp_b_fpa_vs_knob_click_sel;/* '/fmcp_b_fpa_vs_knob_click_sel' */ int32_T fmcp_a_hdg_trk_knob_click_sel;/* '/fmcp_a_hdg_trk_knob_click_sel' */ int32_T fmcp_b_hdg_trk_knob_click_sel;/* '/fmcp_b_hdg_trk_knob_click_sel' */ int32_T fmcp_a_spd_knob_click_sel; /* '/fmcp_a_spd_knob_click_sel' */ int32_T fmcp_b_spd_knob_click_sel; /* '/fmcp_b_spd_knob_click_sel' */ boolean_T fmcp_a_spd_src_ref_sel; /* '/fmcp_a_spd_src_ref_sel' */ boolean_T fmcp_a_hdg_trk_ref_sel; /* '/fmcp_a_hdg_trk_ref_sel' */ boolean_T fmcp_b_spd_src_ref_sel; /* '/fmcp_b_spd_src_ref_sel' */ boolean_T fmcp_b_hdg_trk_ref_sel; /* '/fmcp_b_hdg_trk_ref_sel' */ boolean_T fmcp_a_asel_knob_resol_sel;/* '/fmcp_a_asel_knob_resol_sel' */ boolean_T fmcp_b_asel_knob_resol_sel;/* '/fmcp_b_asel_knob_resol_sel' */ boolean_T toga_sw_l_sel; /* '/toga_sw_l_sel' */ boolean_T toga_sw_r_sel; /* '/toga_sw_r_sel' */ boolean_T at_diseng_sw_l_sel; /* '/at_diseng_sw_l_sel' */ boolean_T at_diseng_sw_r_sel; /* '/at_diseng_sw_r_sel' */ real_T Beta_deg; /* '/Beta_deg' */ real_T da_deg; /* '/da_deg' */ real_T de_deg; /* '/de_deg' */ real_T dr_deg; /* '/dr_deg' */ real_T dsplo5_deg; /* '/dsplo5_deg' */ real_T dsplo4_deg; /* '/dsplo4_deg' */ real_T dsplo3_deg; /* '/dsplo3_deg' */ real_T dsplo2_deg; /* '/dsplo2_deg' */ real_T dsplo1_deg; /* '/dsplo1_deg' */ real_T dspli3_deg; /* '/dspli3_deg' */ real_T dspli2_deg; /* '/dspli2_deg' */ real_T dspli1_deg; /* '/dspli1_deg' */ real_T dspri1_deg; /* '/dspri1_deg' */ real_T dspri2_deg; /* '/dspri2_deg' */ real_T dspri3_deg; /* '/dspri3_deg' */ real_T dspro1_deg; /* '/dspro1_deg' */ real_T dspro2_deg; /* '/dspro2_deg' */ real_T dspro3_deg; /* '/dspro3_deg' */ real_T dspro4_deg; /* '/dspro4_deg' */ real_T dspro5_deg; /* '/dspro5_deg' */ real_T horizontal_tail_deg; /* '/horizontal_tail_deg' */ real_T flap_lever_in; /* '/flap_lever_in' */ real_T RefArea_m2; /* '/RefArea_m2' */ real_T qbar_Pa; /* '/qbar_Pa' */ real_T mass_kg; /* '/mass_kg' */ real_T Po_Pa; /* '/Po_Pa' */ real_T throttle; /* '/throttle' */ real_T aoa_body_sel; /* '/aoa_body_sel' */ } ExtU_AFCS_Model_v3_20230712_T; /* External outputs (root outports fed by signals with default storage) */ typedef struct { real_T ap_tht_cmd; /* '/ap_tht_cmd' */ real_T ap_phi_cmd; /* '/ap_phi_cmd' */ real_T fd_roll_bar; /* '/fd_roll_bar' */ boolean_T ap_dcn_warn_det; /* '/ap_dcn_warn_det' */ real_T throttle_c; /* '/throttle_c' */ boolean_T AP_Engage_Request_b; /* '/AP_Engage_Request_b' */ boolean_T ap_engaged; /* '/ap_engaged' */ boolean_T at_control_mode_armed; /* '/at_control_mode_armed' */ uint32_T at_engaged_status; /* '/at_engaged_status' */ uint32_T at_control_mode; /* '/at_control_mode' */ uint32_T appr_mode_arm; /* '/appr_mode_arm' */ uint32_T appr_mode_engaged; /* '/appr_mode_engaged' */ uint32_T fd_arm_vert_mode_1; /* '/fd_arm_vert_mode_1' */ uint32_T fd_actv_lat_mode; /* '/fd_actv_lat_mode' */ uint32_T fd_actv_vert_mode; /* '/fd_actv_vert_mode' */ uint32_T fd_arm_lat_mode; /* '/fd_arm_lat_mode' */ real_T sel_alt_dspl; /* '/sel_alt_dspl' */ real_T sel_vs_dspl; /* '/sel_vs_dspl' */ real_T sel_fpa_dspl; /* '/sel_fpa_dspl' */ real_T sel_hdg_trk_dspl; /* '/sel_hdg_trk_dspl' */ real_T sel_spd_dspl; /* '/sel_spd_dspl' */ real_T sel_mach_dspl; /* '/sel_mach_dspl' */ real_T fmcp_sel_fpa_vs; /* '/fmcp_sel_fpa_vs' */ boolean_T alt_hld_ann; /* '/alt_hld_ann' */ boolean_T ap_actv_ann; /* '/ap_actv_ann' */ boolean_T appr_actv_ann; /* '/appr_actv_ann' */ boolean_T appr_arm_ann; /* '/appr_arm_ann' */ boolean_T at_actv_ann; /* '/at_actv_ann' */ boolean_T at_arm_ann; /* '/at_arm_ann' */ boolean_T flc_ann; /* '/flc_ann' */ boolean_T fpa_ann; /* '/fpa_ann' */ boolean_T hdg_sel_ann; /* '/hdg_sel_ann' */ boolean_T ias_mach_ann; /* '/ias_mach_ann' */ boolean_T fd_td_l_ann; /* '/fd_td_l_ann' */ boolean_T fd_td_r_ann; /* '/fd_td_r_ann' */ boolean_T lnav_actv_ann; /* '/lnav_actv_ann' */ boolean_T vnav_actv_ann; /* '/vnav_actv_ann' */ boolean_T vs_ann; /* '/vs_ann' */ boolean_T lnav_arm_ann; /* '/lnav_arm_ann' */ real_T fd_pitch_bar; /* '/fd_pitch_bar' */ boolean_T at_engaged; /* '/at_engaged' */ real_T loc_devn_sel; /* '/loc_devn_sel' */ real_T gs_devn_sel; /* '/gs_devn_sel' */ } ExtY_AFCS_Model_v3_20230712_T; /* External inputs (root inport signals with default storage) */ extern ExtU_AFCS_Model_v3_20230712_T AFCS_Model_v3_20230712_U; /* External outputs (root outports fed by signals with default storage) */ extern ExtY_AFCS_Model_v3_20230712_T AFCS_Model_v3_20230712_Y; /* External data declarations for dependent source files */ /* Model entry point functions */ extern void AFCS_Model_v3_20230712_initialize(void); extern void AFCS_Model_v3_20230712_step(void); extern void AFCS_Model_v3_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] */