Nose high GSX pushback by others on VATSIM/vPilot (2024)

Quote from: Cipher on February 04, 2024, 10:03:25 pm

Umberto, could you please provide a pushBack.pye file where the velocity is reset not just during the push itself but during the connection/disconnection of the tug?

That will come, if this solution proves to be working.

This was supposed to be a quick fix for the sole reason of testing, to see if there's a difference.

Resetting the pitch velocity constantly from the moment the plane is frozen until it gets "thawed" again will require a less quick fix, because we need to initiate a new "every-frame" update routine we'd normally do only when the airplane is moving.

Every single place where there's a connection in GSX, we are always extremely careful not to produce any extra traffic so, in this case, the "by frame" update is enabled only when it was really required, so only when GSX moves the airplane, since there shouldn't be any need to keep sending data for no reason, we are realizing we need to do so, just to correct the sim not honoring the freeze flags entirely.

Quote

On Vatsim the aircraft usually gets into the wrong attitude when the tug is connected, not while being pushed. So trying to freeze the pitch velocity during push does little to nothing to solve the issue.

This is new and unexpected and if it's really the case, this indicates we haven't fully understood the issue because, as I've said in one of my previous posts, I noticed the pitch velocity assumed the following values:

- If the airplane is completely at rest, it's 0

- While GSX raises the airplane, it's about 0.04 m/sec. This seems about right: the raising animation lasts about 10-12 seconds, which would translate into 40/45 cm, which sounds reasonable so, during this step, it should show the airplane in the correct attitude, with the wheel reaching about 40 cm above ground when the raising stops.

- After raising ended, but before pushback starts, the pitch velocity started to raise, from 0.04 to 0.25 and this is clearly wrong, because the airplane pitch variable is instead perfectly steady (the airplane attitude is still frozen), so the velocity should have been 0, but it's not and I expected this should have caused the airplane CONTINUING to raise, now with a faster rate.

GSX has already stopped raising the airplane now, but , because vPilot is now interpolating the pitch with a 5x larger velocity, it "looks" like the GSX raising is happening now, but in fact it has already ended (with the smaller and correct amount), and what you are seeing now is just the result of the increase in the pitch velocity that gets picked up by vPilot.

- Are you sure the pitch up didn't happen while the airplane was moving, and it happened on the same airplane which was raised before (just to be sure you weren't observing another airplane, one using a Towbar tug for example)? Without resetting the variable constantly during the push, the pitch velocity was still higher than expected, like 0.25/0.28, the only way to keep it around 0 is to reset it at every frame so, I would expect there would have been problems even during pushback?

In any case, I made 3 test session, under the following conditions:

This shows GSX in its last normal release, with no changes:
https://youtu.be/PEiqP1wTkb4

This is resets ROTATION VELOCITY BODY X and VELOCITY WORLD Y to 0 for as long the plane is frozen, 6 times per second.
https://youtu.be/XDzQq4kn9pQ

This is resets ROTATION VELOCITY BODY X and VELOCITY WORLD Y to 0 for as long the plane is frozen, at every Visual Frame.
https://youtu.be/klzLQWC-6VM

You can see why I still consider this solution messy and an ugly hack because, even when setting the values at every frame, we are still struggling to keep the variables at bay, because the simulator is fighting us, the values are still jittering.

And that's why I still think that finding some way to signal about this to vPilot (ONE signal when freezing, ONE when thawing) so it can just IGNORE those velocity vectors during that time, would have been the best solution, with the only exception for a "white knight" (more like unicorn) solution coming from Asobo.

But that's beside the point: as I've said, I want to fix this in some way, so here's I've attached the latest Pushback code, with the above changes:

- The reset to 0 of the two variables now happens as soon the airplane gets frozen by GSX, and stops after it's thawed. The velocity reset routine starts 1 second before the airplane is frozen.

- You can configure it, by editing the

%APPDATA%\Virtuali\Couatladdons.ini

file and adding this line to the [GSX] section:

pushback_vpfix_freq = Frame

This will enable the fix, with a frequency set at every Visual Frame. You can set it to be 6 times per second instead, this way:

pushback_vpfix_freq = 6Hz

One time every second is also possible, although I don't think it would be very effective:

pushback_vpfix_freq = 1sec

If you remove the line, the whole fix will be DISABLED, so it will be identical to the current GSX release.

Please let me know your feedback by trying with all different values. The file should be placed here:

\Addon Manager\couatl\GSX\AssistanceServices

It's only meaningful for Towbarless tugs AND if the airplane has the "Pushback Raise" option Enabled in the profile, and you can try different settings by Restarting GSX/Couatl with no need to restart the sim. And yes, it's the same code for FSX, P3D and MSFS.

Nose high GSX pushback by others on VATSIM/vPilot (2024)
Top Articles
Latest Posts
Article information

Author: Manual Maggio

Last Updated:

Views: 6334

Rating: 4.9 / 5 (49 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Manual Maggio

Birthday: 1998-01-20

Address: 359 Kelvin Stream, Lake Eldonview, MT 33517-1242

Phone: +577037762465

Job: Product Hospitality Supervisor

Hobby: Gardening, Web surfing, Video gaming, Amateur radio, Flag Football, Reading, Table tennis

Introduction: My name is Manual Maggio, I am a thankful, tender, adventurous, delightful, fantastic, proud, graceful person who loves writing and wants to share my knowledge and understanding with you.