Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Transponder Mode

Featured Replies

Is the transponder working with online clients like vPilot?

 

Cheers Jan 
9800X3D | Asus ROG Astral 5080 | 64GB G.Skill RipJaws | 1T/2T/4T Samsung 990 PRO | Windows 11 | MSFS

 

  • Replies 37
  • Views 7.5k
  • Created
  • Last Reply

Hi,

The transponder is synchronizing with the FltSim XPDR code. However, unlike our X-Plane version, the transponder mode is not synced with FltSim just because there is no XPDR mode in FltSim (it is assumed always ON and there is no SDK variable). To enhance the capabilities of our GTN, we're publishing our own XPDR mode simvar (along with IDENT and LIGHT simvars) to permit third party gauges/modules to interact with our GTN XPDR.

Also, in our X-Plane version, there are further multiplayer support via PilotEdge and VATSIM, which permit displaying the RX/TX COM flag when communicating. There is none of this in our FltSim version yet simply because we can't get a hold on Keith (PilotEdge) for the last 6 months, nor it is clear at this time if any of third party online network clients are sharing any data to third parties for such integration. If you have further information on this, we'll be glad to evaluate!

  • Author

Thank you for the explanation.

 

Cheers Jan 
9800X3D | Asus ROG Astral 5080 | 64GB G.Skill RipJaws | 1T/2T/4T Samsung 990 PRO | Windows 11 | MSFS

 

  • 7 months later...

Bumping this thread:

For us who use vPilot this is from the vPilot documentation, http://vpilot.metacraft.com/Documentation2.aspx#transponder:

Quote

 If the add-on aircraft you are flying has SquawkBox transponder integration, then vPilot will detect transponder mode changes when you toggle the mode using the aircraft panel within the sim. If this happens, you'll see the Mode C button on the vPilot main window light up in green when the transponder is in Mode C.

And from the older squawkbox documentation for FSUIPC offsets, http://www.squawkbox.ca/doc/sdk/fsuipc.php:

Quote

SquawkBox Specific Offsets

Offset Size (in bytes) Description SquawkBox reads? SquawkBox writes?
0x7b91         1                                                           Transponder mode
0 = normal
1 = standby
SquawkBox reads this value to determine which transponder mode to send to the network. Your transponder gauge should set this offset when the user changes modes with your gauge.
YES NO
0x7b92 1 ATC activity indicator. This value is normally set to 0. When SquawkBox receives a ping from a nearby ATC, it sets this value to 1. If you want your gauge control to flash your ident light you should check this value periodically. As soon as you notice the value is set to 1, you must reset it to 0. NO YES
0x7b93 1 Transponder Ident pressed. When the user presses the ident button on your transponder gauge, you should set this value to 1. When SquawkBox notices it is set to 1, it will transmit an ident on the network and reset the value to 0. YES YES

 

And for my A2A aircraft which don't have squawkbox integration built in I use a LUA script found on the web:

function sqmode(varname, value)
	avi_swtch = ipc.readLvar("AvionicsElecPower")	
	
		if avi_swtch==1 and (value==4 or value==3) then
			--squawk mode charlie
			ipc.writeSB(0x7B91, 0)
		else
			--squawk mode stand by
			ipc.writeSB(0x7B91, 1)
		end
	--else
		--squawk mode stand by
		--ipc.writeSB(0x7B91, 1)
	--end
end

function sqident(varname, value)
	if value==1 then
	--squawk ident
		ipc.writeSB(0x7b93, 1)
	end
end

event.Lvar("L:xpdr_onoff_knob_pos", 500,"sqmode")
event.Lvar("L:xpdr_ident_button", 500,"sqident")

 

The question for RXP is then:

Are there any variables in the GTN that can be used to implement this functionality, or update the LUA script?
Otherwise, would it be very problematic to implement the variables, or make the software write the SB values?

As you can see from the SB documentation there is also an offset for flashing the Ident light to simulate radars interrogating the transponder, (not sure if this is implemented in vPilot, but I see in the GTN manual that there is a rxp varable for this already 🙂 )

Bjørn Helge Småvollan

Hi,

