bbuckley

Carenado Phenom 100 & GTN 750 XPDR MODE

Recommended Posts

I've fully integrated the GTN into the airplane and VC but I can't seem to get the G1000 transponder ALT mode light to synch with the GTN transponder mode select. 

I wrote a simple xml gauge to try to do the synch but apparently I'm not too good at it... need some help.

Here's the gauge XML:

Spoiler

<Gauge Name="Synch_GPS_XPNDR_MODE" Version="1.0">   
<Element> <Select> <Value>
(K:RXP.TRANSPONDER.MODE, enum) 3 == if{
(L:G1000_XPDR_ON_ALT_VISIBLE, enum) 2 != if{ 2 (>L:G1000_XPDR_ON_ALT_VISIBLE, enum)) }}
</Value> </Select> </Element>
</Gauge>

and here's how I installed it into the panel.cfg:

Spoiler

//--------------------------------------------------------
[Vcockpit01]
Background_color=0,0,0 
size_mm=512,512
visible=0
pixel_size=1024,1024
texture=$Panel_1

gauge00=EMB500_G1000!G1000_configEMBP100,  0,0,1,1
gauge01=GAUGEEMB500!Gauge_CLOCK_DIG,  0,0,1,1
gauge02=EMB500_G1000!G1000_PFDEMBP100VC,  1,4,512,350
gauge03=EMB500CAR!ToggleCARG1000,  64,0,380,32
gauge04=EMB500_G1000!COMMON_UPDATE_G1000PFD,    0,  0,   1,  1
gauge05=Synch_GPS_NAV!Synch_GPS_NAV,            0,  0,   1,      1
///  xml gauge to synch G1000 CDI source to GTN selected source
gauge06=Synch_XPNDR_MODE!Synch_XPNDR_MODE, 0,0,1,1

//--------------------------------------------------------

Any help appreciated. This is a real nit but I'm also trying to teach myself a little about understanding XML and gauges.

Thanks,

Bruce

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Hi,

I applaud the effort and you sharing it! This might 'trigger' some more interest to our customers and 3rd party aircraft vendor too.

You might want to try in lower case "rxp.transponder.mode" instead.

Besides, the code is wrong there:

(K:RXP.TRANSPONDER.MODE, enum) 3 == if{
(L:G1000_XPDR_ON_ALT_VISIBLE, enum) 2 != if{ 2 (>L:G1000_XPDR_ON_ALT_VISIBLE, enum)) }}

Your code logic is: read the GTN mode, change the G1000 mode if they differ.

However, K: is not a correct prefix for this. It should read:

(L:rxp.transponder.mode, enum) 3 == (L:G1000_XPDR_ON_ALT_VISIBLE, enum) 2 != and if{
  2 (>L:G1000_XPDR_ON_ALT_VISIBLE, enum)

}

Are you sure just setting the G1000 simvar to 2 makes what you want though? What are the other possible values for this simvar?

Otherwise, you might want to consider the way around: have the GTN XPDR mode synced with the G1000 instead. Or even bidirectional sync (more involving though).

 

Share this post


Link to post
Share on other sites

Thanks Jean-Luc, your support for us here is awesome.  I tried both K: (Key Code) and L: (Local) and at your suggestion, changed the rxp var to the lowercase.  Still no joy, but at least you confirmed my logic.  I'm searching through the other G1000 simvars to see if something else needs to be set. At this point I'm just trying to keep it simple to see if I can get it to work.  The log below is a monitor of some data variables. The G1000 mode simvar goes 0 = stby, 1=On, 2=Alt. 

I'm out of town for the weekend but I'm sure I can ultimately get this right, then I'll expand it.

Spoiler

