Skip to content

Commit

Permalink
[board] add support of the MatekF405 board
Browse files Browse the repository at this point in the history
includes baro bmp280 and updated max7456 osb

Squashed commit of the following:

commit 647ec61
Author: Gautier Hattenberger <gautier.hattenberger@enac.fr>
Date:   Wed Oct 14 18:33:02 2020 +0200

    [conf] matek board module only configure internal sensors

    it makes it easier to reuse by other people

commit 9bfa966
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:41:32 2020 +0300

    Easyglider with Matek F405 Wing autopilot airframes

    Added coordinated turning using both the ailerons and the rudder in Auto2

commit e736781
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:40:05 2020 +0300

    Easyglider with Matek F405 Wing autopilot airframes.

    I added the combi switch for coordinated turns using both the alilerons and the rudder in Auto2.

commit 8be348a
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 17:39:02 2020 +0300

    Easyglider with Matek F405 Wing autopilot

    I added the combi switch for coordinated turns using both the alilerons and the rudder in Auto2.

commit c0f7339
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:19:35 2020 +0300

    Easyglider and Matek wing autopilot module autoload file

    I just added some comments.

commit c464570
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:12:44 2020 +0300

    Easyglider with Matek wing autopilot and module autoload/

    This airframe file needs the paparazzi/conf/module/board_matek_wing.xml file in order to compile.

commit 2c27358
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 16:04:50 2020 +0300

    board module for auto loading the required modules

    I don't usually change those airframe modules so i put them all in the board module file.

commit 58e1e55
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:34:18 2020 +0300

    Removed the Baro definitions and cleaned up the file.

commit a1a47ec
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:30:02 2020 +0300

    Corrected the autopilot type and link to the manufacturer.

commit 870f2d2
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 13:26:41 2020 +0300

    Removed the .xml file type from modules and changed the spoken aircraft name.

commit 700141c
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 08:05:31 2020 +0300

    Added support for the Matek F405 Wing autopilot OSD.

    Removed all warning and pragma messages and used PRINT_CONFIG_MSG() instead.
    Added support for rotorcrafts which i don't like....
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit fe17c02
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Wed Oct 14 07:30:11 2020 +0300

    Update osd_max7456.xml

    I removed the PAL or NTSC selection because i think this should be done in the airframe file.

commit a196651
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 22:38:21 2020 +0300

    Matek F405 Wing OSD support

    Added support for rotorcrafts which i don't like....
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit 4edaecc
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 21:34:38 2020 +0300

    Matek OSD support

    I changed the HOME waypoint altitude to ground alt in order to avoid a compiler error about not finding  waypoints[WP_HOME].a
    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit 201d5e7
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 19:51:15 2020 +0300

    Delete Easystar_matek_f405_wing.xml

commit a6730fb
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 19:49:50 2020 +0300

    Easyglider airframe file corrected.

    It had the parachute radio channel in it which doesn't exist but strangely it was compiling fine here until i deleted the aircraft and created a new one.

commit a430091
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:26:31 2020 +0300

    Baro BMP280 files

    I can only test the BMP280 in I2C mode so SPI must wait...

commit 2bc2521
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:22:47 2020 +0300

    Barometer BMP280 files

    This time only double precision is available.

commit 03dc09d
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:18:16 2020 +0300

    Matek F405 Wing board header file

    The Matek autopilot can measure up to 104A so logically 104 /4096 step of the ADC should give 25,3 ma for every adc count.
    Some measurements are needed.

commit c77c236
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 18:04:49 2020 +0300

    Barometer BMP280 module XML file.

commit 2e3721b
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 16:21:06 2020 +0300

    Improved OSD and Matek type OSD support.

    Matek osd will work now, TEXT artificial horizon is added, additional string format capabilities are given in the osd_put_s() and osd_sprintf() functions , able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting and hoping that the OSD is not busy.

commit f67172d
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:48:54 2020 +0300

    Radio file for OPENTX radios and 8 channels PPM signal

commit 2943413
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:45:37 2020 +0300

    Telemetry file for use with the orangerx loaded with the OPENLRSNG firmware

    Telemetry file for use with the orangerx 433 Mhz receiver or any other OPENLRSNG capable receiver.
    The OPENLRSNG receivers have a transparent serial datalink built in to the radio control signal thus eliminating the need for a separate modem.

