Re: [Flightgear-devel] generic input device support: wrong button event names in Linux

2009-09-15 Thread Tatsuhiro Nishioka

Hi Brant,

Though your problem should be looked and fixed, it is different from  
this one since the generic input device support is not implemented on  
windows yet.


Plus, it does nothing on any platform unless you make a configuration  
file for your device under $FG_ROOT/input/event/Some Vendor/Some  
product.xml.


Thus this problem doesn't affect the existing joystick feature.

Btw, is any one kindly enough to implement this feature on windows?

Tat


On 2009/09/15, at 8:30, Brant G ioncannon21...@gmail.com wrote:

Indeed. I have a X52 joystick and it's very confusing to configure  
in the joystick .xml file. When I updated to CVS recently, the hats  
buttons don't work properly in windows. This should be looked at and  
fixed.


On Mon, Sep 14, 2009 at 6:45 PM, Tatsuhiro Nishioka tat.fgmac...@gmail.com 
 wrote:

Hi,

I've been testing X52 joystick with FGLinuxEventInput.cxx on liunx  
and found that button event names for joysticks/gamepad are very  
suspicious, and we need to consider some other means of naming  
button events.


The problem is that a joystick (, mouse or gamepad) button can have  
wrong event name if a device has more than 16 buttons.
This is because Linux hid driver (drivers/hid/hid-input.c) assumes  
that a device has 16 buttons at most.
e.g. If a joystick has more than 16 buttons, a button event name for  
button-#16 or higher are mistakenly assigned to ones in game pads,  
digitizer, or others.
This is the excerpt from hid-input.c ( hidinput_configure_usage)  
that shows how Linux driver converts HID usage to a code of hid  
event written to /dev/input/js*


case HID_UP_BUTTON:
code = ((usage-hid - 1)  0xf); // Note:  
assuming #buttons = 16.

switch (field-application) {
case HID_GD_MOUSE:
case HID_GD_POINTER:  code += 0x110;  
break;
case HID_GD_JOYSTICK: code += 0x120;  
break;
case HID_GD_GAMEPAD:  code += 0x130;  
break;

default:
switch (field-physical) {
case HID_GD_MOUSE:
case  
HID_GD_POINTER:  code += 0x110; break;
case  
HID_GD_JOYSTICK: code += 0x120; break;
case  
HID_GD_GAMEPAD:  code += 0x130; break;
 
default:  code += 0x100;

}
}
map_key(code);
break;


As a matter of fact, event names for X52 buttons are assigned as  
follows in FGLinuxEventInput.cxx:


#00 button-trigger: type=1, code=288 (trigger)
#01 button-thumb:   type=1, code=289 (FIRE button on stick)
#02 button-thumb2:  type=1, code=290 (A button on stick)
#03 button-top: type=1, code=291 (B button on stick)
#04 button-top2:type=1, code=292 (C button on stick)
#05 button-pinkie:  type=1, code=293 (pinkie button)
#06 button-base:type=1, code=294 (D button on throttle)
#07 button-base2:   type=1, code=295 (E button on throttle)
#08 button-base3:   type=1, code=296 (T1)
#09 button-base4:   type=1, code=297 (T2)
#10 button-base5:   type=1, code=298 (T3)
#11 button-base6:   type=1, code=299 (T4)
#12 button-300: type=1, code=300 (T5)
#13 button-301: type=1, code=301 (T6)
#14 button-302: type=1, code=302 (strong press of trigger)
#15 button-dead:type=1, code=303 (top hat up)

// buttons below are mistakenly assigned to GamePad buttons
#16 button-a:   type=1, code=304 (top hat right)
#17 button-b:   type=1, code=305 (top hat down)
#18 button-c:   type=1, code=306 (top hat left)
#19 button-x:   type=1, code=307 (hat up on throttle)
#20 button-y:   type=1, code=308 (hat right on throttle)
#21 button-z:   type=1, code=309 (hat down on throttle)
#22 button-tl:  type=1, code=310 (hat left on throttle)
#23 button-tr:  type=1, code=311 (mode1 on stick)
#24 button-tl2: type=1, code=312 (mode2 on stick)
#25 button-tr2: type=1, code=313 (mode3 on stick)
#26 button-select:  type=1, code=314 (Function button on  
throttle)
#27 button-start:   type=1, code=315 (Start button on  
throttle)
#28 button-mode:type=1, code=316 (RESET button on  
throttle)

#29 button-thumbl:  type=1, code=317 (i button on throttle)
#30 button-thumbr:  type=1, code=318 (mouse button on  
throttle)
#31 button-319: type=1, code=319 (wheel button on  
throttle)  // undefined in input.h


// buttons below 

Re: [Flightgear-devel] Glideslope bugs/improvements

2009-09-15 Thread James Turner

On 14 Sep 2009, at 23:31, James Turner wrote:

 At EGPH, at about 200ft above the
 runway, the navradio suddenly picks the 'other' end, with, as they
 say, hilarious consequences. Actually the GS angle jumps from 3.0
 degrees to 177 degrees, instantaneously.

 I suspect penaltyForNav is broken, probably by me - so that's where I
 shall look next.

 Torsten, it would be good if you could confirm my analysis, by trying
 some approaches in runways where the ends do not share an ILS
 frequency, and report on what you see.

This is 'fixed' now - except it's not.

penaltyForNav is basically broken - we all know it's broken  
conceptually, but it's also broken in practice, because it doesn't  
even do what it claims (and never has, that I can see) - bias to  
directional transmitters based on aircraft *heading*. The problem is  
it's biasing based on *bearing* from the aircraft to the transmitter.

The fix is sort of a work-around (but also a correctness improvement);  
in the problem cases, we're picking the 'opposite' end LOC, but still  
getting the correct GS. Eg at EGPH, as you pass over the Rwy 06 LOC  
(ident=IVG), while flying the rwy 24 (ident ITH) ILS, the navradio  
switches to the 06/IVG LOC - but we're still using the ITH GS. What  
I've done is adjust the navradio to handle this case (mismatched LOC  
and GS) sanely, and hence avoid the bizarre angles being generated.

The CDI needle still jumps when the LOC switches, but since it jumps  
onto the back course lobe, that's much more tolerable.

As ever, please test and let me know what you think. All of this is  
short-term fixes until we properly model active/inactive ILS  
installations; which I'm going to be working on 'soon'.

Regards,
James


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


[Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread John Denker
On 09/15/09 03:25, James Turner wrote:

 I suspect penaltyForNav is broken, probably by me - so that's where I
 shall look next.

 This is 'fixed' now  

Thanks.

 - except it's not.
 
 penaltyForNav is basically broken - we all know it's broken  
 conceptually, but it's also broken in practice, because it doesn't  
 even do what it claims 

Agreed.  It makes no sense.

 (and never has, that I can see) 

Agreed.  It has been broken for many years, probably
since Day One.

 - bias to  
 directional transmitters based on aircraft *heading*. The problem is  
 it's biasing based on *bearing* from the aircraft to the transmitter.

Neither of those things is realistic.  In real life,
the reversible ILS transmitter is controlled by a 
switch in the ATC tower, switched to match the choice
of active runway, which in turn is normally based on 
the _wind_ ... not on the position or heading of any 
particular aircraft.

 The fix is sort of a work-around (but also a correctness improvement);  

Improved but still highly unrealistic.  It is only a
very rough placeholder, pending a decent solution.

Constructive suggestion:  Seriously, unless/until we
can do a reasonable job of switching the reversible
ILS, it would be better to not switch it at all.  In
particular, it would be better to just settle on one
end or the other and stick with it for the duration
of the simulation.  I would initialize it randomly
during startup, and leave it alone thereafter.  This 
would create a 50/50 chance of having to shoot a the 
ILS with a tailwind and then execute the circle-to-land
procedure ... which is good practice anyway.  

If you make the switch visible in the property tree,
on a per-navaid basis, anybody who really cares can
go in there and throw the switch the way he likes.

Having navradio.cxx throw the switch in mid-flight,
based on completely bogus criteria, is really, really, 
really not appropriate.



What's worse is that all of the above is only the 
tip of the iceberg.  The iceberg as a whole is what 
I call nontrivial external situations.

Here is another example of what I'm talking about:
Suppose there is a multiplayer situation where
there are N aircraft, each of which has one DME and
two ILS receivers, all tuned to the same station.
If we expect each nav radio to synthesize its own
IDENT signals, there are then 5N different IDENT
signals, all unsynchronized.  This is unrealistic, 
because in real life there is only IDENT signal,
synchronized across all three transmitters (LOC,
GS, and DME) ... so the received audio will be
perceived as synchronized across all 5N receivers.

Similarly all N aircraft should receive the same
audio, synchronized, from any ATIS transmitters.

Similarly, to return to the topic that started
this thread, all N aircraft should see ATC make
the same choice as to which end of a reversible
ILS is in use.

Similarly, ATC should turn on the runway lights
and approach lights for the runway in use, at
night and during marginal weather.  The lights
for other runways should be turned off.  All
N aircraft should see the same set of lights.

Similarly all N aircraft should see the same
AI traffic.

As far as I can tell, the simplest and best
way to implement this is to have, at least
conceptually, N+1 agents, i.e. N+1 processes:
one for each of the N aircraft, doing the 
usual FGFS aircraft related functions, plus
one representing what's going on outside the
aircraft, including weather, ATC decisions,
IDENT signals, AI traffic, et cetera.  Call 
this the external process.

I'm not sure about the implementation details.
In an MP situation, the external process could
be implemented on the MP server.  Or all N
aircraft in a given MP session could get
together and elect one of the aircraft to
implement the external functions and serve
them to the other N-1 aircraft.  Or all N
aircraft could do all of the external
calculations, redundantly, provided they 
synchronize all of the relevant data so that 
all copies of the calculation get identical,
synchronized answers.  (Identical is easy;
synchronized maybe not so easy.)

===

I realize that doing a good job of implementing
the external process is not easy.

In the meantime, though, we should try to put
in the hooks to make such a process possible
in the future.  That is, low-level routines
such as navradio.cxx should not be making
high-level decisions, such as ATC decisions
about which runway is in use.


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net

Re: [Flightgear-devel] generic input device support: wrong button event names in Linux

2009-09-15 Thread Torsten Dreyer
 I guess it is safer to use button-0, button-1, ... button-N for button
 event names so the names stays the same on different OSs. maybe we need to
 pull out some info using ioctl to find the first hid event code for a given
 device (e.g. 228 for joystick).
I think your are right, simply numbering the buttons is probably the better 
approach. I assume, that button numbers are consitent across OSes, because 
they are defined in the HID report descriptor.

Torsten

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread James Turner

On 15 Sep 2009, at 13:15, John Denker wrote:

 Constructive suggestion:  Seriously, unless/until we
 can do a reasonable job of switching the reversible
 ILS, it would be better to not switch it at all.  In
 particular, it would be better to just settle on one
 end or the other and stick with it for the duration
 of the simulation.  I would initialize it randomly
 during startup, and leave it alone thereafter.  This
 would create a 50/50 chance of having to shoot a the
 ILS with a tailwind and then execute the circle-to-land
 procedure ... which is good practice anyway.

 If you make the switch visible in the property tree,
 on a per-navaid basis, anybody who really cares can
 go in there and throw the switch the way he likes.

 Having navradio.cxx throw the switch in mid-flight,
 based on completely bogus criteria, is really, really,
 really not appropriate.

Okay, that's food for thought, and is probably how thins will end up  
anyway, with my interim plan... see below


 

 What's worse is that all of the above is only the
 tip of the iceberg.  The iceberg as a whole is what
 I call nontrivial external situations.

snip
 ===

 I realize that doing a good job of implementing
 the external process is not easy.

I agree agree with this concept, but of course the implementation  
required is 'some' way off :)


 In the meantime, though, we should try to put
 in the hooks to make such a process possible
 in the future.  That is, low-level routines
 such as navradio.cxx should not be making
 high-level decisions, such as ATC decisions
 about which runway is in use.

Agreed.

My plan in this area is to create classes / extend existing classes  
which capture your 'external' state, especially regarding ATC. Some of  
those objects currently live in the AI world (including multiplayer  
aircraft), and some live in weird places. The key one which I'm going  
to be seriously messing with is FGAirportDyanmics, which essentially  
represents all the dynamic (as opposed to static, apt.dat derived)  
state of an airport. (I'm also not happy with that division of labour,  
I might replace the class completely with some other helpers to  
FGAirport)

One of these objects/helpers/etc is going to implement  
getActiveRunwayForUsage 'better'. There are various ways to define  
better - a heuristic using aircraft position, runway directions,  
current local surface wind speed and direction is one. Another is to  
use the rwyuse.xml files in the scenery. A third is just to roll a  
dice at startup as you suggested. As you point out, anything would be  
better than changing mid-approach.

I'm not sure exactly what policy I will end up with - almost certainly  
I'll default to rwyuse.xml where it exists, but the point is there  
will be an object which represents part of the Tower/Approach for an  
airport's knowledge of it's own state. It's a very small step from  
there, to attach this to better ATIS (which I know you have already  
worked on),  and then an *ambitious* person could look at making this  
do AI-based ATC. (Good luck with that task!)

Incidentally, this would also be the path to implementing 'click the  
mic to activate' PCL field lighting at non-controlled airports. I  
might well end up with FGUncontrolledAirportTower,  
FGControlledAirportTower, etc to keep things sane.

Regards,
James


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Glideslope bugs/improvements

2009-09-15 Thread Curtis Olson
On Tue, Sep 15, 2009 at 5:25 AM, James Turner wrote:

 This is 'fixed' now - except it's not.

 penaltyForNav is basically broken - we all know it's broken
 conceptually, but it's also broken in practice, because it doesn't
 even do what it claims (and never has, that I can see) - bias to
 directional transmitters based on aircraft *heading*. The problem is
 it's biasing based on *bearing* from the aircraft to the transmitter.


Hi James,

