Skip to content
Snippets Groups Projects
Select Git revision
  • v4.0.1_stable
  • master default protected
  • thesis
  • fmics-2021
  • vanadium
  • afadl-2021
  • functional-verification
  • v5.17_devel
  • v5.16.0_stable
  • v5.15_devel
  • v5.14.0_stable
  • v5.13.0_testing
  • v5.13_devel
  • v5.12_stable
  • v5.11_devel
  • v5.10_stable
  • v5.9.0_testing
  • v5.8.2_stable
  • v5.8.1_stable
  • v5.9_devel
  • v5.8.0_stable
  • v5.7.1_testing
  • v5.7.0_testing
  • v5.7_devel
  • v5.6.0_stable
  • v5.5.2_testing
  • v5.5.1_testing
27 results

sim_ac_jsbsim.h

Blame
  • user avatar
    Felix Ruess authored
    3c3a5a60
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    sim_ac_jsbsim.h 1.85 KiB
    /*
     * $Id$
     *
     * Copyright (C) 2008 Gautier Hattenberger
     *
     * This file is part of paparazzi.
     *
     * paparazzi is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2, or (at your option)
     * any later version.
     *
     * paparazzi is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with paparazzi; see the file COPYING.  If not, write to
     * the Free Software Foundation, 59 Temple Place - Suite 330,
     * Boston, MA 02111-1307, USA.
     *
     */
    
    #ifndef SIM_AC_JSBSIM_H
    #define SIM_AC_JSBSIM_H
    
    #include <FGFDMExec.h>
    #include <FGJSBBase.h>
    #include <models/FGPropulsion.h>
    
    #include "std.h"
    #include "generated/airframe.h"
    #include "generated/flight_plan.h"
    #include "mcu_periph/sys_time.h"
    
    #include <Ivy/ivy.h>
    
    #ifndef JSBSIM_PERIOD
    #define JSBSIM_SPEEDUP 4 ///< how many JSBSim calls per A/P control loop call?
    #define JSBSIM_PERIOD (1000.0/CONTROL_RATE/JSBSIM_SPEEDUP) ///< JSBSim timestep in milliseconds
    #else
    #define JSBSIM_SPEEDUP ((uint8_t) (1000./CONTROL_RATE/JSBSIM_PERIOD))
    #endif
    #define DT (JSBSIM_PERIOD*1e-3) ///< JSBSim timestep in seconds
    
    #define SYSTIME_PERIOD ((uint32_t)(SYS_TIME_RESOLUTION * 1000)) ///< in msec
    
    #define RAD2DEG 57.29578
    #define FT2M 0.3048
    
    extern bool run_model;
    
    void autopilot_init(void);
    void autopilot_periodic_task(void);
    void autopilot_event_task(void);
    void jsbsim_init(void);
    void copy_inputs_to_jsbsim(JSBSim::FGFDMExec* FDMExec);
    void copy_outputs_from_jsbsim(JSBSim::FGFDMExec* FDMExec);
    bool check_crash_jsbsim(JSBSim::FGFDMExec* FDMExec);
    
    
    #endif // SIM_AC_JSBSIM_H