diff --git a/Tools/autotest/aircraft/Rascal/Rascal110-JSBSim-set.xml b/Tools/autotest/aircraft/Rascal/Rascal110-JSBSim-set.xml index 9787a7f78a..dacac84190 100644 --- a/Tools/autotest/aircraft/Rascal/Rascal110-JSBSim-set.xml +++ b/Tools/autotest/aircraft/Rascal/Rascal110-JSBSim-set.xml @@ -123,16 +123,17 @@ dynamics model, and external 3D model. diff --git a/Tools/autotest/aircraft/Rascal/Systems/airdata.nas b/Tools/autotest/aircraft/Rascal/Systems/airdata.nas index 8322cbb169..99bc911620 100644 --- a/Tools/autotest/aircraft/Rascal/Systems/airdata.nas +++ b/Tools/autotest/aircraft/Rascal/Systems/airdata.nas @@ -38,3 +38,32 @@ var update_airdata = func( dt ) { setprop("/accelerations/airspeed-ktps", accel_filt); } + +round10 = func(v) { + if (v == nil) return 0; + return 0.1*int(v*10); +} + +round100 = func(v) { + if (v == nil) return 0; + return 0.01*int(v*100); +} + +var update_vars = func( dt ) { + asl_ft = getprop("/position/altitude-ft"); + ground = getprop("/position/ground-elev-ft"); + agl_m = (asl_ft - ground) * 0.3048; + + setprop("/apm/altitude", round10(agl_m)); + + setprop("/apm/pitch", round10(getprop("/orientation/pitch-deg"))); + setprop("/apm/roll", round10(getprop("/orientation/roll-deg"))); + setprop("/apm/heading", round10(getprop("/orientation/heading-deg"))); + + setprop("/apm/aileron", round100(getprop("/surface-positions/right-aileron-pos-norm"))); + setprop("/apm/elevator", round100(getprop("/surface-positions/elevator-pos-norm"))); + setprop("/apm/rudder", round100(getprop("/surface-positions/rudder-pos-norm"))); + setprop("/apm/throttle", round10(getprop("/engines/engine/rpm"))); + # airspeed-kt is actually in feet per second (FDM NET bug) + setprop("/apm/airspeed", round10(0.3048*getprop("/velocities/airspeed-kt"))); +} diff --git a/Tools/autotest/aircraft/Rascal/Systems/main.nas b/Tools/autotest/aircraft/Rascal/Systems/main.nas index 7aec75186f..765227701c 100644 --- a/Tools/autotest/aircraft/Rascal/Systems/main.nas +++ b/Tools/autotest/aircraft/Rascal/Systems/main.nas @@ -10,6 +10,7 @@ var main_loop = func { last_time = time; update_airdata( dt ); + update_vars( dt ); update_ugear( dt ); settimer(main_loop, 0);