I believe the original intent was to make the system function in away that
made it appear that whatever approach you were trying to fly was the one
that was turned on.  So biasing the choice based on which approach you are
most likely to be flying seems to make some sense.  You don't care about
aircraft heading because (I don't know) maybe you do a 180 because you get
lost or you want to fly back and start over again, or whatever.  The active
glideslope  dme  ils transmitters should change when you turn away from
the airport.  The important thing is which end of the runway you are off of.

I think we can concede that we don't have real world controllers turning
approaches and lighting on and off for us on the ground.  So either we
create an elaborate system and force the user to make all these detailed
choices every time we start up the sim, or we create some functional
defaults that behave like people would expect, and allow people to easily
use the simulation to practice flying any published approach.

Once that base line capability is reestablished with all this new code and
development activity, then yes, it would be great to allow an instructor to
disable one side of an approach, or select which side is active, or even
disable both sides.  There could be some good training value.

I think it's pretty important to be able to fire up FlightGear and practice
any published approach without needing to go through contortions or
elaborate setup proceedures, or having to repeatedly restart the sim until
the particular approach we are interested randomly is enabled.  FlightGear
is used as part of FAA certified flight training devices so this is an area
of the code where the basics need to work and be solid, and then if we want
to get fancy and add additional realism, that's great.

So at the end of the day, somehow we need to be able to just fire up the sim
and fly any published approach without needing to go through some
extravagant setup procedure each time.

Regards,

Curt.


The fix is sort of a work-around (but also a correctness improvement);
 in the problem cases, we're picking the 'opposite' end LOC, but still
 getting the correct GS. Eg at EGPH, as you pass over the Rwy 06 LOC
 (ident=IVG), while flying the rwy 24 (ident ITH) ILS, the navradio
 switches to the 06/IVG LOC - but we're still using the ITH GS. What
 I've done is adjust the navradio to handle this case (mismatched LOC
 and GS) sanely, and hence avoid the bizarre angles being generated.

 The CDI needle still jumps when the LOC switches, but since it jumps
 onto the back course lobe, that's much more tolerable.

 As ever, please test and let me know what you think. All of this is
 short-term fixes until we properly model active/inactive ILS
 installations; which I'm going to be working on 'soon'.

 Regards,
 James



 --
 Come build with us! The BlackBerryreg; Developer Conference in SF, CA
 is the only developer event you need to attend this year. Jumpstart your
 developing skills, take BlackBerry mobile applications to market and stay
 ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
 http://p.sf.net/sfu/devconf
 ___
 Flightgear-devel mailing list
 Flightgear-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/flightgear-devel




-- 
Curtis Olson: http://baron.flightgear.org/~curt/
--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS (was: Glideslope bugs/improvements)

2009-09-15 Thread John Denker
On 09/15/09 06:31, Curtis Olson wrote:

 I believe the original intent was to make the system function in away that
 made it appear that whatever approach you were trying to fly was the one
 that was turned on. 

We agree that was the original intent.  However it
was doomed from the start, because navradio.cxx 
has never had any workable way of divining which 
approach you were trying to fly.

 So biasing the choice based on which approach you are
 most likely to be flying seems to make some sense.  You don't care about
 aircraft heading because (I don't know) maybe you do a 180 because you get
 lost or you want to fly back and start over again, or whatever.  The active
 glideslope  dme  ils transmitters should change when you turn away from
 the airport.  The important thing is which end of the runway you are off of.

We agree that basing it on heading doesn't work,
because you might be approaching the airport from
upwind and need to make a 180 to get established
on the final approach course.

But basing it on position doesn't work either, and
is arguably worse, because
 a) You might be approaching the airport from upwind,
  and
 b) more importantly, you might need to fly the missed
  approach segment.  Missed approaches are a matter 
  of life and death in the real world.  As the saying 
  goes, if you are not prepared for the miss, you are 
  not prepared for the approach.

 I think we can concede that we don't have real world controllers turning
 approaches and lighting on and off for us on the ground.  

That's not the right question to be asking.  There 
are ways of achieving acceptable verisimilitude without
having to hire actual real-world certified tower
controllers.  FGFS already solves problems that are
vastly more complicated than reversible ILSs.

 So either we
 create an elaborate system and force the user to make all these detailed
 choices every time we start up the sim, or we create some functional
 defaults that behave like people would expect, and allow people to easily
 use the simulation to practice flying any published approach.

No, those are not the only options.
No, a workable system does not have to be elaborate.
No, we do not need to force ordinary users to do 
anything at startup.

 I think it's pretty important to be able to fire up FlightGear and practice
 any published approach without needing to go through contortions or
 elaborate setup proceedures, 

Agreed.  Right now *none* of the reversible ILSs are
flyable, because of the aforementioned unrealistic
behavior when approaching from upwind, and wildly
unrealistic behavior on the missed approach segment.

 or having to repeatedly restart the sim until
 the particular approach we are interested randomly is enabled. 

Flying an ILS with a tailwind and then following the
published circle-to-land procedure is not unreasonable.  
Indeed it is a good thing to practice.

In the real world you cannot just show up at KJFK and
demand that they turn on the ILS you are interested in.

It is realistic to choose what airport you are interested
in flying to.  It is not realistic to dictate that the
approach in use will be the one you are interested in.

   Glendower:  I can call spirits from the vasty deep. 
   Hotspur:Why, so can I, or so can any man;
   But will they come 
   when you do call for them?  

  FlightGear
 is used as part of FAA certified flight training devices so this is an area
 of the code where the basics need to work and be solid, and then if we want
 to get fancy and add additional realism, that's great.

There is a lot of room for compromise between fancy
and wrong.  Right now it is wrong, as has been 
pointed out repeatedly over the years.  It can be 
improved quite a bit without getting fancy.


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Glideslope bugs/improvements

2009-09-15 Thread Martin Spott
Curtis Olson wrote:

 I think we can concede that we don't have real world controllers turning
 approaches and lighting on and off for us on the ground.  So either we
 create an elaborate system and force the user to make all these detailed
 choices every time we start up the sim, or we create some functional
 defaults that behave like people would expect, and allow people to easily
 use the simulation to practice flying any published approach.

I think it's perfectly fine to have an unrealistic 'dummy' mode for
those who don't care   but setting such behaviour into stone by
hard-coding it into the implementation of a navaid reciever is probably
not qualifying for extremely clever design in the long run.

A reasonable compromise would be having a radio that works as in real
life, accompagnied by a separate routine - which allows to be manually
disabled or overridden by a real world controller - to implement the
desired dummy mode.

Cheers,
Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Glideslope bugs/improvements

2009-09-15 Thread James Turner

On 15 Sep 2009, at 16:28, Martin Spott wrote:

 I think it's perfectly fine to have an unrealistic 'dummy' mode for
 those who don't care   but setting such behaviour into stone by
 hard-coding it into the implementation of a navaid reciever is  
 probably
 not qualifying for extremely clever design in the long run.

 A reasonable compromise would be having a radio that works as in real
 life, accompagnied by a separate routine - which allows to be manually
 disabled or overridden by a real world controller - to implement the
 desired dummy mode.

I agree with Martin here - I think we need more accurate behaviour  
here, but it's easy to keep the current behaviour as an option,  
controlled by a flag - something I've been considering for a while  
anyway - eg /sim/realism prop. Possibly the same could apply to the  
false GS and LOC lobes.

In 'non'-realistic mode, we'd keep the current behaviour, with all  
ILSs enabled,  though I will add a cap on the code to stop the navid  
changing below a certain altitude (or some similar kind of test), so  
that we don't observe the current flicking from one transmitter to  
another at 100ft above the runway.

Once that's done, I don't think anyone can object to providing more  
realistic behaviour.

The only debate then is the default value of /sim/realism  :)

Regards,
James



--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Glideslope bugs/improvements