commit e8905c8
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 15:38:53 2020 +0300

    Easystar glider with the MATEK F405 WING

    Airframe file of the Easystar powered glider with the Matek F405 Wing autopilot.

commit de3f5f5
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 12:33:09 2020 +0300

    improved osd

    Matek osd will work now, TEXT artificial horizon, additional string format capabilities, able to inject special osd character code in to a string to be sent to the osd display
    and the code now checks the osd chip's busy flag instead of waiting.

commit 78ae7cc
Author: hendrixgr <hendrixgr@gmail.com>
Date:   Tue Oct 13 12:27:56 2020 +0300

    matek f405 wing autopilot makefile
  • Loading branch information
hendrixgr authored and gautierhattenberger committed Oct 14, 2020
1 parent 972b17a commit 8b56049
Show file tree
Hide file tree
Showing 15 changed files with 2,562 additions and 215 deletions.
336 changes: 336 additions & 0 deletions conf/airframes/matek_f405_wing/Easyglider_matek_f405_autoload.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,336 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">

<airframe name="Easyglider_Matek">
<description>
Easyglider from Multiplex
BOARD = Matek f405 Wing
IMU = MPU6000
BARO = BMP280
Radio modem: OPENLRSNG
Radio control: OPENLRSNG
GPS: Ublox
On Board OSD
On board current sensor
</description>

<firmware name="fixedwing">
<target name="ap" board="matek_f405_wing_v1"/>
<target name="sim" board="pc"/>

<define name="AGR_CLIMB"/>
<define name="WIND_INFO"/>
<define name="WIND_INFO_RET"/>
<define name="STRONG_WIND"/>
<define name="USE_ADC_1"/>
<define name="USE_ADC_2"/>
<define name="USE_ADC_3"/>
<define name="USE_ADC_4"/>
<define name="AHRS_TRIGGERED_ATTITUDE_LOOP"/>
<define name="USE_AHRS_GPS_ACCELERATIONS"/>
<define name="MAGNETOMETER_AVAILABLE" value="0" />
<define name="BAROMETER_AVAILABLE" value="0" />

<!-- load standard internal sensors, then custom modules -->
<module name="board_matek_wing">
<define name="BMP280_SYNC_SEND"/>
</module>

<module name="telemetry" type="transparent">
<configure name="MODEM_BAUD" value="B57600"/>
<configure name="MODEM_PORT" value="UART6 "/>
</module>
<module name="gps" type="ublox" >
<configure name="GPS_BAUD" value="B38400"/>
<configure name="GPS_PORT" value="UART1"/>
<configure name="GPS_LED" value="2"/>
</module>
<module name="control" />
<module name="radio_control" type="ppm">
<define name="RADIO_CONTROL_PPM_PIN" value="UART2_RX"/>
</module>
<module name="navigation"/>
<module name="ahrs" type="float_dcm"/>
<module name="ins" type="alt_float">
<configure name="USE_MAGNETOMETER" value="0"/>
<define name="AHRS_USE_GPS_HEADING" value="1"/>
<define name="AHRS_GRAVITY_UPDATE_COORDINATED_TURN"/>
</module>
<module name="nav_line"/>
<module name="gps_ubx_ucenter"/>

</firmware>

<firmware name="setup">
<target name="tunnel" board="matek_f405_wing_v1" />
<target name="usb_tunnel" board="matek_f405_wing_v1">
<configure name="TUNNEL_PORT" value="UART3"/>
</target>
</firmware>

<servos>
<servo name="MOTOR" no="0" min="1100" neutral="1100" max="2000"/>
<servo name="AILERON" no="2" min="2000" neutral="1500" max="1000"/>
<servo name="ELEVATOR" no="3" min="2000" neutral="1500" max="1000"/>
<servo name="RUDDER" no="4" min="1000" neutral="1500" max="2000"/>
<servo name="CAM_PAN" no="5" min="943" neutral="1520" max="2056"/>
<servo name="CAM_TILT" no="6" min="996" neutral="1221" max="2004"/>
<servo name="PARACHUTE" no="7" min="950" neutral="950" max="2050"/>
</servos>

<commands>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="0"/>
<axis name="THROTTLE" failsafe_value="0"/>
<axis name="YAW" failsafe_value="2000"/>
<axis name="CAM_PAN" failsafe_value="0"/>
<axis name="CAM_TILT" failsafe_value="0"/>
<axis name="PARACHUTE" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="THROTTLE" value="@THROTTLE"/>
<set command="YAW" value="@YAW"/>
</rc_commands>

