xplanejs is a Node.js module for data transfer to/from X-Plane. It currently supports reads only via UDP.
A simple example can be found in the examples/
folder. Either access the stored data directly or listen for events.
var XPlane = require('xplane')
, xplane = new XPlane({
port: {
in: 49000 // default port for X-Plane UDP data
}
});
xplane.on('data.airspeed', function(speeds) {
console.log('IAS: ' + speeds.indicated + ' kts');
});
xplane.listen();
// somewhere else:
console.log(xplane.data.airspeed);
To recieve data, you will need to set up X-Plane to send it. Head over to https://github.com/dmolin/flightSimPanels#architecture for instructions.
XTypes are defined in data/xtypes.js. They can be accessed on-demand from XPlane.data.[xtype.name]
, or by listening to the data.[xtype.name]
event.
The current list of XTypes:
time
real
- [s]total
- [s]mission
- [s]timer
- [s]zulu
- [hh.ss]local
- [hh.ss]hobbs
airspeed
indicated
- KIAS [kts]equivalent
- KEAS [kts]true
- KTAS [kts]truegnd
- KTGS [kts]mph
- IAS [mph]mphair
- [mph]mphgnd
- [mph]
gload
mach
- Mach number [ratio]vvi
- VVI [fpm]normal
axial
side
angularmoment
m
- [ftlb]l
- [ftlb]n
- [ftlb]
angularvelocity
q
- [rad/s]p
- [rad/s]r
- [rad/s]
attitude
pitch
- [deg]roll
- [deg]truehdg
- [deg]maghdg
- [deg]
aoa
alpha
- [deg]beta
- [deg]hpath
- [deg]vpath
- [deg]slip
- [deg]
compass
mag
- [comp]mavar
- [deg]
globalposition
lat
- [deg]lon
- [deg]altmsl
- [ft]altagl
- [ft]runway
- [runway no.]altind
- [ft]latnorm
lonnorm
simposition
x
- [m]y
- [m]z
- [m]vx
- [m/s]vy
- [m/s]vz
- [m/s]distft
- [ft]distnm
- [nm]
throttlecommand
[1..8]
throttleactual
[1..8]
enginepower
[1..8]
- [hp]
enginethrust
[1..8]
enginetorque
[1..8]
enginerpm
[1..8]
proprpm
[1..8]
proppitch
[1..8]
enginewash
- propwash or jetwash[1..8]
- [kts]
n1
- turbine N1 %[1..8]
- [%]
n2
- turbine N2 %[1..8]
- [%]
fuelflow
[1..8]
- [lb/h]
itt
[1..8]
- [deg]
egt
[1..8]
- [deg]
cht
[1..8]
- [deg]
oilpressure
[1..8]
- [psi]
oiltemp
[1..8]
- [deg]
fuelpressure
[1..8]
- [psi]
aeroforce
lift
- [lb]drag
- [lb]side
- [lb]
engineforce
normal
- [lb]axial
- [lb]side
- [lb]
Would you like to contribute? Here's a couple of things the project needs a hand with:
- Adding xType definitions to
data/xtypes.js
- Support for writing back to the sim via UDP
- DataRef access via the official SDK
Code inspired by https://github.com/dmolin/flightSimPanels
MIT