2009-09-15 Thread Martin Spott
James Turner wrote:

 I agree with Martin here - I think we need more accurate behaviour  
 here, but it's easy to keep the current behaviour as an option,  
 controlled by a flag - something I've been considering for a while  
 anyway - eg /sim/realism prop. Possibly the same could apply to the  
 false GS and LOC lobes.

  as well as runway lightning and probably a few more 'gimmicks'
which depend on the active runway. Last but not least this would allow
to have/create/add a general interface onto which to hook different
methods to define the active runway (driven by wind direction,
randomly, by manual operator, whatever) and let all dependent gimmicks
to behave accordingly,

Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


[Flightgear-devel] Linking newest FG/SimGear Link Errors in newly added file SGText.cpp

2009-09-15 Thread Randall Green
 
I am linking the latest versions of FG/Simgear and I got 3 unresolved external 
symbols:
FGGyro.cpp, AIGroundVehicle.cpp, and SGText.cpp. The SGText error message is:
   4simgear_d.lib(SGReaderWriterXML.obj) : error LNK2019: unresolved 
   external symbol public: static class osg::Node * __cdecl 
   SGText::appendText(class SGPropertyNode const *,class SGPropertyNode 
   *,class osgDB::ReaderWriter::Options const *) 
   (?appendt...@sgtext@@sapavn...@osg@@PBVSGPropertyNode@@p...@pbvoptions@readerwri...@osgdb@@@Z)
referenced in function 
   __catch$?sgLoad3DModel_internal@@yapavn...@osg@@abv?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@pbvopti...@readerwriter@osgDB@@PAVSGPropertyNode@@@Z$0
Vivian said that these 3 files were
recently added but I needed to include them in the projects. So I opened project
FlightGear and clicked on Lib_JSBSim, models, flight_control and added existing 
items
FGGyro.cpp/hxx. Then I clicked on Lib_AIModel and added existing items 
AIGroundVehicle.cpp/hxx. Then I clicked on SimGear, Lib_sgmodel and added
existing items SGText.cpp/hxx. The 3 error messages went away but then I get 33
unresolved external references when linking fgviewer, all involving SGText. I 
think it
has something to do with OSG, but I have OpenSceneGraph\lib under 
Linker-Additional
Library Directories. (I left out some of the messages because this email would 
otherwise be
too large to send).
 
Thanks,
Randy Green
8-- Build started: Project: fgviewer, Configuration: Debug Win32 --
8Linking...
8LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other 
libs; use /NODEFAULTLIB:library
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: void __thiscall osgText::TextBase::update(void) 
(__imp_?upd...@textbase@osgText@@QAEXXZ) referenced in function private: 
virtual void __thiscall SGText::UpdateCallback::operator()(class osg::Node 
*,class osg::NodeVisitor *) 
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: void __thiscall osgText::TextBase::setText(class 
std::basic_stringchar,struct std::char_traitschar,class std::allocatorchar 
 const ) 
(__imp_?sett...@textbase@osgText@@qaexabv?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@@Z)
 referenced in function private: virtual void __thiscall 
SGText::UpdateCallback::operator()(class osg::Node *,class osg::NodeVisitor *) 
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: class std::basic_stringchar,struct 
std::char_traitschar,class std::allocatorchar  __thiscall 
osgText::String::createUTF8EncodedString(void)const  
(__imp_?createutf8encodedstr...@string@osgText@@qbe?av?$basic_str...@du?$char_traits@d...@std@@v?$alloca...@d@2@@std@@XZ)
 referenced in function private: virtual void __thiscall 
