ogruetzmann / ModeS

EuroScope plugin to facilitate the use of Mode S on VATSIM
GNU General Public License v3.0
8 stars 0 forks source link

Reported heading is a bit weird #4

Closed pierr3 closed 7 years ago

pierr3 commented 7 years ago

The reported heading from the aircraft is not displayed properly in EuroScope, see capture (Last item is heading)

https://s3.eu-central-1.amazonaws.com/pithos/ShareX/2016/08/EuroScope_2016-08-29_23-25-41.png

ogruetzmann commented 7 years ago

That looks strange, indeed. Will have a look on wednesday.

ogruetzmann commented 7 years ago

@pierr3 I am able to reproduce this, it's reported heading + 360. Strange enough, that's the value I get from GetReportedHeading(). Are you using ES Beta or the public release version? I ask because I tested this once in an earlier beta and I believe it was working fine there. I will take this to the ES Beta forum.

pierr3 commented 7 years ago

Yes, I'm using the latest EuroScope beta, but somehow it works fine with vSMR, which also uses this value to display the "primary target" on the radar pointed the correct way.

2016-08-31 12:35 GMT+02:00 ogruetzmann notifications@github.com:

@pierr3 https://github.com/pierr3 I am able to reproduce this, it's reported heading + 360. Strange enough, that's the value I get from GetReportedHeading(). Are you using ES Beta or the public release version? I ask because I tested this once in an earlier beta and I believe it was working fine there. I will take this to the ES Beta forum.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ogruetzmann/ModeS/issues/4#issuecomment-243725218, or mute the thread https://github.com/notifications/unsubscribe-auth/ABv6K0119JrCdNDHeC7bQLXnb8v-yRKsks5qlVjhgaJpZM4Jv6h7 .

ogruetzmann commented 7 years ago

Did you check the actual return value there? Depending on what function you use, it will work just fine. I used GeographicLib in another plugin, and it doesn't matter if the value is 270 or 630, the result is the same. I just checked in the public release version, the value is fine there. In the beta, int hdg = GetReportedHeading() leaves me with heading + 360 (I checked this via debug session).

To me it looks like Gergely has to fix it. If I do it, I'll either have to put in a switch, or I'll break it for public release users.

ogruetzmann commented 7 years ago

Here's the result from the public release (third row): hdg

pierr3 commented 7 years ago

Maybe just do (x + 360) % 360 ? It'll work for both public and beta.

ogruetzmann commented 7 years ago

Good idea. Never thought about using the modulo operator this way. I'll do this. :)

ogruetzmann commented 7 years ago

Looks fine:

ModeS-static.zip