flybywiresim / aircraft

The A32NX & A380X Project are community driven open source projects to create free Airbus aircraft in Microsoft Flight Simulator that are as close to reality as possible.
https://flybywiresim.com
GNU General Public License v3.0
4.94k stars 1.02k forks source link

Fligt details sampling broken #5891

Open Gert57 opened 2 years ago

Gert57 commented 2 years ago

Aircraft Version

Stable

Build info

{
  "built": "2021-09-18T00:34:38+00:00",
  "ref": "v0.7.0",
  "sha": "e8ea73b3648d48437ca5df55e280a945fd11dab6",
  "actor": "Benjozork",
  "event_name": "manual"

Describe the bug

In MSFS flight details can be sampled by external trackers via FSUIPC. Thus e.g. speed, altitude, engine parameters, vertical speed can be read. Since WU5 and the amendmends on the FBW A320 mod this is not possible anymore. However, it is still possible on the msfs stock A320. Can you restore this ability for the FBW mod. Because before wu5 in july it was functioning ok with the FBW A320!

Expected behavior

external fligt events logging again possible

Steps to reproduce

start flight start external flight logger (e.g. intercity acars) start engines no recorded off blocks no sample possible of speed & altitude

References (optional)

No response

Additional info (optional)

No response

Discord Username (optional)

Gert57

aguther commented 2 years ago

I don‘t see a reason why flight values like speed, altitude etc. should not be possible to be read via FSUIPC. Can you please provide details which parameters are missing and do not work?

Which tool are you using? Volanta seems not to have issues getting those values…

Gert57 commented 2 years ago

Tool I am using is ACARS from Intercity virtual airline. That program logs events and parameters e.g. speed, altitude every minute from msfs via fsuipc. This logging is ok with the stock A320 from msfs. However, with the FBW mod it only logs changes, like take off, climb, descend and land. With stock it automatically detects off blocks for example; with the FBW mod it doesn't. I am a bit at a loss what is happening... This behavior started after WU4 in July and the subsequent updates of the FBW mod.

aguther commented 2 years ago

Without knowing what parameters are read and expected by this tool it‘s difficult to do anything. There are some things that are now solved with custom variables, but airspeed, altitude, heading etc. is definitively still there and can be accessed (otherwise Volanta would not work at all).

What could be an issue is that maybe parking brake is not reflected in the default sim parameters (which would tell you possibly off and on block when combined with engine state). But the issue here is that with custom implementation of those systems the sim does not allow to set and reflect the values in the sim anymore.

jer029 commented 2 years ago

I'm also noticing that payload/cargo data is no longer transmitted to the memory locations read by FSUIPC as they have previously been in past releases of the Developer version. This still works with other aircraft so it's something done recently with the A320NX project and not a MSFS update. I'm thinking it's possible that this information was dropped along with the information described by the original post here.

aguther commented 2 years ago

Again, please be more specific what exact data you want to read and you are missing. This helps identifying the issue.

Gert57 commented 2 years ago

Hi Aguther, I have contacted the acars maker. He gave the following information:

Dim Lat As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H560) Dim Lon As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H568) Dim eng1flag As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H894) Dim eng2flag As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H92C) Dim VSr As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H2C8) Dim aog As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H366) Dim FSMin As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H23C) Dim FSHour As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H23B) Dim altitude As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H570) Dim ias As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H2BC) Dim tdr As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H30C) Dim hedg As Offset(Of Double) = New FSUIPC.Offset(Of Double)(&H2B00) Dim aircraftType As Offset(Of String) = New FSUIPC.Offset(Of String)(&H3D00, 256) Dim parkbrake As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&HBC8) Dim prop1 As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H88E) Dim prop2 As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H926) Dim stall As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H36C) Dim slewmode As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H5DC) Dim overspeed As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H36D) Dim lgear As Offset(Of UInt32) = New FSUIPC.Offset(Of UInt32)(&HBE8) Dim acfob As Offset(Of Int32) = New FSUIPC.Offset(Of Int32)(&H126C) Dim pause As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H264) Dim simurate As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&HC1A)

These are the variables we pull, if you want to show them?

The pulling of these variables was fine before WU4. Afterwards not. Pulling is still possible with the stock A320. Hope this info he;ps to restore the possibility of reading these variables.

Gert

jer029 commented 2 years ago