SGText::UpdateCallback::operator()(class osg::Node *,class osg::NodeVisitor *) 
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: class osgText::String  __thiscall 
osgText::TextBase::getText(void) 
(__imp_?gett...@textbase@osgText@@qaeaavstr...@2@XZ) referenced in function 
private: virtual void __thiscall SGText::UpdateCallback::operator()(class 
osg::Node *,class osg::NodeVisitor *) 
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: void __thiscall 
osgText::TextBase::setMaximumHeight(float) 
(__imp_?setmaximumhei...@textbase@osgText@@qa...@z) referenced in function 
public: static class osg::Node * __cdecl SGText::appendText(class 
SGPropertyNode const *,class SGPropertyNode *,class 
osgDB::ReaderWriter::Options const *) 
(?appendt...@sgtext@@sapavn...@osg@@PBVSGPropertyNode@@p...@pbvoptions@readerwri...@osgdb@@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: void __thiscall 
osgText::TextBase::setMaximumWidth(float) 
(__imp_?setmaximumwi...@textbase@osgText@@qa...@z) referenced in function 
public: static class osg::Node * __cdecl SGText::appendText(class 
SGPropertyNode const *,class SGPropertyNode *,class 
osgDB::ReaderWriter::Options const *) 
(?appendt...@sgtext@@sapavn...@osg@@PBVSGPropertyNode@@p...@pbvoptions@readerwri...@osgdb@@@Z)
8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol 
__declspec(dllimport) public: void __thiscall 
osgText::TextBase::setLayout(enum osgText::TextBase::Layout) 
(__imp_?setlay...@textbase@osgText@@qaexw4lay...@12@@Z) referenced in function 
public: static class osg::Node * __cdecl SGText::appendText(class 
SGPropertyNode const *,class SGPropertyNode *,class 
osgDB::ReaderWriter::Options 

Re: [Flightgear-devel] Linking newest FG/SimGear Link Errors in newlyadded file SGText.cpp

2009-09-15 Thread Vivian Meazza
Randy,

 

You don't need fgviewer for normal operation of FG. Just uncheck it in the
Configuration Manager.

 

Vivian 

 

 

 

-Original Message-
From: Randall Green [mailto:randall.gr...@wright.edu] 
Sent: 15 September 2009 18:29
To: FlightGear developers discussions
Subject: [Flightgear-devel] Linking newest FG/SimGear Link Errors in
newlyadded file SGText.cpp

 

 

I am linking the latest versions of FG/Simgear and I got 3 unresolved
external symbols:

FGGyro.cpp, AIGroundVehicle.cpp, and SGText.cpp. The SGText error message
is:

   4simgear_d.lib(SGReaderWriterXML.obj) : error LNK2019: unresolved
external symbol public: static class osg::Node * __cdecl
SGText::appendText(class SGPropertyNode const *,class SGPropertyNode *,class
osgDB::ReaderWriter::Options const *)
(?appendt...@sgtext@@sapavn...@osg@@PBVSGPropertyNode@@p...@pbvoptions@Reade
rwri...@osgdb@@@Z) referenced in function
https://webmail.wright.edu/uwc/webmail/java_script:main.compose('new',%20't
=__catch$sgLoad3DModel_internal@@yapavn...@osg@@abv?$basic_str...@du?$char_
tra...@d@std@@v?$alloca...@d@2@@std@@pbvopti...@readerwriter@osgDB@@PAVSGPro
pertyNode@@@Z$0')
__catch$?sgLoad3DModel_internal@@yapavn...@osg@@abv?$basic_str...@du?$char_t
ra...@d@std@@v?$alloca...@d@2@@std@@pbvopti...@readerwriter@osgDB@@PAVSGProp
ertyNode@@@Z$0

Vivian said that these 3 files were

recently added but I needed to include them in the projects. So I opened
project

FlightGear and clicked on Lib_JSBSim, models, flight_control and added
existing items

FGGyro.cpp/hxx. Then I clicked on Lib_AIModel and added existing items 

AIGroundVehicle.cpp/hxx. Then I clicked on SimGear, Lib_sgmodel and added

existing items SGText.cpp/hxx. The 3 error messages went away but then I get
33

unresolved external references when linking fgviewer, all involving SGText.
I think it

has something to do with OSG, but I have OpenSceneGraph\lib under
Linker-Additional

Library Directories. (I left out some of the messages because this email
would otherwise be

too large to send).

 

Thanks,

Randy Green

8-- Build started: Project: fgviewer, Configuration: Debug Win32 --

8Linking...

8LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other
libs; use /NODEFAULTLIB:library

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: void __thiscall
osgText::TextBase::update(void) (__imp_?upd...@textbase@osgText@@QAEXXZ)
referenced in function private: virtual void __thiscall
SGText::UpdateCallback::operator()(class osg::Node *,class osg::NodeVisitor
*) (??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: void __thiscall
osgText::TextBase::setText(class std::basic_stringchar,struct
std::char_traitschar,class std::allocatorchar  const )
(__imp_?sett...@textbase@osgText@@qaexabv?$basic_str...@du?$char_traits@d...@st
d@@v?$alloca...@d@2@@std@@@Z) referenced in function private: virtual void
__thiscall SGText::UpdateCallback::operator()(class osg::Node *,class
osg::NodeVisitor *)
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: class std::basic_stringchar,struct
std::char_traitschar,class std::allocatorchar  __thiscall
osgText::String::createUTF8EncodedString(void)const 
(__imp_?createutf8encodedstr...@string@osgText@@qbe?av?$basic_str...@du?$cha
r_tra...@d@std@@v?$alloca...@d@2@@std@@XZ) referenced in function private:
virtual void __thiscall SGText::UpdateCallback::operator()(class osg::Node
*,class osg::NodeVisitor *)
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: class osgText::String  __thiscall
osgText::TextBase::getText(void)
(__imp_?gett...@textbase@osgText@@qaeaavstr...@2@XZ) referenced in function
private: virtual void __thiscall SGText::UpdateCallback::operator()(class
osg::Node *,class osg::NodeVisitor *)
(??rupdatecallb...@sgtext@@eaexpavn...@osg@@pavnodevisi...@3@@Z)

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: void __thiscall
osgText::TextBase::setMaximumHeight(float)
(__imp_?setmaximumhei...@textbase@osgText@@qa...@z) referenced in function
public: static class osg::Node * __cdecl SGText::appendText(class
SGPropertyNode const *,class SGPropertyNode *,class
osgDB::ReaderWriter::Options const *)
(?appendt...@sgtext@@sapavn...@osg@@PBVSGPropertyNode@@p...@pbvoptions@Reade
rwri...@osgdb@@@Z)

8simgear_d.lib(SGText.obj) : error LNK2019: unresolved external symbol
__declspec(dllimport) public: void __thiscall
osgText::TextBase::setMaximumWidth(float)
(__imp_?setmaximumwi...@textbase@osgText@@qa...@z) referenced in function
public: static class osg::Node * __cdecl SGText::appendText(class

Re: [Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread Thomas Betka
I am confused... what the heck is a reversible ILS?

In 25 years as an instrument pilot and over 20 as an instrument  
instructor--I've never of such a thing. Localizer beams are not  
reversible. They are horizontally polarized, but not reversible.

Reference the FAA Instrument Flying Handbook, at this link:

http://www.faa.gov/library/manuals/aviation/instrument_flying_handbook/

Check out Chapter 7, pages 7-37 thru 7-39, but let me summarize here...

The localizer antenna for a given runway is located some distance  
('x') off the *departure* end of that runway. This distance, x, is  
determined by the length of the runway, so that the width of the  
localizer beam (which is usually 5-degrees) is 700 feet at the  
approach end of the runway. But the important thing to remember here  
is that the beam is also directed out the other end of the  
runway...along the departure path. There's a diagram on page 7-38 that  
shows this. While I admit that I haven't read each and every post in  
this thread, I have read enough to see that the importance of this may  
not be appreciated by all in this discussion.

In a nutshell--an ILS approach is a *precision* approach, meaning  
there is lateral guidance from the localizer (LOC), as well as  
vertical guidance from the glideslope (GS), and various approach  
lights that are integral to the approach. Without *any* component,  
then the ILS approach is no longer do-able, technically speaking. But  
an aircraft using the other end of the runway can still use the same  
localizer--they would see reverse sensing on the indicator needle in  
their cockpit (unless an HSI was used, and then the device could be  
adjusted so that it would always be normal sensing).

As an example, let's say an aircraft is 5 miles out on the ILS RWY 36  
approach at Oshkosh Wisconsin. With the NAV receiver tuned to 110.5  
MHz, the pilot would fly to the needle and track the localizer  
inbound. When they reached the GS intercept point, they could start  
down, but let's say they ignored the GS and remained level at 2000  
feet AGL. As the aircraft got closer  closer to the approach end of  
runway 36, the needle on their indicator would be more  more  
sensitive (as the beam is getting narrower and narrower), until the  
aircraft flew reached the LOC antenna, located approximately 1000 feet  
past the *departure* end of the runway, in most cases. But at that  
point, the signal persists--nothing happens other than the indicator  
in the cockpit indicates reverse sensing, because of the horizontal  
polarization inherent to the LOC signal. So the pilot simply uses  
reverse sensing, and now flies the needle to the ball, instead of  
the ball to the needle, as on the front course. This reverse-sensing  
area on the backside of the LOC antenna is known as the back  
course, while the signal directed from the LOC antenna back towards  
the approach end of the runway is known as the front course.

So where this concept of switching off an ILS transmitter in the tower  
came from, I don't know. I can assure you that in many years of flying  
IFR--I never had this happen. There were many times I flew into KOSH  
IFR after the tower was closed for the night--and ALL approach  
transmitters were active. When there is no wind, you're free to use  
whichever instrument approach you see fit, as YOU are the expert at  
that point. If the tower is open and there are certified meteorlogic  
observers on site...then you use the approach they tell you, or you  
request a different approach. If they can, they'll give it to you  
(depending upon traffic conditions). But they don't have to turn it on  
or off--that just doesn't happen as far as I know.

I hope this long-winded post has helped to clarify some of the  
misconceptions that seem to be flying around here in this thread.  
Maybe I have entirely missed the point here, and if so then I  
apologize. But there is simply no on/off switch for an ILS that is  
activated by the tower--at least none that I've ever seen. Maybe they  
have the capability to turn the transmitter on or off from the tower-- 
but I have never seen them do this. In fact, all of the times I've  
seen the LOC go down for maintenance, a ground maintenance vehicle has  
to go out to the transmitter shack and turn the LOC off. But each LOC  
on an airfield has it's own frequency, and you simply tune your NAV  
receiver to it to use that particular approach. In my previous  
example, you could in fact shoot a LOC BC (back course) approach for  
RWY 18, simply by using the localizer frequency for the RWY 36  
approach and using the published procedure for the LOC BC RWY 18...if  
there was one. Or you could tune to a *different* LOC frequency and  
shoot a front course ILS RWY 18 approach--if that was a published  
option at that particular airport. In that case there would be two  
localizers on that particular runway--one for the front course of  
either runway (18 or 36). This would 

Re: [Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread James Turner

On 15 Sep 2009, at 22:59, Thomas Betka wrote:

  But each LOC
 on an airfield has it's own frequency

This is where the problems start:

http://www.nats-uk.ead-it.com/aip/current/ad/EGPH/EG_AD_2_EGPH_2-1_en.pdf

IVG and ITH share the same frequency - 108.9Mhz, and there's some  
circuit/switch/etc in the tower to activate one DME/LOC/GS trio or the  
other.

Aside from that, I think everything you said was correct - as ever, I  
am not a pilot.

The good news is, I think I've come up with a more consistent  
heuristic (to make Curt happy!) than the current one.

Regards,
James


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread Thomas Betka
While my aviation expertise does not include foreign approach plates,  
there should be some degree of standard between designations world- 
wide. Thus I believe those are the designators of either the actual  
marker beacons, just off the runway...not the LOC itself. From what I  
can tell, there is only *one* LOC there.

Check out this PDF:  http://myweb.tiscali.co.uk/egpfgla/airportinfo/editaxi.pdf

That small symbol I think you are referencing in the PDF you linked,  
is indicating the location of the DME transmitter, and the frequency  
it is associated with (a LOC, in this case). DME transmitters co- 
transmit on the NAV frequency, so you tune the DME simply by tuning  
the VOR/LOC frequency in your NAV radio.

Now look at this approach plate: 
http://www.nats-uk.ead-it.com/aip/current/ad/EGPH/EG_AD_2_EGPH_8-6_en.pdf

The localizer for runway 24 has the frequency you referenced (108.90),  
and thus the DME is located on-field and is required for use on the  
approach, per the name ILS/DME/NDB. Also, the fact that the small  
symbol is located to the side of the runway indicates that this is NOT  
an ILS approach...as a precision approach could not have a localizer  
misaligned with the runway centerline.

So to your point--YES, the I-VG  I-TH share the same frequencies-- 
but those are not different localizers. There is only one localizer  
pictured there, and it's frequency is 108.90. Rather I think those  
symbols are actually marker beacons at either end of the runway, as  
shown on the PDF that linked to in your response (just off either end  
of the runway).

TB



On Sep 15, 2009, at 5:11 PM, James Turner wrote:


 On 15 Sep 2009, at 22:59, Thomas Betka wrote:

 But each LOC
 on an airfield has it's own frequency

 This is where the problems start:

 http://www.nats-uk.ead-it.com/aip/current/ad/EGPH/EG_AD_2_EGPH_2-1_en.pdf

 IVG and ITH share the same frequency - 108.9Mhz, and there's some
 circuit/switch/etc in the tower to activate one DME/LOC/GS trio or the
 other.

 Aside from that, I think everything you said was correct - as ever, I
 am not a pilot.

 The good news is, I think I've come up with a more consistent
 heuristic (to make Curt happy!) than the current one.

 Regards,
 James


 --
 Come build with us! The BlackBerryreg; Developer Conference in SF, CA
 is the only developer event you need to attend this year. Jumpstart  
 your
 developing skills, take BlackBerry mobile applications to market and  
 stay
 ahead of the curve. Join us from November 9#45;12, 2009. Register  
 now#33;
 http://p.sf.net/sfu/devconf
 ___
 Flightgear-devel mailing list
 Flightgear-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/flightgear-devel

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] nontrivial external situations (was: Glideslope bugs/improvements)

2009-09-15 Thread Thomas Betka
Actually those are DMEs.

Look at the approach plate I referenced in the email I just sent--I  
just noticed something I missed...this statement:

Procedure not available without DME I-TH or radar

It's in the text box towards the top of the plate.

I missed this, because it's generally *not* done like this in the  
US...DME located just off the end of the runways. But it makes perfect  
sense--put a DME right off the departure end of the runway to give you  
a perfect reference for distance on the approach. Many times in the  
US, a DME will be located on the field, but not usually with the  
localizer (as it appears these might be.)

So those are not two localizers--they are DMEs. One (I-TH) would be  
for the ILS/DME/NDB RWY 24 approach, while the other would be for the  
approach for RWY 6. Check out this plate:

http://www.nats-uk.ead-it.com/aip/current/ad/EGPH/EG_AD_2_EGPH_8-1_en.pdf

...for the ILS/DME RWY 06. Note the I-VG DME associated with the  
108.90 MHz LOC frequency on that plate.


Sorry for two posts so quickly--I haven't used this stuff in a few  
years, so I'm a bit rusty...and of course the nomenclature is slight  
different than that on US approach plates.

TB


On Sep 15, 2009, at 5:11 PM, James Turner wrote:


 On 15 Sep 2009, at 22:59, Thomas Betka wrote:

 But each LOC
 on an airfield has it's own frequency

 This is where the problems start:

 http://www.nats-uk.ead-it.com/aip/current/ad/EGPH/EG_AD_2_EGPH_2-1_en.pdf

 IVG and ITH share the same frequency - 108.9Mhz, and there's some
 circuit/switch/etc in the tower to activate one DME/LOC/GS trio or the
 other.

 Aside from that, I think everything you said was correct - as ever, I
 am not a pilot.

 The good news is, I think I've come up with a more consistent
 heuristic (to make Curt happy!) than the current one.

 Regards,
 James


 --
 Come build with us! The BlackBerryreg; Developer Conference in SF, CA
 is the only developer event you need to attend this year. Jumpstart  
 your
 developing skills, take BlackBerry mobile applications to market and  
 stay
 ahead of the curve. Join us from November 9#45;12, 2009. Register  
 now#33;
 http://p.sf.net/sfu/devconf
 ___
 Flightgear-devel mailing list
 Flightgear-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/flightgear-devel

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS (was: nontrivial external situations)

2009-09-15 Thread John Denker
Hi Folks --

Of the 3050 ILSs in section four of my copy of nav.dat,
404 of them, i.e. more than 13% of them, are reversible.
That's 202 pairs, if you want to count by pairs.
 -- In all such pairs, both ends use the same frequency.
 -- In all such pairs, the two ends have different IDENT
  codes.
 -- In all such pairs, the localizers face in opposite 
  directions.
 -- In all such pairs, with two dubious exceptions, the 
  localizers are documented to be more than 1km apart.

Here are a few examples
Airport  freqLOC-LOC distance
  EGPH: IVG  06   == ITH  24   (108.90)   1.817 nm
  KJFK: IHIQ 04L  == IIWY 22L  (110.90)   1.646 nm
  KJFK: ITLK 13L  == IRTH 31R  (111.50)   1.953 nm
  KLAX: IGPE 06R  == IHQB 24L  (111.70)   2.044 nm
  KLAX: IUWU 06L  == IOSS 24R  (108.50)   2.099 nm
  KLAX: IMKZ 07R  == ILAX 25L  (109.90)   2.270 nm
  KLAX: IIAS 07L  == ICFN 25R  (111.10)   2.263 nm
  KPHL: IPHL 09R  == IGLC 27L  (109.30)   2.065 nm
  KPHL: IVII 09L  == IPDP 27R  (108.95)   1.898 nm

The whole list can be found at
  http://www.av8n.com/fly/reversible.txt

There are several reasons why the two ends of such a
pair must be considered _different_ ILSs, and cannot
be operated simultaneously:
 1) First of all, you have to ask where the localizer
  transmitter sits.  The rule is that they sit a little
  ways beyond the departure end of the runway.  If you
  tried to use a transmitter at the departure end of
  runway 6 to serve approaches to runway 24, the LOC
  course width would go to zero long before you reached
  the threshold of runway 24.  There is no way this
  would go unnoticed.  Also, locating the localizer
  transmitter at mid-field is out of the question.
 2) Secondly, if you tried to serve two reciprocal
  runways with the same localizer, one or the other of
  them would be reverse sensing.  There is no way this
  would go unnoticed.
 3) If you tried to operate two transmitters at the
  same time, they would interfere.  In particular, the
  outbound (missed approach) segment of one would ruin
  the inbound (final) segment of the other.  Also there 
  would be no way to make sense of the IDENT.

And FWIW, I have experienced this first-hand.  Sometimes
a student is capable of forming an unshakable expectation
that he will be using runway 6 right.  He has the
approach plate already out.  He listens to the ATIS, but
ignores the part about landing and departing runway two 
seven left.  He IDENTifies the ILS, hears some code, 
and assumes it is the right code, even though it's not.  
I tell him to double-check the IDENT, whereupon he
double-checks the frequency, and sure enough the frequency 
is right.  He has a real hard time getting established 
on the localizer, because it is reverse sensing ... not 
to mention various other problems.  I explain to the 
long-suffering controller that my student got out the
wrong approach plate, and we need to go hold somewhere
and sort things out.  The student overhears this, and
still doesn't understand what went wrong, because he
is absolutely sure that there is no such thing as a
reversible ILS.

  In contrast, a skillful instrument pilot does not really
  need to know or care about reversible ILSs, because the
  wording of the ATIS and the wording of the clearance
  suffice to tell him which approach plate to use.

I remark that section 4-7-13 of FAA 7110.65P, which
specifies the duties of air traffic controllers, briefly
mentions some procedures for Switching ILS/MLS Runways.

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS

2009-09-15 Thread John Denker
On 09/15/09 20:17, I wrote:

 Of the 3050 ILSs in section four of my copy of nav.dat,
 404 of them, i.e. more than 13% of them, are reversible.

FWIW if we restrict attention to US airports, i.e. 
having ICAO identifiers of the form K..., then 276
of the ILSs are reversible i.e. more than 23% of 
the 1172 total ILSs.  That's 138 pairs if you want 
to count by pairs.

The higher percentage stands to reason, given the 
high density of airports and air traffic in the US,
and the paucity of available ILS frequencies.

Bottom line:  These critters are not rare.  

Getting FGFS to handle them properly is worth a bit 
of effort.


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS (was: nontrivial external situations)

2009-09-15 Thread Thomas Betka
Well, then indeed...you're going to have to implement a textbox-style  
warning to the user that there may be a potential conflict at those  
airports. You're correct about there being an issue with making the  
back-course reverse sensing, when the published approach plates  
indicate that it shouldn't be. That would be a problem. But remember  
that precision approaches need to have a specified LOC width at the  
approach end of a runway--thus the LOC antennas are located off the  
departure end of the runway the required distance (as practical) to  
fulfill that requirement. Of course the LOC beam width can be adjusted  
to accommodate this, to some degree. That begs another question then  
though--is this accounted for in FG at present? I haven't tested it,  
but maybe John has.

I still think an acceptable solution is to hit the user with a textbox  
message, advising them of the potential conflict. While Elite has  
apparently gone away from having it on the pilot's screen (and thus  
interrupting program execution) in their current software, the new  
improved way provides for the feature on the instructor's screen in  
the enterprise-level software. But I don't see how you'll get around  
program interruption in the case when the pilot is using the software  
independently--who else is going to make the choice?

And as for an automatic choice, based upon aircraft position, heading,  
or bearing from the station--this will be problematic as John  
mentioned. Pilot's are often required to tune NAV frequencies well  
before arriving at the initial approach fix (often the outer marker),  
and thus there's no way sufficient generalizations can safely be made  
regarding the approach they intend to use. For example, suppose an  
aircraft is approaching an airport from the south, but needs to use  
the ILS RWY 18. If RWY 36 uses a reversible ILS (weird term, and I  
still don't think I've ever heard it before...) and they tune to that  
frequency, then the only way for them to know which approach they were  
actually tuned in to would be the morse identifier (as John suggested).

So John, are these 202 runways world-wide (I saw EGPH on the list, but  
the rest were in the US); and do you know if all of the ILS approaches  
on those runways are currently supported in FG?

I suppose you could just fail to support the ILS for one half of those  
runways, although it wouldn't be a very popular decision with the  
users I'll bet. So if you must support the approach and cannot employ  
sufficient logic to make decisions as to which runway to  
(automatically) select when one of those frequencies is selected--then  
about the only option you have left is to ask the pilot which runway  
they intend to use...

It might just be crazy enough to work.

TB


On Sep 15, 2009, at 10:17 PM, John Denker wrote:

 Hi Folks --

 Of the 3050 ILSs in section four of my copy of nav.dat,
 404 of them, i.e. more than 13% of them, are reversible.
 That's 202 pairs, if you want to count by pairs.
 -- In all such pairs, both ends use the same frequency.
 -- In all such pairs, the two ends have different IDENT
  codes.
 -- In all such pairs, the localizers face in opposite 
  directions.
 -- In all such pairs, with two dubious exceptions, the 
  localizers are documented to be more than 1km apart.

 Here are a few examples
 Airport  freqLOC-LOC distance
  EGPH: IVG  06   == ITH  24   (108.90)   1.817 nm
  KJFK: IHIQ 04L  == IIWY 22L  (110.90)   1.646 nm
  KJFK: ITLK 13L  == IRTH 31R  (111.50)   1.953 nm
  KLAX: IGPE 06R  == IHQB 24L  (111.70)   2.044 nm
  KLAX: IUWU 06L  == IOSS 24R  (108.50)   2.099 nm
  KLAX: IMKZ 07R  == ILAX 25L  (109.90)   2.270 nm
  KLAX: IIAS 07L  == ICFN 25R  (111.10)   2.263 nm
  KPHL: IPHL 09R  == IGLC 27L  (109.30)   2.065 nm
  KPHL: IVII 09L  == IPDP 27R  (108.95)   1.898 nm

 The whole list can be found at
  http://www.av8n.com/fly/reversible.txt

 There are several reasons why the two ends of such a
 pair must be considered _different_ ILSs, and cannot
 be operated simultaneously:
 1) First of all, you have to ask where the localizer
  transmitter sits.  The rule is that they sit a little
  ways beyond the departure end of the runway.  If you
  tried to use a transmitter at the departure end of
  runway 6 to serve approaches to runway 24, the LOC
  course width would go to zero long before you reached
  the threshold of runway 24.  There is no way this
  would go unnoticed.  Also, locating the localizer
  transmitter at mid-field is out of the question.
 2) Secondly, if you tried to serve two reciprocal
  runways with the same localizer, one or the other of
  them would be reverse sensing.  There is no way this
  would go unnoticed.
 3) If you tried to operate two transmitters at the
  same time, they would interfere.  In particular, the
  outbound (missed approach) segment of one would ruin
  the inbound (final) segment of the other.  Also there
  would be no way to make 