<section name="MIXER">
<define name="AILERON_DIFF" value="0.66"/>
<define name="COMBI_SWITCH" value="0.3"/>
</section>

<command_laws>
<set servo="MOTOR" value="@THROTTLE"/>
<set servo="AILERON" value="@ROLL"/>
<set servo="ELEVATOR" value="@PITCH"/>
<set servo="RUDDER" value="@YAW + @ROLL*COMBI_SWITCH"/>
<set servo="CAM_PAN" value="@CAM_PAN"/>
<set servo="CAM_TILT" value="@CAM_TILT"/>
<set servo="PARACHUTE" value="@PARACHUTE"/>
</command_laws>

<!-- EMPTY "auto_rc_commands" block means NO RC RUDDER CONTROL IN AUTO2 AND AUTO1 -->
<auto_rc_commands>
<!--
<set command="YAW" value="@YAW"/>
-->
</auto_rc_commands>


<ap_only_commands>
<copy command="CAM_PAN"/>
<copy command="CAM_TILT"/>
</ap_only_commands>

<!--
Normalized Local magnetic field obtained from http://www.ngdc.noaa.gov/geomag-web/#igrfwmm
Magnetic field intensity (North-East-vertical) / total field strength
H_x = INTENSITY_x / Total Magnetic Field
Total Magnetic Field = (intensityEAST^2+intensityNORTH^2+intensityVERTICAL^2)
Calculated for LAGONISI ATTIKI 21 AUGUST 2020
-->
<section name="AHRS" prefix="AHRS_" >
<define name="MAG_DECLINATION" value="5.3" />
<define name="H_X" value="(25242.1/47035.5)" />
<define name="H_Y" value="(2224.0/47035.5)" />
<define name="H_Z" value="(39626.2/47035.5) " />
</section>

<section name="IMU" prefix="IMU_">
<!-- Calibration Neutral -->
<define name="GYRO_P_NEUTRAL" value="0"/>
<define name="GYRO_Q_NEUTRAL" value="0"/>
<define name="GYRO_R_NEUTRAL" value="0"/>

<!-- SENS = 14.375 LSB/(deg/sec) * 57.6 deg/rad = 828 LSB/rad/sec / 12bit FRAC: 4096 / 828 -->
<define name="GYRO_P_SENS" value="4.947" integer="16"/>
<define name="GYRO_Q_SENS" value="4.947" integer="16"/>
<define name="GYRO_R_SENS" value="4.947" integer="16"/>

<define name="GYRO_P_Q" value="0."/>
<define name="GYRO_P_R" value="0"/>
<define name="GYRO_Q_P" value="0."/>
<define name="GYRO_Q_R" value="0."/>
<define name="GYRO_R_P" value="0."/>
<define name="GYRO_R_Q" value="0."/>

<define name="GYRO_P_SIGN" value="1"/>
<define name="GYRO_Q_SIGN" value="-1"/>
<define name="GYRO_R_SIGN" value="-1"/>

<define name="ACCEL_X_SIGN" value="1"/>
<define name="ACCEL_Y_SIGN" value="-1"/>
<define name="ACCEL_Z_SIGN" value="-1"/>

<define name="MAG_X_SIGN" value="1"/>
<define name="MAG_Y_SIGN" value="1"/>
<define name="MAG_Z_SIGN" value="1"/>

<define name="BODY_TO_IMU_PHI" value="0." unit="deg"/>
<define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>
<define name="BODY_TO_IMU_PSI" value="-90." unit="deg"/> <!-- YAW -->
</section>

<section name="INS" prefix="INS_">
<define name="ROLL_NEUTRAL_DEFAULT" value="RadOfDeg(0)" unit="radians"/>
<define name="PITCH_NEUTRAL_DEFAULT" value="RadOfDeg(0)" unit="radians"/>
</section>

<section name="AUTO1" prefix="AUTO1_">
<define name="MAX_ROLL" value="50" unit="deg"/>
<define name="MAX_PITCH" value="40" unit="deg"/>
</section>