I wrote the ACARS program my pilots use that interfaces with FSUIPC. I don't recall the memory locations for payload information that it uses without checking the code, but will get this for you and post it. The payload information was readable from FSX and P3D and the latest FSUIPC7 for MSFS/fs2020. Not sure if the memory location changed with MSFS/fs2020 and was accounted for in the release of FSUIPC7, but I can check that out too. All I know is that it all worked until recently when the data recently stopped recording for A320NX but not the Aerosoft CRJ for MSFS. The field I display payload weight is not working but the payload capacity for the aircraft still displays along with the other sim data I record.

sidnov commented 2 years ago

I wrote the ACARS program my pilots use that interfaces with FSUIPC. I don't recall the memory locations for payload information that it uses without checking the code, but will get this for you and post it. The payload information was readable from FSX and P3D and the latest FSUIPC7 for MSFS/fs2020. Not sure if the memory location changed with MSFS/fs2020 and was accounted for in the release of FSUIPC7, but I can check that out too. All I know is that it all worked until recently when the data recently stopped recording for A320NX but not the Aerosoft CRJ for MSFS. The field I display payload weight is not working but the payload capacity for the aircraft still displays along with the other sim data I record.

That is because we have split the payload stations from Front/Rear Pax and Front/Rear Bag to a much more detailed loading model. There is also an update coming soon which will remove the Pilot and Co-pilot stations as these values should ideally be considered as a part of the operating empty weight.

The simvars remain same, the indexes have changed, not sure about how that affects the offsets.

image

For pax, the indexes are 1,2,3,4

Gert57 commented 2 years ago

Hi Jer029 and sidnov, Thank you for reacting. I will pass your info on to the acars maker. He experienced that his acars stopped receiving the data ONLY from the FBW A320 after WU4, data from stock A320 were pulled correctly. So I think what has changed in the FBW mod after WU4 concerning the reading of certain data and receiving changes of status??

Gert57 commented 2 years ago

I will show the difference in logging pre and post WU4. Pre WU4: [12:10:42] - Intercity ACARS Version 2021.4.25.0 [12:10:42] - Flying Airbus A320neo FlyByWire [12:10:42] - Boarding flight ICX19J [12:12:31] - Off Blocks at 12:12 with 5496kgs fuel onboard [12:12:31] - Engine 2 Started [12:20:02] - Sim Paused [12:20:27] - Sim Unpaused [12:28:31] - Engine 2 Shutdown [12:32:37] - Engine 2 Started [12:33:41] - Engine 1 Started [12:36:00] - Takeoff [12:36:09] - Landing Gear Retracred [12:37:51] - Cruise [13:04:00] - Descending [13:22:50] - Landing Gear Extended [13:25:42] - Landed at 120kts at -248fpm [13:34:08] - Engine 2 Shutdown [13:34:09] - On Blocks at 13:34 with 3868kgs fuel onboard [13:34:09] - Total fuel used 1628 kgs

Post WU4: 12:38:12] - Off Blocks at 12:38 with 7029kgs fuel onboard [12:38:12] - Off Blocks Button used [12:43:24] - Takeoff [12:46:09] - Cruise [13:48:22] - Descending [14:12:11] - Landed at 131kts at -324fpm [14:23:28] - On Blocks at 14:23 with 3127kgs fuel onboard [14:23:28] - Total fuel used 3902 kgs [14:23:28] - On Blocks Button used

Using the same Acars, but off blocks not detected, and some other data also not. Hpe this helps.

Benjozork commented 2 years ago

We have to know what variables are checked by the ACARS software.

Please contact your software provider and ask for that information. Without it, we cannot do anything.

Let them know also that the list of variables and events we use is available here.

Gert57 commented 2 years ago

Thank you for the mail.

I forwarded your request and will reply asap!

Greetings,

Gert

