Jump to content
The simFlight Network Forums

GFDisplay is kicking my butt.


Recommended Posts

I've spent three hours going through the GFDisplay.pdf. And I just spent the last hour typing a long post to accurately show what I'm doing and thinking, but then my browser decided to update itself and shut down. I'm already mad that GFDisplay is apparently too complicated for me and now I don't have time for an accurate post. :x Running FS2004 (FS9.1) and FSUIPC 3.48, GFDisplay 1.1.

As a learning experiment, I'm simply trying to assign one GF-P8 button to Pitot_Heat_Toggle and have the LED light up.

FSUIPC.ini button assignment

67=P101,11,C65858,0

GFDisplay.ini

[GF Connections]
GFDev=DLL found
GF45=3
GFLGT=1
GFMCP=1
GFRP48=3
GFP8=3
GFT8=3
GF166=6
GF46=1

[Conditions]
0=X029C U8 =1 ; Pitot Heat On

[GFP8.1]
Needs=B E
B=8
L3 C0

I'm sorry, but I don't have time right now to explain my entire thought process as to why I came up with what I did. My FSUIPC.ini settings for the button are correct. The function itself works fine in FS. So I'm screwed up somewhere with GFDisplay.

Any help is so greatly appreciated,

Joe

Link to comment
Share on other sites

I've been reviewing my work and have come up with this...

[GF Connections]
GFDev=DLL found
GF45=3
GFLGT=1
GFMCP=1
GFRP48=3
GFP8=3
GFT8=3
GF166=6
GF46=1

[Conditions]

[GFP8.1]
Needs=B E
B=8
L3=X029C U8; Pitot Heat On

This is what was throwing me off

But note that conditions alone do not provide a ‘result’. In other words, to light an indicator you cannot simply have a condition or list of conditions. The conditions just tell GFdisplay whether to process the rest of the line. They do not result in a value for the line.

It's now working as expected.

Link to comment
Share on other sites

I'm already mad that GFDisplay is apparently too complicated for me

I'm sorry. I simply didn't have the time (nor really the capability) of doing a more friendly interface -- even if I did I think it would still be more of a programming language than anything easy, because I wouldn't want to sacrifice any of the flexibility.

But that's why I made up for it by providing operational examples with a thorough walk-through. Or, at least, I did think it was thorough.

As a learning experiment, I'm simply trying to assign one GF-P8 button to Pitot_Heat_Toggle and have the LED light up.

Well the button assignment can be done directly in FSUIPC's Buttons dialgogue. You don't need to fiddle about with any parameter lines for that. I don't think anyone has any difficulties with that part.

[Conditions]
0=X029C U8 =1 ; Pitot Heat On

[GFP8.1]
Needs=B E
B=8
L3 C0

Several points here.

1) You don't need a condition for this. The LED is on if the Pitot Heat is on, off if the Pitot Heat is off. It's a simple one-to-one relationship. The conditions section is there simply to enable you to do much more complicated thinks, like, for instance, only lighting the LED if pitot heat is on AND the engine RPM is over 2400. Complex stuff like that. It is best to start simple, and you cannot get any simpler than one value one light!

2) The line "L3 C0" is missing the =. That's just a blatant syntax error. All Windows INI and CFG files are in the form ID=VALUE and these lines are no exception.

3) If you did have L3=C0 the line is still incomplete and therefore invalid, because you've provided a condition, but not said what to do when the condition is true. You'd also then need another line to say what to do when the condition was false. i.e.

L3.1=C0 .....

L3.2=!C0 .....

However, as I said in (1) above, you really don't have any conditions to which this LED is is subservient. It is just supposed to be on when the pitot heat is on.

So, the complete and total INI file you'd need would simply be:

[GFP8.1]
Needs=B E
B=8
L3=X029C U8

This says that L3 is lit when the unsigned byte ( U8 ) at offset 029C is non-zero, and is not lit when it is zero.

Please peruse the examples in my document again. You will notice that the conditions deal with things like "Is Project Magenta running or not" and “Is the CRS non-zero” (the latter so that 0 can be replaced by 360), and also conditions which determine whether IAS or Mach needs displaying. etc etc. They are all things which do actually condition whether a display or LED will display or light according to the rest of the parameter's definition. They never, themselves, define what the display should be!

Regards

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.