Re: [Flightgear-devel] reversible ILS

2009-09-15 Thread Thomas Betka
Well, right. They are apparently a lot more common than I gave them  
credit for--but it does seem that they tend to be at airports one  
doesn't frequent with a 172. But as many FG users are flying airline- 
style aircraft (and thus likely using these airports), it does become  
relevant.

And the other problem is that if you've made the decision to support  
all of these approaches with NAVAIDS in Flightgear, then you've  
already made the decision to do it right--because these runways will  
all have published approach procedures that the users will have access  
to. Thus you cannot require them to follow some alternate procedure  
without published documentation.

So even if there are only 10 such instances, you're pretty much stuck  
doing it correctly. I do agree with JD in that respect.

TB


On Sep 15, 2009, at 10:50 PM, John Denker wrote:

 On 09/15/09 20:17, I wrote:

 Of the 3050 ILSs in section four of my copy of nav.dat,
 404 of them, i.e. more than 13% of them, are reversible.

 FWIW if we restrict attention to US airports, i.e.
 having ICAO identifiers of the form K..., then 276
 of the ILSs are reversible i.e. more than 23% of
 the 1172 total ILSs.  That's 138 pairs if you want
 to count by pairs.

 The higher percentage stands to reason, given the
 high density of airports and air traffic in the US,
 and the paucity of available ILS frequencies.

 Bottom line:  These critters are not rare.

 Getting FGFS to handle them properly is worth a bit
 of effort.


 --
 Come build with us! The BlackBerryreg; Developer Conference in SF, CA
 is the only developer event you need to attend this year. Jumpstart  
 your
 developing skills, take BlackBerry mobile applications to market and  
 stay
 ahead of the curve. Join us from November 9#45;12, 2009. Register  
 now#33;
 http://p.sf.net/sfu/devconf
 ___
 Flightgear-devel mailing list
 Flightgear-devel@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/flightgear-devel