Van: Benjamin Dupont @.> Verzonden: zaterdag 25 september 2021 21:38 Aan: flybywiresim/a32nx @.> CC: Gert57 @.>; Author @.> Onderwerp: Re: [flybywiresim/a32nx] Fligt details sampling broken (#5891)

We have to know what variables are checked by the ACARS software.

Please contact your software provider and ask for that information. Without it, we cannot do anything.

Let them know also that the list of variables and events we use is available here.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/flybywiresim/a32nx/issues/5891#issuecomment-927173254 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AVYIEBK3NRNA56U3CQQZPXLUDYQIHANCNFSM5ETNUUYA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub .

jer029 commented 2 years ago

FSUIPC is using the normal payload offsets starting at 0x1400. This continues to work for all other aircraft but not A32NX. Not sure what recent changes to the development version of A32NX would make these values unreadable.

sidnov commented 2 years ago

FSUIPC is using the normal payload offsets starting at 0x1400. This continues to work for all other aircraft but not A32NX. Not sure what recent changes to the development version of A32NX would make these values unreadable.

https://github.com/flybywiresim/a32nx/issues/5891#issuecomment-927109352

Gert57 commented 2 years ago

Hi Benjozork, Some posts ago I gave the things the acars reads. I will give them again: Dim Lat As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H560) Dim Lon As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H568) Dim eng1flag As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H894) Dim eng2flag As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H92C) Dim VSr As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H2C8) Dim aog As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H366) Dim FSMin As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H23C) Dim FSHour As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H23B) Dim altitude As Offset(Of Long) = New FSUIPC.Offset(Of Long)(&H570) Dim ias As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H2BC) Dim tdr As Offset(Of Integer) = New FSUIPC.Offset(Of Integer)(&H30C) Dim hedg As Offset(Of Double) = New FSUIPC.Offset(Of Double)(&H2B00) Dim aircraftType As Offset(Of String) = New FSUIPC.Offset(Of String)(&H3D00, 256) Dim parkbrake As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&HBC8) Dim prop1 As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H88E) Dim prop2 As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H926) Dim stall As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H36C) Dim slewmode As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H5DC) Dim overspeed As Offset(Of Byte) = New FSUIPC.Offset(Of Byte)(&H36D) Dim lgear As Offset(Of UInt32) = New FSUIPC.Offset(Of UInt32)(&HBE8) Dim acfob As Offset(Of Int32) = New FSUIPC.Offset(Of Int32)(&H126C) Dim pause As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&H264) Dim simurate As Offset(Of Short) = New FSUIPC.Offset(Of Short)(&HC1A) If this is NOT what you need to know, please say so and tell me what to ask from the acars developer. I then will copy your answer and forward to him. Hope this is ok with you.

Gert

jldowson commented 2 years ago

The simvars remain same, the indexes have changed, not sure about how that affects the offsets.

image

