Pilot position updates - (num1) and (num2) fields
What does (num1) and (num2) represent? It's present in both IVAO and VATSIM variants, but isn't present in the original FSD spec.
(num1)is a number of up to 10 digits. It seems to begin with 4.(num2)is an integer. There seems to be a wide range of values, anywhere between 1 and 3 digits, and can be positive or negative.
(num1) = pitch / bank / heading / onground value a decimal sent as string whose value is the following unsigned 32bits binary number:
3 2 1 0
10987654321098765432109876543210
< pitch >< bank ><heading >OU
- U bit:
- unused
- O bit:
- Aircraft onground indicator.
- heading 10bits field:
- aircraft current heading, in degree
- values range [0, 1023] (unsigned 10 bits number)
- 1 = 360/1024 degree
- 0 = magnetic north
- bank 10bits field:
- aircraft current bank / roll angle, in degree
- values range [-511, 512] (signed 10 bits number),
- 1 = 180/512 degree,
- negative value = right wing banking.
- pitch 10bits field:
- aircraft current pitch angle, in degree
- values range [-511, 512] (signed 10 bits number)
- 1 = 90/256 degree
- 0 = aircraft is at level
- 256 = aircraft pitch is 90 degree up (aka skyrocket!)
- negative value = down pitch
Onground aircrafts have usually 0 degree pitch and bank angles, their (num1) value is mostly heading encoded, a small value, very stable until they start taxiing.
On the contrary, airborne aircrafts have rarely perfect 0 degree pitch and banking angles, leading to big (num1) values.
(num2) = difference between Above Ground Level altitude (AGL) and Above Mean Sea Level (AMSL) altitude, as reported by aircraft barometric altimeter
Unit is feet, obviously.
(num1) = pitch / bank / heading / onground value a decimal sent as string whose value is the following unsigned 32bits binary number:
3 2 1 0 10987654321098765432109876543210 < pitch >< bank ><heading >OU
U bit:
- unused
O bit:
- Aircraft onground indicator.
heading 10bits field:
- aircraft current heading, in degree
- values range [0, 1023] (unsigned 10 bits number)
- 1 = 360/1024 degree
- 0 = magnetic north
bank 10bits field:
- aircraft current bank / roll angle, in degree
- values range [-511, 512] (signed 10 bits number),
- 1 = 180/512 degree,
- negative value = right wing banking.
pitch 10bits field:
- aircraft current pitch angle, in degree
- values range [-511, 512] (signed 10 bits number)
- 1 = 90/256 degree
- 0 = aircraft is at level
- 256 = aircraft pitch is 90 degree up (aka skyrocket!)
- negative value = down pitch
Onground aircrafts have usually 0 degree pitch and bank angles, their (num1) value is mostly heading encoded, a small value, very stable until they start taxiing.
On the contrary, airborne aircrafts have rarely perfect 0 degree pitch and banking angles, leading to big (num1) values.
I do thank you and must be grateful for it. This problem has been troublesome for me for totally 5 years.
(num1) = pitch / bank / heading / onground value a decimal sent as string whose value is the following unsigned 32bits binary number:
3 2 1 0 10987654321098765432109876543210 < pitch >< bank ><heading >OU
U bit:
- unused
O bit:
- Aircraft onground indicator.
heading 10bits field:
- aircraft current heading, in degree
- values range [0, 1023] (unsigned 10 bits number)
- 1 = 360/1024 degree
- 0 = magnetic north
bank 10bits field:
- aircraft current bank / roll angle, in degree
- values range [-511, 512] (signed 10 bits number),
- 1 = 180/512 degree,
- negative value = right wing banking.
pitch 10bits field:
- aircraft current pitch angle, in degree
- values range [-511, 512] (signed 10 bits number)
- 1 = 90/256 degree
- 0 = aircraft is at level
- 256 = aircraft pitch is 90 degree up (aka skyrocket!)
- negative value = down pitch
Onground aircrafts have usually 0 degree pitch and bank angles, their (num1) value is mostly heading encoded, a small value, very stable until they start taxiing. On the contrary, airborne aircrafts have rarely perfect 0 degree pitch and banking angles, leading to big (num1) values.
I do thank you and must be grateful for it. This problem has been troublesome for me for totally 5 years.
Hello, I've been trying to decode the Indicated Heading from the 10 bits number but have been unable to do so, how did you manage to extract the Aircraft heading? For example this is the number for 0 pitch 0 bank and a heading of 080, "12575602" How do I extract the information I need from it? Thanks.
Use the bit operate to get the specific bit in the pbh value. That means the pbh value should be discussed at the binary level. Here is the demo code in JavaScript. The other value can be read in the same way.
var heading = Math.round(((parseInt(pbh) & 4092) >> 2) / 1024 * 360);