The RXP GTN already publishes variables for this (see p13 User's Manual):

rxp.transponder.id  boolean  (squawking if true)
rxp.transponder.light boolean (replying if true)
rxp.transponder.mode enum (STBY=0,ON=1,GRND=2,ALT=3)

You can write these vars and the GTN will work accordingly (supposedly!)

However, we'll never support any FSUIPC interface. Third party vendors can easily open their online clients via L:vars (like we do).

  • 9 months later...

Darn, so the RXP people don't want to support FSUIPC?  well, what you gave is way better then the F1 people.

Now with that out of the way, this is for the LUA script people, is there a good example of the script to take the RXP modes and send then out thru FSUIPC?

By the way, vpilot and the new version of pilotedge client (basically a special version of vpilot) will use the fsuipc codes that squawkbox used.  I can program buttons to change these, but would like to just change them in this program.

1 hour ago, wings138 said:

Now with that out of the way, this is for the LUA script people, is there a good example of the script to take the RXP modes and send then out thru FSUIPC?

Hi, thank you for your kind words!

For rxp.transponder.id:

  • Use the GTN XPDR touchscreen controls to 'squawk' and rxp.transponder.id will be set to 1 during that time, and revert to 0 after a few seconds. Read rxp.transponder.id in a loop to set the online client state accordingly.
  • Otherwise, use the online client 'squawking' controls and write 1 or 0 to rxp.transponder.id accordingly: the GTN XPDR controls will show this.

For rxp.transponder.light, it is a little different (seems the manual is wrong):

(Please note: our X-Plane version is using the actual X-Plane reply dataref and is synchronized with the host simulator but there is no such XPDR reply in P3D...)

  • Write 0: it is simulating the 'R' (reply) flag in a realistic fashion
  • Write 1: it turns 'R' off.
  • Write 2: it turns 'R' on.

For rxp.transponder.mode:

  • Read rxp.transponder.mode and compare with previously read value. If it changes, update the online client with the newly read mode.
  • Read the online client XPDR mode and compare with previously read value, if it changes write the new mode to rxp.transponder.mode and the GTN will change mode.

 

Edited by RXP

Didn't mean it negatively, I think the RXP version of the 750 is the best.  With true support for the external button control.  I am buying the GTN 650 to pair up with my 750 tomorrow, so that I can use both together.  I do a lot of sim flying and enjoy having a realistic GPS program.

Ok let me do this and see if this will give me a response like I think it will.  So if I take His LUA example and replace avi_switch with rxp.transponder.mode would this send the program a 1 for active and a 0 for de-active?

I would like to see if I can get this working...  This summer I'll be buying the realsimgear GTN750, and mounting these in my Home Cockpit, and would like to have this program run the client.  I like using pilotedge and sense they are using just about the same program as vpilot and they both take the same fsuipc commands to work...  There is no Ground or Altitude modes with either service...

I've just read your answer and you might have missed I've amended my post with more details.

In short: these are bidirectional simvars with external priority: if an external program writes the values, the GTN changes, otherwise if the GTN changes it writes the values.

Please note our GTN for X-Plane is compatible with both PiloteEdge and xSquawkbox for XPDR mode, XPDR ID and Reply, COM TX/RX flags as-is because this is standardized in X-Plane!

The LUA script above seems to show how it was coded in this aircraft, so that this aircraft writes FSUIPC offsets when the user is pressing the gauge buttons. You might take a similar approach to directly write the GTN simvars instead, or, you can make a LUA script which main loop just 'synchronizes' the GTN and FSUIPC based on reading/writing the FSUIPC offsets on one hand and the GTN simvars on the other hand.

I wish I could help more with this but I can't for now. The basics are easy though thanks to our simvars and their bi-directional sync nature.

 

I get it, and will work on it and see what I can come up with.  Thanks.

56 minutes ago, wings138 said:

I get it, and will work on it and see what I can come up with.  Thanks.

@wings138 I fly PE all the time and I wrote this LUA script to take the RXP 750 transponder modes and pass to the PE P3DV4 client. I coded it so the both the Altitude and Ground modes are seen by PE as Mode C on, since the 750 automatically transitions to Ground mode after landing but PE wants to see Mode C on the ground on all movement areas. To implement simply put the LUA file in the Modules directory and add an Auto section as follows. 

Bruce

[Auto]
1=Lua RXPGTN750_XPDR_MODE_C

Spoiler

function CheckTransponderState(name, value)
if value == 3 then
ipc.control(1120,1)
end
if value == 2 then
ipc.control(1120,1)
end
if value == 1 then
ipc.control(1119,1)
end
if value == 0 then
ipc.control(1119,1)
end
end
event.Lvar("rxp.transponder.mode", 700, "CheckTransponderState")

 

[CPL]  I9-9900K @5.0GHz HT ON, Maximus XI Hero, ASUS TUF RTX4080 OC, 32GB DDR4 3200 14, 1TB NVMe SSD, 500GB SSD, 1TB HDD, 40" Samsung 4K TV, Honeycomb Alpha & Bravo, Logitech Rudder Pedals, WIN11

27 minutes ago, bbuckley said:

To implement simply put the LUA file in the Modules directory and add an Auto section as follows. 

Thank you for sharing. This sounds relatively easy once you get the initial directions: in which file do you add the 'Auto' section?

52 minutes ago, RXP said:

Thank you for sharing. This sounds relatively easy once you get the initial directions: in which file do you add the 'Auto' section?

Sorry, the Auto section gets added to the FSUIPC5.ini file. I didn't implement the IDENT function since I have mapped that function to a yoke button.

 

[CPL]  I9-9900K @5.0GHz HT ON, Maximus XI Hero, ASUS TUF RTX4080 OC, 32GB DDR4 3200 14, 1TB NVMe SSD, 500GB SSD, 1TB HDD, 40" Samsung 4K TV, Honeycomb Alpha & Bravo, Logitech Rudder Pedals, WIN11

  • 2 weeks later...
On 4/18/2019 at 2:53 PM, bbuckley said:

Sorry, the Auto section gets added to the FSUIPC5.ini file. I didn't implement the IDENT function since I have mapped that function to a yoke button.

Sorry to be a pest, but what would the variable be for the IDENT anyone know?  just wondering as I could always add that in if I want.  Thanks. 

@wings138 Hi, I think in addition to the User's Manual I've documented this in a post above!

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.