XPlaneConnector 1.1.6673.28421
See the version list below for details.
dotnet add package XPlaneConnector --version 1.1.6673.28421
NuGet\Install-Package XPlaneConnector -Version 1.1.6673.28421
<PackageReference Include="XPlaneConnector" Version="1.1.6673.28421" />
paket add XPlaneConnector --version 1.1.6673.28421
#r "nuget: XPlaneConnector, 1.1.6673.28421"
// Install XPlaneConnector as a Cake Addin #addin nuget:?package=XPlaneConnector&version=1.1.6673.28421 // Install XPlaneConnector as a Cake Tool #tool nuget:?package=XPlaneConnector&version=1.1.6673.28421
XPlaneConnector
UPDATE TO VERSION 1.1
This version has been updated to manage string type DataRef and a compile time list of DataRefs and Commands. An example project has been added with a very simple usage on a Windows Form project.
Read data and send commands to XPlane via UDP
XPlaneConnector can run on a raspberry or similar using Mono. You can send commands and subscribe to DataRef. An event OnDataRefReceived is fired every time the value of a subscribed DataRef changes. Should XPlane crash and restart, this connector can detect that DataRefs aren't being updated and will automatically request a new subscription.
Usage
NOTE: Every DataRef is always a float, even if the data type is different (int, bool, double, string, array). So if you need a bool you will obtain a float that is either 0 or 1.
Create the connector
The constructor takes the XPlane IP and port as parameters, default is 127.0.0.1 on port 49000
var connector = new XPlaneConnector(); // Default IP 127.0.0.1 Port 49000
var connector = new XPlaneConnector("192.168.0.100");
var connector = new XPlaneConnector("192.168.0.100", 49010);
Sending a command
Just pass the command. A list of all the available commands has been created on XPlaneConnector.Commands Each command has a Description property with a brief description of its meaning.
connector.SendCommand(XPlaneConnector.Commands.ElectricalBattery1On);
Subscribe to a DataRef
You can subscribe to as many DataRef you want. In either way you have to call:
connector.Start();
In order to begin communication with X-Plane. Subscribing to DataRef can happen before or after calling Start.
A list of all managed DataRefs has been created inside:
XPlaneConnector.DataRefs
Each DataRef has a Description property with a brief description of its meaning.
To obtain DataRef value use the DataRef event: For DataRef "sim/cockpit/radios/com1_stdby_freq_hz" use XPlaneConnector.DataRefs.CockpitRadiosCom1FreqHz
connector.Subscribe(XPlaneConnector.DataRefs.CockpitRadiosCom1FreqHz, 5, (e, v) => {
Console.WriteLine($"{DateTime.Now:HH:mm:ss.fff} - {e.DataRef} - {v}");
});
Strings (NEW)
If you need a string (example: sim/aircraft/view/acf_tailnum) it is managed as an array of floats containing an ASCII code on each value. Subscribing to sim/aircraft/view/acf_tailnum won't give you the tailnumber. In order to get the complete string it's necessary to subscribe to each character individually. Subscribing to sim/aircraft/view/acf_tailnum[0], sim/aircraft/view/acf_tailnum[1]... and so on (this DataRef is 40 byte long). A new class StringDataRefElement has been created to automatically manage this process. See below for usage.
// XPlaneConnector.DataRefs.AircraftViewAcfTailnum is a StringDataRef, in this case value is a string, not a float
connector.Subscribe(XPlaneConnector.DataRefs.AircraftViewAcfTailnum, 5, (element, value) =>
{
Console.WriteLine($"{DateTime.Now:HH:mm:ss.fff} - {e.DataRef} - {v}"); // v is a string
});
NOTE: You must have already subscribed to a DataRef using the Subscribe method.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on XPlaneConnector:
Package | Downloads |
---|---|
XPlaneConnector.DataRefs
Add-on library containing DataRefs and Commands definition to interact with X-Plane |
|
CoSimCockpitManager
API for CoSim .Net interface |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on XPlaneConnector:
Repository | Stars |
---|---|
MobiFlight/MobiFlight-Connector
MobiFlight is an open source project that allows you to create your own home cockpit for your favorite flight simulator in a flexible, affordable and extremely user-friendly way.
|
Version | Downloads | Last updated |
---|---|---|
1.3.0 | 3,501 | 5/26/2021 |
1.2.0 | 3,328 | 3/8/2020 |
1.1.6673.28421 | 1,457 | 4/9/2018 |
1.0.0 | 1,344 | 11/6/2017 |
List of DataRefs and Commands, wrapper for strings.