Jump to content
Sign in to follow this  
driver101

Transponder Mode

Recommended Posts

Is the transponder working with online clients like vPilot?

 


Cheers Jan 
5800X3D | Asus Strix 3080TI OC | 32GB G.Skill RipJaws | 1T + 250GB Samsung 960 Evo | Windows 10 | MSFS

 

Share this post


Link to post
Share on other sites

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!


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

Thank you for the explanation.

 


Cheers Jan 
5800X3D | Asus Strix 3080TI OC | 32GB G.Skill RipJaws | 1T + 250GB Samsung 960 Evo | Windows 10 | MSFS

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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).


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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.

 


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites
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")

 

  • Like 1
  • Upvote 1

[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

Share this post


Link to post
Share on other sites
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?

  • Like 1

Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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. 

Share this post


Link to post
Share on other sites

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


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

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
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...