<section name="VERTICAL CONTROL" prefix="V_CTL_">
<!-- OUTER LOOP PARAMETERS -->
<!-- The below definition affect the throttle percentage shown on the GCS. -->
<define name="POWER_CTL_BAT_NOMINAL" value="12.6" unit="volt"/>
<!-- outer loop ALTITUDE proportional gain -->
<define name="ALTITUDE_PGAIN" value="0.07" unit="(m/s)/m"/>
<!-- outer loop ALTITUDE LIMIT (saturation) -->
<define name="ALTITUDE_MAX_CLIMB" value="3" unit="m/s"/>
<!-- outer loop AIRSPEED proportional gain -->
<define name="AIRSPEED_PGAIN" value="0.2"/>

<!-- INNER LOOP PARAMETERS -->
<!-- The below definitions are used almost always -->
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.50" unit="%"/>
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.40" unit="%"/>
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.60" unit="%"/>
<define name="THROTTLE_SLEW_LIMITER" value="0.6" unit="s"/>
<define name="AUTO_PITCH_MAX_PITCH" value="RadOfDeg(25)"/>
<define name="AUTO_PITCH_MIN_PITCH" value="RadOfDeg(-20)"/>

<!-- Climb loop (throttle) -->
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_PITCH" value="0.0" unit="rad"/>
<define name="AUTO_THROTTLE_PGAIN" value="0.008" unit="%/(m/s)"/>
<define name="AUTO_THROTTLE_IGAIN" value="0.0"/>
<define name="AUTO_THROTTLE_DGAIN" value="0.001"/>

<!-- Climb loop (pitch) -->
<!-- magnitude of elevator movement on altitude change -->
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.15" unit="rad/(m/s)"/>
<define name="AUTO_PITCH_PGAIN" value="0.04"/>
<define name="AUTO_PITCH_IGAIN" value="0.01"/>
<define name="AUTO_PITCH_DGAIN" value="0.0"/>

<!-- Loiter and Dash trimming -->
<define name="AUTO_THROTTLE_LOITER_TRIM" value="0" unit="pprz_t"/>
<define name="AUTO_THROTTLE_DASH_TRIM" value="0" unit="pprz_t"/>
<define name="PITCH_LOITER_TRIM" value="0" unit="pprz_t"/>
<define name="PITCH_DASH_TRIM" value="0" unit="pprz_t"/>

</section>

<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
<define name="COURSE_PGAIN" value="0.8"/>
<define name="COURSE_DGAIN" value="0.8"/>
<define name="COURSE_PRE_BANK_CORRECTION" value="1."/>
<define name="PITCH_MAX_SETPOINT" value="20" unit="deg"/>
<define name="PITCH_MIN_SETPOINT" value="-20" unit="deg"/>
<define name="PITCH_PGAIN" value="8000."/>
<define name="ROLL_MAX_SETPOINT" value="45" unit="deg"/>
<define name="ROLL_SLEW" value="0.1"/>
<define name="ROLL_ATTITUDE_GAIN" value="8000"/>
<define name="ROLL_RATE_GAIN" value="500."/>
<define name="PITCH_OF_ROLL" value="RadOfDeg(1.0)"/>
<define name="ELEVATOR_OF_ROLL" value="1250"/>
<define name="AILERON_OF_THROTTLE" value="0.0"/>
<define name="PITCH_DGAIN" value="6."/>
<define name="PITCH_IGAIN" value="100."/>
</section>

<section name="BAT">
<!-- FOR USE WITH A CURRENT SENSOR -->
<define name="CATASTROPHIC_BAT_LEVEL" value="7.5" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="8.5" unit="V"/>
<define name="LOW_BAT_LEVEL" value="9.3" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.6" unit="V"/>
</section>

<section name="MISC">
<define name="CLIMB_AIRSPEED" value="15." unit="m/s"/>
<define name="GLIDE_AIRSPEED" value="14." unit="m/s"/>
<define name="RACE_AIRSPEED" value="25." unit="m/s"/>
<define name="STALL_AIRSPEED" value="10." unit="m/s"/>
<define name="AIRSPEED_SETPOINT_SLEW" value="1" unit="s"/>
<define name="NOMINAL_AIRSPEED" value="16" unit="m/s"/>
<define name="MINIMUM_AIRSPEED" value="14." unit="m/s"/>
<define name="MAXIMUM_AIRSPEED" value="26." unit="m/s"/>
<define name="CARROT" value="3." unit="s"/>
<define name="GLIDE_RATIO" value="7."/>
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
<define name="CONTROL_FREQUENCY" value="60" unit="Hz"/>
<define name="XBEE_INIT" value="\"ATPL2\rATRN1\rATTT80\r\""/>
<define name="NO_XBEE_API_INIT" value="TRUE"/>
<define name="TRIGGER_DELAY" value="1."/>
<define name="DEFAULT_CIRCLE_RADIUS" value="60."/>