LVAR:RXP.TRANSPONDER.MODE,LVAR:RXP.TRANSPONDER.MODE,rxp.transponder.mode (LVAR),3,0
LVAR:RXP.TRANSPONDER.MODE,LVAR:RXP.TRANSPONDER.MODE,rxp.transponder.mode (LVAR),0,1
LVAR:RXP.TRANSPONDER.MODE,LVAR:RXP.TRANSPONDER.MODE,rxp.transponder.mode (LVAR),1,3
LVAR:G1000_XPDRCODE,LVAR:G1000_XPDRCODE,G1000_XPDRCode (LVAR),3352,1200
LVAR:G1000_XPDR_ON_ALT_VISIBLE,LVAR:G1000_XPDR_ON_ALT_VISIBLE,G1000_XPDR_ON_ALT_Visible (LVAR),0,2
LVAR:G1000_XPDR_ON_ALT_VISIBLE,LVAR:G1000_XPDR_ON_ALT_VISIBLE,G1000_XPDR_ON_ALT_Visible (LVAR),2,1
LVAR:G1000_XPDR_ON_ALT_VISIBLE,LVAR:G1000_XPDR_ON_ALT_VISIBLE,G1000_XPDR_ON_ALT_Visible (LVAR),1,0
 

 

Share this post


Link to post
Share on other sites

To close this topic out... I just got back and I now have the simple version of synching the G1000 XPDR ALT mode to the GTN working great.  Maybe someday I'll work on completely synching the G1000 & GTN XPDR modes but I'm not sure I care that much.  I usually use the GTN to enter the code then go to ALT and never touch it again. So I just didn't want STBY to be staring at me on the G1000 PFD. That would have driven me to changing it there also so now I don't have to. 😊

Spoiler

<Gauge Name="Synch_XPDR_MODE" Version="1.0">   
<Element> <Select> <Value>
(L:rxp.transponder.mode, enum) 3 == if{
(L:G1000_XPDR_ON_ALT_Visible, enum) 2 != if{ 2 (>L:G1000_XPDR_ON_ALT_Visible, enum) }}
</Value> </Select> </Element>
</Gauge>
 

 

  • Upvote 1

Share this post


Link to post
Share on other sites

OK, I had a little time and found an easy way to implement the synching of the G1000 xpdr modes to the GTN 750 for STBY, ON & ALT. I also coded an offset to set the SB4 Mode C for online flying (I've tested it with PilotEdge, I don't fly any other online services). Selecting Altitude Reporting on the GTN 750 sets ALT mode and display on the G1000 and sets the SB4 Mode C. Similarly, selecting Standby turns off the SB4 Mode C and synchs the G1000 mode and display to STBY. Same with ON mode. In this implementation the GTN is the master xpdr and the G1000 is just a slave. In fact selecting a mode from the G1000 PFD will just go right back to whatever the GTN is set to. 

BTW, this should would for any airplane that has a G1000 and RXP GTN 750 installed, not just the Carenado Phenom 100, but others can test that and let me know. Install the gauge (Synch_XPDR_MODE) in the panel folder and add the gauge to Vcockpit01 (my choice). I put it in a folder called Synch_GAUGES.

Spoiler

<Gauge Name="Synch_XPDR_MODE" Version="1.0">   
<Element> 
    <Select> 
        <Value>!lua
                gtn_mode   = varget("L:rxp.transponder.mode","Number")
                            
                if gtn_mode == 3 then
                    varset("L:G1000_XPDR_ON_ALT_Visible",2)
                    ipc.control(1120,1)
                    ipc.control(1119,1)
                end
                if gtn_mode == 1 then
                    varset("L:G1000_XPDR_ON_ALT_Visible",1)
                    ipc.control(1119,1)
                end
                if gtn_mode == 0 then
                    varset("L:G1000_XPDR_ON_ALT_Visible",0)
                    ipc.control(1119,1)
                end
        </Value> 
    </Select> 
</Element>
</Gauge>

 

  • Upvote 1

Share this post


Link to post
Share on other sites

Hi Bruce,

Congratulations again on sharing with the community and our customers!

ipc.control is unfortunate though: should the SB4 client, or the PilotEdge client, use standard FltSim simvars instead of requiring a 3rd party layer (FSUIPC), our GTN would sync these clients XPDR mode and display TX/RX flags as well, like we're doing already in our X-Plane versions.

 

 

 

Share this post


Link to post
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