diff --git a/docs/api/addclients.md b/docs/api/addclients.md index 7a23091..2761d73 100644 --- a/docs/api/addclients.md +++ b/docs/api/addclients.md @@ -22,6 +22,11 @@ It is unknown as to what `100` represents, but it appears that all clients share #AP(callsign):SERVER:(network ID)::1:(protocol version):(rating):(real name ICAO) ``` +### When the SERVER asks to add a plane in your system ### +It will send you as the following +``` +#SB{recipient}:{who's plane}:FSIPIR:1::{plane type like F18}:6.77316:-1.96366:400.00000:4.7F50DEA9.97E5F402::{detailed aircraft description} +``` ## Removing clients ## diff --git a/docs/api/pos.md b/docs/api/pos.md index 761618a..fdcef38 100644 --- a/docs/api/pos.md +++ b/docs/api/pos.md @@ -28,14 +28,51 @@ Regardless of transponder mode, the altitude is always included in a position up A squawk code of `7500` (aircraft hijacking) will result in an immediate disconnection from the server. -### Unknown fields ### - -The meaning of the following fields is unclear: - -* `(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. - - +### Now-Clear 'Unknown' fields answered by phoudoin ### + +> (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 >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. ## ATC ##