For pax, the indexes are 1,2,3,4 The indices may have changed, but they still contain 0. This is what I see in the offsets (which correspond to the PAYLOAD STATION COUNT, and indexed PAYLOAD STATION WEIFGR and NAME simvars for the FBW A320 (development): 1593422 Monitor IPC:13FC (S32) = 10 1593438 Monitor IPC:1420 (AsciiZ) = [5]"PILOT" 1593438 Monitor IPC:1430 (FLT64) = 0.0000 1593485 Monitor IPC:1450 (AsciiZ) = [13]"FIRST OFFICER" 1665219 Monitor IPC:1460 (FLT64) = 0.0000 1665235 Monitor IPC:1480 (AsciiZ) = [16]"ECONOMY ROWS 1-6" 1665235 Monitor IPC:1490 (FLT64) = 0.0000 1665282 Monitor IPC:14B0 (AsciiZ) = [16]"ECONOMY ROWS 7-1" 1749141 Monitor IPC:14C0 (FLT64) = 0.0000 1749141 Monitor IPC:14E0 (AsciiZ) = [16]"ECONOMY ROWS 14-" 1749141 Monitor IPC:14F0 (FLT64) = 0.0000 1749141 Monitor IPC:1510 (AsciiZ) = [16]"ECONOMY ROWS 22-" 1814063 Monitor IPC:1520 (FLT64) = 0.0000 1814063 Monitor IPC:1540 (AsciiZ) = [16]"FWD BAGGAGE/CONT" 1814063 Monitor IPC:1550 (FLT64) = 0.0000 1814063 Monitor IPC:1570 (AsciiZ) = [16]"AFT CONTAINER (m" 1867500 Monitor IPC:1580 (FLT64) = 0.0000 1867500 Monitor IPC:15A0 (AsciiZ) = [16]"AFT BAGGAGE (max" 1867516 Monitor IPC:15B0 (FLT64) = 0.0000 1867516 Monitor IPC:15D0 (AsciiZ) = [16]"AFT BULK/LOOSE (" 1913782 Monitor IPC:15E0 (FLT64) = 0.0000 1913782 Monitor IPC:1600 (AsciiZ) = [0]"" 1913782 Monitor IPC:1610 (FLT64) = 0.0000 1913782 Monitor IPC:1630 (AsciiZ) = [0]""

And this is for the stock A320: 440969 Monitor IPC:13FC (S32) = 6 440985 Monitor IPC:1420 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 441016 Monitor IPC:1430 (FLT64) = 170.0000 441063 Monitor IPC:1450 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 554985 Monitor IPC:1460 (FLT64) = 6115.0000 554985 Monitor IPC:1480 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 555032 Monitor IPC:1490 (FLT64) = 3505.0000 555063 Monitor IPC:14B0 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 647829 Monitor IPC:14C0 (FLT64) = 4000.0000 647844 Monitor IPC:14E0 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 647875 Monitor IPC:14F0 (FLT64) = 6310.0000 647922 Monitor IPC:1510 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 729110 Monitor IPC:1520 (FLT64) = 0.0000 729125 Monitor IPC:1540 (AsciiZ) = [0]"" 729157 Monitor IPC:1550 (FLT64) = 0.0000 729204 Monitor IPC:1570 (AsciiZ) = [0]""

There is obviously a problem with the payload station names in FSUIPC due to the MSFS internationalization, which i will look into at some point.

John

jer029 commented 2 years ago

Thanks John for looking deeper into this with the FBW team's A32NX Project. It would really be unfortunate if we cannot include the FBW aircraft in our fleet options for our VA's Economics Module. Hopefully you and the A32NX people can work to resolve this because I know many 3rd-party developer's addons require your FSUIPC to interface with their software and the various simulators as ours does.

jr

Gert57 commented 2 years ago

UPDATE MISSING VARIABLES

Benjozork and sidnov, I got the following from the maker of our ACARS: "The ACARS watches the engine variable and when it shows the engine is running it starts tracking, we added the manual blocks as this wasnt always the case with the Q400 so I assume they have somehow bypassed the internal variable for this, or the update has changed the variables output. Same with the gear and also the aircraft name" So what is missing if I comprehend him correct, is Airdraft name, gear up & down, Engine running and stop. Hope this is enough information?

Gert

Benjozork commented 2 years ago

We'd still like to know what the exact name of the variables that are being watched are, but you can send this link here which contains all of the variables that the A32NX uses. We have indeed replace quite a few of them to get around MSFS limitations.

I'm however surprised the variable for engines is not working. If the exact name of the variable is provided we can verify this.

https://github.com/flybywiresim/a32nx/blob/master/docs/a320-simvars.md

Keep in mind this will require access to the in-process gauge API as L variables are not available outside the sim.

jer029 commented 2 years ago

The simvars remain same, the indexes have changed, not sure about how that affects the offsets. image For pax, the indexes are 1,2,3,4 The indices may have changed, but they still contain 0. This is what I see in the offsets (which correspond to the PAYLOAD STATION COUNT, and indexed PAYLOAD STATION WEIFGR and NAME simvars for the FBW A320 (development): 1593422 Monitor IPC:13FC (S32) = 10 1593438 Monitor IPC:1420 (AsciiZ) = [5]"PILOT" 1593438 Monitor IPC:1430 (FLT64) = 0.0000 1593485 Monitor IPC:1450 (AsciiZ) = [13]"FIRST OFFICER" 1665219 Monitor IPC:1460 (FLT64) = 0.0000 1665235 Monitor IPC:1480 (AsciiZ) = [16]"ECONOMY ROWS 1-6" 1665235 Monitor IPC:1490 (FLT64) = 0.0000 1665282 Monitor IPC:14B0 (AsciiZ) = [16]"ECONOMY ROWS 7-1" 1749141 Monitor IPC:14C0 (FLT64) = 0.0000 1749141 Monitor IPC:14E0 (AsciiZ) = [16]"ECONOMY ROWS 14-" 1749141 Monitor IPC:14F0 (FLT64) = 0.0000 1749141 Monitor IPC:1510 (AsciiZ) = [16]"ECONOMY ROWS 22-" 1814063 Monitor IPC:1520 (FLT64) = 0.0000 1814063 Monitor IPC:1540 (AsciiZ) = [16]"FWD BAGGAGE/CONT" 1814063 Monitor IPC:1550 (FLT64) = 0.0000 1814063 Monitor IPC:1570 (AsciiZ) = [16]"AFT CONTAINER (m" 1867500 Monitor IPC:1580 (FLT64) = 0.0000 1867500 Monitor IPC:15A0 (AsciiZ) = [16]"AFT BAGGAGE (max" 1867516 Monitor IPC:15B0 (FLT64) = 0.0000 1867516 Monitor IPC:15D0 (AsciiZ) = [16]"AFT BULK/LOOSE (" 1913782 Monitor IPC:15E0 (FLT64) = 0.0000 1913782 Monitor IPC:1600 (AsciiZ) = [0]"" 1913782 Monitor IPC:1610 (FLT64) = 0.0000 1913782 Monitor IPC:1630 (AsciiZ) = [0]""

And this is for the stock A320: 440969 Monitor IPC:13FC (S32) = 6 440985 Monitor IPC:1420 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 441016 Monitor IPC:1430 (FLT64) = 170.0000 441063 Monitor IPC:1450 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 554985 Monitor IPC:1460 (FLT64) = 6115.0000 554985 Monitor IPC:1480 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 555032 Monitor IPC:1490 (FLT64) = 3505.0000 555063 Monitor IPC:14B0 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 647829 Monitor IPC:14C0 (FLT64) = 4000.0000 647844 Monitor IPC:14E0 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 647875 Monitor IPC:14F0 (FLT64) = 6310.0000 647922 Monitor IPC:1510 (AsciiZ) = [16]"TT:MENU.PAYLOAD." 729110 Monitor IPC:1520 (FLT64) = 0.0000 729125 Monitor IPC:1540 (AsciiZ) = [0]"" 729157 Monitor IPC:1550 (FLT64) = 0.0000 729204 Monitor IPC:1570 (AsciiZ) = [0]""

"Yes - it seems to me that the problem isn't that they have changed which weight is in each index, which isn't an actual issue, but that they are not actually updating the indexed simvar PAYLOAD STATION WEIGHT with the correct values/weights, which is why the FSUIPC offsets are reporting 0 for each of the offsets associated/mapped to this simvar."

Is it possible for the FBW team to ensure that the payload station weights are being updated with the correct weight values. The payload indexes as shown by John Dowson's checking remain set to "0" for each of the offsets.

Or if not, perhaps tell me what offsets contain the necessary payload weight data, because it appears that the offsets where currently being read are not being set with data.

Thanks

Benjozork commented 2 years ago

@sidnov

sidnov commented 2 years ago

As far as I know, we do update the PAYLOAD STATION WEIGHT values correctly. This happens when you click START BOARDING on the newer ATSU page.

jer029 commented 2 years ago

Thanks! I'll try that. I had been using the simulator's payload settings and not that ATSU page. I'll give that a try and see if it works that way.

derl30n commented 2 years ago

@jer029 has your issue been resolved?

jer029 commented 2 years ago

@derl30n it has kind of based on the information from sidnov. Once I begin moving PAX via ATSU, it then starts updating the payload offsets. This does allow me to get the necessary payload weight in a roundabout way. I'm currently using the stable version and not the development version, and haven't updated for a while.

Our Economic module requires pilots to set specific payload weights. The only way it seemed possible with the a32nx was to start moving the pax through ATSU, then manually tweak it through the sim's weight page (even though your directions say not to do that). This allowed me to get the correct payload weight (to the pound) necessary for my flight to be accepted by our Econ module.

John

derl30n commented 2 years ago

In the development version the weight and balance page is no longer supported.

jer029 commented 2 years ago

The last development version I used worked as described above. I could get the offsets to populate with payload data once triggered by the ATSU PAX boarding. I could then modify it slightly using the sim's weight and balance page.

It appeared as though the ATSU PAX boarding page had entry areas where you should be able to set specific amounts, but they were not editable fields as far as I could tell, so I was unable to set specific loading weight.

Our Econ Module gives pilots flight assignments with random payload weight requirements that must be met. If it is no longer possible to set exact payload weight than we can no longer use the FBW A320 with our Econ module. That would be unfortunate because it's a great aircraft to fly, but pilots can still fly it with our other flight offerings.