<!-- MIN_CIRCLE_RADIUS used and needed for spiral navigation function and panic autolanding turns-->
<define name="MIN_CIRCLE_RADIUS" value="40."/>

<!--UNLOCKED_HOME_MODE if set to TRUE means that HOME mode does not get stuck.
If not set before when you would enter home mode you had to flip a bit via the GCS to get out. -->
<define name="UNLOCKED_HOME_MODE" value="TRUE"/>

<!-- RC_LOST_MODE means that if your RC Transmitter signal is not received anymore in the autopilot, e.g. you switch it off
or fly a long range mission you define the wanted mode behaviour here.
If you do not define it, it defaults to flying to the flightplan HOME -->
<define name="RC_LOST_MODE" value="AP_MODE_AUTO2"/>
</section>

<section name="AGGRESSIVE" prefix="AGR_">
<define name="BLEND_START" value="40"/> <!-- Altitude Error to Initiate Aggressive Climb CANNOT BE ZERO!!-->
<define name="BLEND_END" value="10"/> <!-- Altitude Error to Blend Aggressive to Regular Climb Modes NOT ZERO!!-->
<define name="CLIMB_THROTTLE" value="1.0"/> <!-- Gaz for Aggressive Climb -->
<define name="CLIMB_PITCH" value="RadOfDeg(20)"/> <!-- Pitch for Aggressive Climb -->
<define name="DESCENT_THROTTLE" value="0.1"/> <!-- Gaz for Aggressive Decent -->
<define name="DESCENT_PITCH" value="RadOfDeg(-20)"/> <!-- Pitch for Aggressive Decent -->
<define name="CLIMB_NAV_RATIO" value="0.8"/> <!-- Percent Navigation for Altitude Error Equal to Start Altitude -->
<define name="DESCENT_NAV_RATIO" value="1.0"/>
</section>

<section name="NAV">
<define name="NAV_PITCH" value="0."/>
<define name="NAV_GLIDE_PITCH_TRIM" value="0"/>
<define name="NAV_GROUND_SPEED_PGAIN" value="0.015"/>
<define name="NAV_FOLLOW_PGAIN" value="-0.05"/>
</section>

<section name="GLS_APPROACH" prefix="APP_">
<define name="ANGLE" value="5"/>
<define name="INTERCEPT_AF_TOD" value="10"/>
<define name="TARGET_SPEED" value="13"/>
</section>

<section name="FAILSAFE" prefix="FAILSAFE_">
<define name="DELAY_WITHOUT_GPS" value="1" unit="s"/>
<define name="DEFAULT_THROTTLE" value="0.8" unit="%"/>
<define name="DEFAULT_ROLL" value="10" unit="deg"/>
<define name="DEFAULT_PITCH" value="10" unit="deg"/>
<define name="HOME_RADIUS" value="100" unit="m"/>
<define name="KILL_MODE_DISTANCE" value="(MAX_DIST_FROM_HOME*1.5)"/>
</section>

<section name="DATALINK" prefix="DATALINK_">
<define name="DEVICE_TYPE" value="PPRZ"/>
<define name="DEVICE_ADDRESS" value="...."/>
</section>

<section name="GCS">
<define name="AC_ICON" value="flyingwing"/>
<define name="ALT_SHIFT_PLUS_PLUS" value="100"/>
<define name="ALT_SHIFT_PLUS" value="10"/>
<define name="ALT_SHIFT_MINUS" value="-10"/>
<define name="SPEECH_NAME" value="Easyglider"/>
</section>

<section name="SIMU">
<define name="WEIGHT" value ="1."/>
<define name="YAW_RESPONSE_FACTOR" value =".9"/>
<define name="PITCH_RESPONSE_FACTOR" value ="1.5"/>
<define name="ROLL_RESPONSE_FACTOR" value ="20."/>
</section>

</airframe>
Loading

0 comments on commit 8b56049

Please sign in to comment.