This patch for the 3d artificial horizon enables the movement of the
reference bar like the 2d instrument and corrects the wrong display of
pitch.
The original version already has a reference bar object in the .ac file
called bezel, but it is not bound to a animation. And the pitch is
indicated approx. 25% low so a pitch of +10deg is indicated as approx.
7deg.
"I have been working with Torsten Dryer to model
these three autopilots that are very common in aircraft manufactured in
the 1960s through the late 1980s. The Altimatic IIIc in the SenecaII is
a variation on the Century III and uses the same nasal model."
mf: these should be in cvs since a while; somehow I missed them, sorry
"For more than a month, I have been working with Torsten Dryer to model
these three autopilots that are very common in aircraft manufactured in
the 1960s through the late 1980s. The Altimatic IIIc in the SenecaII is
a variation on the Century III and uses the same nasal model."
A camera tool for making fgfs videos (heavily used by Michelle) and for
tracking MP and AI aircraft. It's planned to include this into the regular
ufo, but for now it's better to keep them separated. Comes with its own
panel, which (hopefully) is self-explaining.
Shouldn't be announced on the fgfs page as separate aircraft (if that's
possible). Work in progress ...
At the moment only the range can be changed via panel click action
(click on the range numbers). Weather radar can be turned on in
/instrumentation/radar/display-controls/WX. ai/mp display to come.
For those who miss the old 2D panel, just use an aircraft with a decent
panel and add --fdm=ufo for the same effect.
algorithm (needed for the file selector and useful for other purposes, like
assembling lists of livery or screenshot files etc.)
- io.nas: move fixpath to string.nas (it's not only useful for file paths
but can also be used for property paths)
- screen.nas: move trim to string.nas (used by screen.nas and nasal-console.xml)
- gui.nas: add pattern matching to FileSelctor
- ufo.nas: use patterm matching (only *.ac and *.xml files shall be listed)
- in replay mode
- when trying to raise the flaps, but they are already fullly up
- when trying to retrace the gear, but it is already retracted
more cleanup later ... much later :-)
- Automatic pitch trim (use autopilot/KAP140/settings/auto-pitch-trim to turn
on/off)
- Aural altitude alerter. Uses the same sound file as the stall warning.
- Replace custom flasher routines with nasal aircraft.light objects.
- Cleanup.
Updated electrical system ...instrument light output normalized
Added OSG hotspots to most instruments ... more to go yet
PLIB hotspots temporarily broken ..need to resize panel to avoid whiteouts...
(a waste of time ) but some still use PLIB , so needs to be fixed ... ;)
- fix breakage due to former commit (AIManager.cxx, r1.72)
- make AI properties available in AIBase
- add <valid> property for animations/nasal scripts
- support more MP and AI targets
- add target select and altitude display
Updated KFC200 ALTITUDE mode ... sets pitch hold until selected altitude is captured ... pitch controlled by switch on controller...
KNS 80 nav radio can store 1 selected radial per stored frequency ... stored distance will come when I understand RNAV better...
More instruments underway....
Aligned hotspots...
Moved kfc200.nas to Instruments-3d where it belongs...
Redoing the kfc200 flightdirector with newer functions (setlisteners) ...still in progress
Updated radios to change standby frequencies instead of selected frequencies....
Updated CitationX autopilot....
Autopilot is in flightdirector mode by default...
Until instruments are created , enable autopilot by setting "/autopilot/locks/passive-mode" to false
a cursor, after all, and the term "cursor" is already used for the startup
model. That one should really be called "model", but can't, because this is
already used for the ufo 3D model property ... sigh. :-]
- replace lon/lat adjustment with more predictable nearer/farther/left/right
adjustment (i.e. movements relative to the UFO position)
- add key bindings to move objects
This patch makes the pa24 changes to use the mag.sw from Instruments 3d.
Changed the mag_switch.ac to include the pick rectangles and the
mags.xml to use the pick automation. Also includes the edits to
pa28-161.xml and pa28-161-set.xml to use the 3d radio stack.
Changes:
1. remove typo from all the /Systems/KAP140.xml files
2. changes to put radio_stack in Instruments-3d
3. Add "pick" to vor, alt, hi, in Instruments-3d
4. changes to pa24-250 and pa28-161 to use 2 and 3.
5. add "pick" and "2d text in window" in 3d OAT in pa24-250
"This patch allows all the AC using the kap140 to use one kap140.nas
which includes Roy's move to "bool" values as well as the check for
power used by the pa24-250." (dp)
includes Instruments/fuel.xml. And *that* one creates tank[0] and tank[1]
for *all* aircraft, which is quite annoying. A generic panel should display
fuel numerically (like Lee's panels do) or as %.
I did some more work on the pa24-250 over the holidays.
1. Used nasal to emulate egt performance very similar to the real AC.
2. Changed the airspeed so the pressure altitude/temperature correction
ring for true airspeed works.
3. Modeled the OAT after the battery powered OAT in the real AC.
one left click on the "hot spot" displays OAT in C
2nd left click displacs OAT in F
3rd left click is off
times out after 5 min and turns off (to save battery)
4. Other 3d clean-up
aar.nas disables $FG_ROOT/Nasal/fuel.nas' main loop, as it should be able
to fully replace it. Ideally, there would be no aar.nas at all, and fuel.nas
would do the job for YASim & JSBSim. Unfortunately, there's a problem with
fuel.nas that's not easy to fix ...
far as this supports air refueling at all)
- make listeners keep variables up-to-date (for better performance)
- remove the ugly initialization stuff in the main loop, but wait in
an extra loop for the FDM to come up
This script works now with the a4f, too. The vulcan2 is *supposed* to
work, but there's apparently a bug in it that prevents it.
/systems/refuel/contact is correcly set, and that should be enough for it.
- if the selected model is the sign placeholder (Aircraft/ufo/Models/sign.ac;
first entry in the m-key dialog), then the export writes an OBJECT_SIGN
entry with the legend as contents (rather than the path).
Note that the input field for legend/comment is invisible if it doesn't
contain any text. You find it if you click right over the status line
entry in the lower left corner. Usability bug by design. :-)
(The dialog can also be dragged to another place.)
load the export file directly into fgfs via --config option:
--config=$HOME/.fgfs/ufo-model-export.xml (An fgfs wrapper could add
this option automatically if the file exists. Mine does. :-)
- import all /models/model[n] objects into the UFO's model manager, so
that they become editable
Both features together allow to save an UFO object session and to continue
it next time.
I missed a few things in the last patch.
1. prop size did not match prop disc size.
2. rescaled yoke to match measured yoke.
3. messed up hot spots for heading indicator knobs when I tweaked the
panel last patch.
The fix that could not wait was #3, so I also re-textured the pilot head
with outdoor face photos. Yep, that's my face. The hair is now
textured also which looks better close up.
1. Added a pilot.
2. Cleaned up the panel, added a working park brake lever, added the
remaining placards, added "materials lighting for the remaining
switches and knobs tied to the nave light switch.
3. Doubled the resolution of the transparent rgb, added propdisc spin,
and realigned all in the ac file so the spin was concentric.
- add status line (green: active model -- clicks will plant it;
orange: selected model -- adjustable/removable)
- make manually selected models active (that is: further clicks will plant
this model type); doesn't apply to automatically selected models (after
removing)
- cleanup
TODO: yet more cleanup, add missing terminal output, etc.
that the --dme option sets the switch position correctly, but the
preferences.xml file is read after that and sets the switch back to 1.
And then we do *correctly* get nav1. Ideally, we would only let
preferences set the switch position if it wasn't set before, but
for now lets just comment that out there.
I have implemented a Honeywell MK VIII EGPWS emulation for FlightGear.
The MK VIII is an Enhanced Ground Proximity Warning System aimed at
regional turboprop and small turbofan aircrafts such as the Citation,
Citation Bravo, B1900D, Beechcraft 99 and L410.
Frederic Bouvier:
make the MSVC compilation possible. Rearrange base package directories.
I put 3 patches and a sound file in this tar. The c172p... patch
removes an unnecessary patch I submitted to the c172p. It has no affect
on performance. The Instruments-3d... patch adds a working skid ball to
the tc and switches the vor xmls to using params so it is easier to
edit. It also constrains the glide-slope needle to -32 to 32 degrees.
The pa24-250... patch fixes an edit error (corrects a misnamed switch
"click", no change in performance) and adds a "squish" sound to the
primer pump action.
Here is a patch that included the changes in my 2/22/06 posting plus the
3d-instrument light "emission" animations. I also added a magnetic
compas mount and moved it forward and down to better match the real ac
and make it easier to read when adjusting the hi. Ignore the "?" flaged
files at the beginning. none are required. I noticed that there is a
backup copy of pa24-250.ac in the pa24-250 folder in cvs. It can be
deleted. The only copy of that file required is in pa24-25/Models.
I "flew" a shake down instrument XC from 2v2 (Longmont, CO) to KLVN
(Airlake, just south of Minneapolis, MN). Even the fuel management is
realistic. The autopilot on the menu bar works well. Give the changes
a try and enjoy!
Here are the latest updates.
- Most of the changes involve moving instruments / animation / hotspot files
to instruments-3d.
- Some re-texturing.
- Finished Aerostar gear animation.
- I tried adding a LONG variable to the nav radio property tree,
but the conversion kept coming out wrong. Multiplying frequencies
by 100 and outputing that to another DOUBLE worked, but I cant find
the Comm frequencies property updating for the life of me ..... oh
well Nasal works.
I made a minor change to one file in the c172p that accommodates a
feature I added to the navcom-kx155.xml and the dme.xml in the
Instruments folder. I wanted to leave the frequencies, etc. on these
dark until there was voltage applied to
/systems/electrical/outputs/nav. This was accomplished by adding a
param and property alias pointing to the appropriate value. Since the
c172p "always" applies 28 volts, this made no change in the c172p, but
allowed me to model the avionics master and battery master realisticly
in pa24-electrical.nas. I put in comments explaining this at the change
points.
There is a useful "help > aircraft help" that walks you through the
start procedure and lists the key bindings as well as the key to "light
up" the hot spots.
feature I added to the navcom-kx155.xml and the dme.xml in the
Instruments folder. I wanted to leave the frequencies, etc. on these
dark until there was voltage applied to
/systems/electrical/outputs/nav. This was accomplished by adding a
param and property alias pointing to the appropriate value. Since the
c172p "always" applies 28 volts, this made no change in the c172p, but
allowed me to model the avionics master and battery master realisticly
in pa24-electrical.nas. I put in comments explaining this at the change
points.
There is a useful "help > aircraft help" that walks you through the
start procedure and lists the key bindings as well as the key to "light
up" the hot spots.
I made a minor change to one file in the c172p that accommodates a
feature I added to the navcom-kx155.xml and the dme.xml in the
Instruments folder. I wanted to leave the frequencies, etc. on these
dark until there was voltage applied to
/systems/electrical/outputs/nav. This was accomplished by adding a
param and property alias pointing to the appropriate value. Since the
c172p "always" applies 28 volts, this made no change in the c172p, but
allowed me to model the avionics master and battery master realisticly
in pa24-electrical.nas. I put in comments explaining this at the
change points.
There is a useful "help > aircraft help" that walks you through the
start procedure and lists the key bindings as well as the key to "light
up" the hot spots.
mode according to the switch position. Now dme.cxx is more generic
and can't make these settings any more -- and doesn't. So the dme
didn't display anything even if the knob was on.
The initialization has now to be done in the dme.xml file.
(Button-less actions are fired at init time and then thrown away.)
I have modeled N7764P, the comanche 250 I co-own with 2 other Seagate engineers.
In the process of doing this model, I have also improved, worked on, or added
instruments, etc. to Instruments-3d.
* I fixed the adf so the azimuth card is tied to the correct property
* Added TO, From, and out-of range indicators to the 3d vor.
* Also added a manifold pressure gage and a pa24-250 asi (using digital photos
of the actual asi as the starting textures.
Affects on other AC. As far as I know, this will add to-from to the vor and
correct the adf behavior for pa28-161. It would be a trivial edit to the
pa28-161.xml to give the same vor performance to that AC.
Now both VORs act as one.
- Provide generic Nasal code to check if a pilot is abusing their aircraft
by extending their gear/flaps above the maximum allowed speed, exceeding
Vne, or pulling excessive G-forces.
- Implement limits within the C182.
This adds a TACAN instrument to the inventory. Range and bearing are calculated
to the TACAN or VORTAC beacon selected by means of the Channel Selector in the E
quipment/Radio pull-down menu.
A TACAN beacon has also been added to the aircraft carrier Nimitz (channel #029Y
).
Implement simple help system with global and aircraft specific dialogs:
The gui.nas changes have been discussed with Andy. All ac have a help dialog,
but some are empty. (This wouldn't have been necessary, as the system falls
back to the "Common Aircraft Keys" if an aircraft has no help defined, but an
empty dialog is less confusing and encourages to be filled with interesting
information. :-) I scanned all aircraft files for interesting performance
data and added some to the dialogs (stall speed, etc.) The Concorde and the
p51d have (over?)complete dialogs and can serve as examples. The format is
documented in $FG_ROOT/Nasa/gui.nas.
There is also a couple of other, minor fixes.
The following files have ugly MSDOS line endings:
$FG_ROOT/Aircraft/Hunter/hunter{-2tanks,}-set.xml
$FG_ROOT/Aircraft/A380/A380-set.xml
The Concorde-jsbsim.nas file is a useless copy of the real */nas file, which is
in Nasal/. I'was debugging the Concorde and wondered why changes to this file
had no effect ...
(Fixed Concorde in the help-ac.diff patch: don't use "interpol" keyword as
variable.)
The comm radio knobs are screwed. Left half increase, right half decrease.
Fixed that. (I wonder since when this is broken. Does nobody use it?)
To reproduce: $ fgfs --aircraft=c310
The c310's adf needle (HSI) doesn't work. The hsi.xml instrument does
still use the old property. The fix didn't have negative effects on
other a/c that I had tested.
Changes made 19/12/2004
Panel re-oriented
3d Compass shows through windows.
Wing-tips slightly altered.
Changes made 18/12/2004
Prop spinner shortened and widened
Nose area slightly remodelled to fit silouette
Nose texture altered to place lower intake correctly
Nose wheel reduced in size.
Nose leg Oleo guide added (does not rotate - is this correct with real ac?)
Nose wheel Axle added.
Nose wheel fixed to rotate about it's shaft axis.
Windscreen / panel mesh changed so that panel no longer protrudes thru dash
Panel instruments moved to represent the geometries of the real cockpit.
Pilot / Copilot Yokes moved inboard to represent the geometries of the real cockpit.
Alpha layer added to interior texture to prevent panel showing through seats / yokes.
Interior texture duplicated and mapped to panel only to allow panel to show.
Front seats moved slightly inboard.
Landing light pair added to port wing texture.
Alpah layer added to wing texture to prevent panel showing through.
Texture remapped to Flaps (no shows ribs again).
Wing strut outer joins brought inboard to point of wing taper to match real aircraft geometries.
Wing struts thinned in front profile and thickened in side profile.
VHF aerials moved aft to their usual position.
Maingear legs altered so they now join with the fusealage (previously, 20cm gap)
Rear window altered slightly to match silouette.
Rear (white) Navigation Light made to translate with the rudder.
Not yet done: independant landing and taxi lights on port wing
I've finished the emigration of the radiostack, and I've also removed it
completely. It turned out that the comm radio is completely implemented in
the ATC subsystem. I've changed the affected ATC files to point
to /instrumentation/com, but I guess that the maintainer of the ATC code
should decide wether to make it configureable, and how.
I also had to change some files in Network and Main. The changes in network
should be obvious, but the changes in Main were a bit suspect. The files
included radiostack.hxx, but they weren't directly depending on
radiostack-hxx. They were depending on other files that were included by
radiostack.hxx. I got it to compile, but I'm not sure if I included the
correct directly depending file.
For the data directory I changed every occurrence of /radios/
with /instrumentation/ with this simple one-liner that I found on the net:
find -name '*.xml' -type f | xargs perl -pi -e
's/\/radios\//\/instrumentation\//g'
Instead of me sending all the files that got changed by this I suggest that
you execute the one-liner yourself. Of course I can not guarantee that this
will work perfectly, but I considered hand editing to be not an option (I'm
lazy). I don't want to test every aircraft to see if everything still works,
I think it's better to wait and see if anyone complaints about broken nav
radios/instruments.
I've made an encoder and a transponder. The transponder gets C-Mode altitude
information from the encoder. These two might not be very usefull right now,
but I think they might come in handy when the ATC network gets going.
Here are some updates to the KAP140 autopilot in the default c172. It now uses
ailerons and elevator instead of aileron-trim and elevator-trim. I've started
to "upgrade" it to the "two axis altitude preselect" version. Vertical speed
select rounds to nearest 100 fpm.
I've also modified the c172 electrical configuration to turn on the gps
instrument.
Perhaps the most important change is that the nasal script for the KAP140 has
moved from data/Nasal to the c172p aircraft subdir. So it is important that
you delete data/Nasal/kap140.nas. Having the kap140.nas script as a global
script was not a good solution. Now it is aircraft specific, and thus
included in the c172p-set.xml file. Ideally I would like it to be instrument
specific, so that it would be included whenever the KAP140*.xml instruments
where included on the panel.
Instrumentation and systems are now configureable from xml files. The two
generic configurations generic-systems.xml and generic-instrumentation.xml
configures the systems and instrumentation as it was hardcoded. You can
override the generic configurations in a similar way as you override the
autopilot configuration.
All necessary elements for an ADF gauge had been migrated from
Cockpit/kr_87.cxx to Instrumentation/adf.cxx. Migrating the sound
related elements was apparently planned, but not done yet. This
intermediate state broke the ident morse sound: it couldn't get
turned off and it always indicated "SF", regardless of the tuned-in
frequency. The following patches continue the migration:
adf-radio.diff => Base/Aircraft/Instruments/adf-radio.xml:
---------------------------------------------------------------
* sets maximum volume to 1 (rather than 2); Not only is 1
loud enough (and 2 unpleasantly noisy), it also prevents
the knob from being turned to non-existant positions. :-)
* fixes wrong use of /instrumentation/adf/ident
* the voice/ident selector(?) remains unchanged, but as it's
not switched to "IDENT", there'll be no ident sound by default
this is consistent with other sounds and DME.
radiostack.diff => src/Cockpit/radiostack.[ch]xx:
---------------------------------------------------------------
* comment out use of FGKR_87 class. kr_87.[ch]xx is now no
longer used. kr-87adf.xml would no longer work, either, but
isn't used anywhere, anyway. Future adf radios have to use
the adf instrument, using xml/Nasal for specific hardware
implementation details.
adf.diff => src/Instrumentation/adf.[ch]xx:
---------------------------------------------------------------
* adds ident morse sound capability using two new input
properties:
- /instrumentation/adf/volume-norm (double)
- /instrumentation/adf/ident-audible (bool)
Here's some new AI stuff.
1) AI objects must now be defined in a scenario file, not in preferences.xml
or a *-set file. (Of course this doesn't prevent objects from being created
dynamically, as with Durk's traffic manager).
2) A new demo_scenario file is attached. It creates 3 aircraft, a sailboat,
and a thunderstorm.
3) Objects without flightplans live forever.
4) FGAIShip::ProcessFlightplan() is not yet implemented.
5) preferences.xml should now define only <enabled> and <scenario>
Here is the KAP140 Two Axis Autopilot update.
I think it's fairly complete now, all the modes are working. I tested the
localizer and glideslope hold and it was pretty stable all the way down to
the middle marker.
In the pilot guide for backcourse hold (REV) mode it says to reset the heading
bug to the _front course_. I haven't figured out how to implement this so for
the time beeing one should reset the heading bug to the _backcourse_. Apart
from this the panel should operate identical to the way the pilot guide
describes.
Here is the KAP140 Two Axis Autopilot.
Aircraft/Instruments/KAP140TwoAxis.xml
Is of course the instrument config file.
Aircraft/Instruments/Textures/KAP140.rgb
The texture.
Nasal/kap140.nas
Most of the work is done here. Without Nasal I don't see how I could implement
the NAV-ARM modes and the flashing annunciators.
Aircraft/c172p/Systems/KAP140.xml
The autopilot PID controllers configuration file. Maybe this file should be in
a more accessible directory and not hidden deep inside c172p!?
I've also attached the changes to the default C172 to include this autopilot
in the 3d-cockpit panel and the 2d vfr panel. Or at least I hope that I've
managed to include all that is needed.
Add clickable range selection for the radar and wxradar. Right
now it is clickable only between 20 and 40 mile ranges, which should work for
most uses.
OV10-jsbsim-set.xml has many changes. It creates a thunderstorm over
woodside VOR. It removes the lowest cloud layer so that the storm can be
seen. It sets the surface wind speed to zero, which may help stop the
"drifting left" complaints. It sets the radar range to 40 miles.
The weather radar instrument is corrected.