--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS

2009-09-15 Thread John Denker
On 09/15/09 20:53, Thomas Betka wrote:

  Of course the LOC beam width can be adjusted  
 to accommodate this, to some degree. 

Not to a sufficient degree if/when the localizer is
at the wrong end of the runway.  The localizer course
width necessarily goes to zero at the antenna.  There
is no way around this.  This adds to the excitement
of back-course approaches.

 That begs another question then  
 though--is this accounted for in FG at present?

The last time I touched the code, reversible ILSs
were working fine ... both ways ... except for the 
switching logic, which failed utterly for missed 
approaches, for arrivals from upwind, et cetera.

 I still think an acceptable solution is to hit the user with a textbox  
 message, advising them of the potential conflict.

I don't recommend that.  Unrequested popups are near
the nadir of bad user-interface design ... especially
when, as in this case, they might confront a naive
user who doesn't know what they mean.

 And as for an automatic choice, based upon aircraft position, heading,  
 or bearing from the station--this will be problematic as John  
 mentioned. Pilot's are often required to tune NAV frequencies well  
 before arriving at the initial approach fix (often the outer marker),  
 and thus there's no way sufficient generalizations can safely be made  
 regarding the approach they intend to use.

Agreed.  There is no way that automatic switching 
based on aircraft position and/or heading will ever
be acceptable.

