From 68fc719ba9b9ca19e363d6960b5456d70de87e26 Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Sun, 29 Dec 2013 22:49:59 +0100 Subject: [PATCH 1/2] flightgear HIL add catapult to Malolo1 --- files/flightgear/Aircraft/Malolo1/Malolo1-set.xml | 26 ++++++++++++++ files/flightgear/Aircraft/Malolo1/Malolo1.xml | 15 ++++++++ .../flightgear/Aircraft/Malolo1/Nasal/catapult.nas | 42 ++++++++++++++++++++++ .../Aircraft/Malolo1/readme_qgroundcontrol.txt | 3 ++ 4 files changed, 86 insertions(+) create mode 100644 files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas create mode 100644 files/flightgear/Aircraft/Malolo1/readme_qgroundcontrol.txt diff --git a/files/flightgear/Aircraft/Malolo1/Malolo1-set.xml b/files/flightgear/Aircraft/Malolo1/Malolo1-set.xml index c85509b..67eda11 100644 --- a/files/flightgear/Aircraft/Malolo1/Malolo1-set.xml +++ b/files/flightgear/Aircraft/Malolo1/Malolo1-set.xml @@ -63,9 +63,33 @@ dynamics model, and external 3D model. Approach speed: 15-25 mph Stall speed (Vs): 10 mph + + + + + true + + + + nasal + + + + + + + + + + Aircraft/Malolo1/Nasal/catapult.nas + + + -0.01 @@ -100,4 +124,6 @@ dynamics model, and external 3D model. + + diff --git a/files/flightgear/Aircraft/Malolo1/Malolo1.xml b/files/flightgear/Aircraft/Malolo1/Malolo1.xml index c12a9ae..a38ff1f 100644 --- a/files/flightgear/Aircraft/Malolo1/Malolo1.xml +++ b/files/flightgear/Aircraft/Malolo1/Malolo1.xml @@ -543,4 +543,19 @@ + + + + + 0 + 0 + 0 + + + 1 + 0 + 0 + + + diff --git a/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas b/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas new file mode 100644 index 0000000..e576822 --- /dev/null +++ b/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas @@ -0,0 +1,42 @@ +var launchCatapult = func { + # time on catapult = 1/10 sec + # speed when leaving catapult = 50 km/h ? + var countdownRunning = 1; + var count = 5; + var countdown = func { + if (countdownRunning) { + if (count != 0) { + setprop("/sim/screen/white",count); + count = count - 1; + settimer(countdown, 1); + } + else { + countdownRunning = 0; + setprop("/sim/screen/yellow","Go!"); + launch(); + var launchPad = aircraft.door.new("/sim/model/X100/launch-pad", 0.2); + launchPad.toggle(); + } + } + } + countdown(); + + var launchRunning = 1; + var magnitude = 230; # lbs, unrealisticly high, because the FDM is wrong + var launch = func { + if (launchRunning) { + if (magnitude == 0){ + launchRunning = 0; + + # remove launcher contact points + setprop("/fdm/jsbsim/contact/unit[6]/pos-norm",0); + setprop("/fdm/jsbsim/contact/unit[7]/pos-norm",0); + setprop("/fdm/jsbsim/contact/unit[8]/pos-norm",0); + } + setprop("/fdm/jsbsim/external_reactions/catapult/magnitude",magnitude); + print (magnitude); + magnitude = 0; + settimer(launch, 0.1); + } + } +} diff --git a/files/flightgear/Aircraft/Malolo1/readme_qgroundcontrol.txt b/files/flightgear/Aircraft/Malolo1/readme_qgroundcontrol.txt new file mode 100644 index 0000000..a1eb2c4 --- /dev/null +++ b/files/flightgear/Aircraft/Malolo1/readme_qgroundcontrol.txt @@ -0,0 +1,3 @@ +This is the original Malolo1 model with added catapult functionality. The catapult is from https://gitorious.org/mavlab/x100/ + +-Thomas Gubler From fa6724185a469e24e3b1c204838ea02599b174ca Mon Sep 17 00:00:00 2001 From: Thomas Gubler Date: Mon, 30 Dec 2013 23:57:19 +0100 Subject: [PATCH 2/2] flightgear malolo1: small change to catapult, reduce catapult countdown time --- files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas b/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas index e576822..519d72f 100644 --- a/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas +++ b/files/flightgear/Aircraft/Malolo1/Nasal/catapult.nas @@ -2,7 +2,7 @@ var launchCatapult = func { # time on catapult = 1/10 sec # speed when leaving catapult = 50 km/h ? var countdownRunning = 1; - var count = 5; + var count = 3; var countdown = func { if (countdownRunning) { if (count != 0) { @@ -14,8 +14,6 @@ var launchCatapult = func { countdownRunning = 0; setprop("/sim/screen/yellow","Go!"); launch(); - var launchPad = aircraft.door.new("/sim/model/X100/launch-pad", 0.2); - launchPad.toggle(); } } }