RPOS - Request Aircraft Position ++++++++++++++++++++++++++++++++ :Send: Single packet with ``RPOS`` command and number *as a string*, representing number of times per second you'd like X-Plane to send you a packet with current aircraft position.:: msg = struct.pack('<4sx10s', b'RPOS', b'60') # requesting 60 times /second sock.sendto(msg, (beacon['ip'], beacon['port'])) You can use this to drive displays, moving maps, etc. To stop, set request to b'0' times per second:: msg = struct.pack('<4sx10s', b'RPOS', b'0') # requesting 0 times /second sock.sendto(msg, (beacon['ip'], beacon['port'])) ---- :Receive: Single packet with position data:: (header, # 'RPOS4' dat_lon, # float longitude of the aircraft in X-Plane of course, in degrees dat_lat, # float latitude dat_ele, # float elevation above sea level in meters y_agl_mtr, # float elevation above the terrain in meters veh_the_loc, # float pitch, degrees veh_psi_loc, # float true heading, in degrees veh_phi_loc, # float roll, in degrees vx_wrl, # float speed in the x, EAST, direction, in meters per second vy_wrl, # float speed in the y, UP, direction, in meters per second vz_wrl, # float speed in the z, SOUTH, direction, in meters per second Prad, # float roll rate in radians per second Qrad, # float pitch rate in radians per second Rrad, # float yaw rate in radians per second ) = struct.unpack("<5sdddffffffffff", packet) .. Note:: X-Plane 11.55 (at least) documentation indicates the first five bytes are ``RPOS\x00``. In reality, ``RPOS4`` is sent (without a null). A bug has been filed with Laminar Research: 2021-Sep-1. .. toctree:: :maxdepth: 1