In real life, the active runway is changed when the
wind requires it.  Making the change at a busy airport
is a big deal, since one way or another you have to 
make sure nobody is on final to the old runway.  It's
even trickier if the airport doesn't have a tower.

 So John, are these 202 runways world-wide (I saw EGPH on the list, but  
 the rest were in the US); and do you know if all of the ILS approaches  
 on those runways are currently supported in FG?
  There are 276 out of 1172 at US K... airports.
  There are  96 out of  431 at UK E... airports.
  There are 404 out of 3050 worldwide.

 I suppose you could just fail to support the ILS for one half of those  
 runways, although it wouldn't be a very popular decision with the  
 users I'll bet.

There's no need for that.

The simplest approach might be:
 0) For naive users, and even experienced VFR users, 
  they don't know and don't care about this issue, 
  and everybody would like to keep it that way.
 1) At startup, we shall set every reversible ILS to 
  the higher-numbered end (19 through 36 inclusive).
  We choose this end because most users live in the 
  temperate zones where the prevailing westerlies 
  prevail most of the time.  (I retract my earlier
  suggestion about initializing them randomly.)
 2) There shall be a menu item, which appears when 
  commanded by the user -- *not spontaneously* -- and
  can be used to reverse the nearby reversible ILS(s).
  Perhaps an array of buttons listing the nearest 10
  airports with reversible ILSs or some such.  And
  maybe a textbox to allow reversing an arbitrary
  airport or an arbitrary frequency. This should 
  suffice for single-player FGFS.  This would most
  likely only be used by instrument-rated pilots, or
  instrument students, so we can assume they have 
  enough sophistication and dedication to deal with
  such a popup.  We need some kind of switching, 
  because the ILS is most needed when the weather is 
  very bad, and that usually means the wind is *not* 
  from the prevailing fair-weather direction.
 3) Multiplayer is quite a bit trickier, as previously
  discussed.  This is related to MP ATIS, MP lights, 
  pilot-controlled lights, navaid IDENT, et cetera.
  This will have to be discussed quite a bit more
  before anybody starts coding it.


--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] reversible ILS

2009-09-15 Thread Scott Hamilton
On Tue, 2009-09-15 at 22:01 -0700, John Denker wrote:

Can I also suggest, that like most things in FG, we have a property
and a Nasal API. 

Now I haven't thought about this very much, but rather than forcing
some UI into concrete, it might be better
to provide a programmatic interface, then implement a default
behaviour that can be overridden later, for example
a ATC aircraft may wish to manipulate and control this at some
point. 

* Nasal interface to lookup available ILS information (from nav.dat)
- airportinfo() already gives us a list of runways and headings
* some properties that can be changed to switch the ILS. 

   Then someone else can make a Menu in Nasal that uses that above to
achieve item 2 outlined below.


Scott.



 
 There's no need for that.
 
 The simplest approach might be:
  0) For naive users, and even experienced VFR users, 
   they don't know and don't care about this issue, 
   and everybody would like to keep it that way.
  1) At startup, we shall set every reversible ILS to 
   the higher-numbered end (19 through 36 inclusive).
   We choose this end because most users live in the 
   temperate zones where the prevailing westerlies 
   prevail most of the time.  (I retract my earlier
   suggestion about initializing them randomly.)
  2) There shall be a menu item, which appears when 
   commanded by the user -- *not spontaneously* -- and
   can be used to reverse the nearby reversible ILS(s).
   Perhaps an array of buttons listing the nearest 10
   airports with reversible ILSs or some such.  And
   maybe a textbox to allow reversing an arbitrary
   airport or an arbitrary frequency. This should 
   suffice for single-player FGFS.  This would most
   likely only be used by instrument-rated pilots, or
   instrument students, so we can assume they have 
   enough sophistication and dedication to deal with
   such a popup.  We need some kind of switching, 
   because the ILS is most needed when the weather is 
   very bad, and that usually means the wind is *not* 
   from the prevailing fair-weather direction.
  3) Multiplayer is quite a bit trickier, as previously
   discussed.  This is related to MP ATIS, MP lights, 
   pilot-controlled lights, navaid IDENT, et cetera.
   This will have to be discussed quite a bit more
   before anybody starts coding it.



**
This message is intended for the addressee named and may contain
privileged information or confidential information or both. If you
are not the intended recipient please delete it and notify the sender.
**
--
Come build with us! The BlackBerryreg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9#45;12, 2009. Register now#33;
http://p.sf.net/sfu/devconf___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel