Hello everyone, my name is Sebastian, I am the creator and maintainer of the Open Source project “MobiFlight” and I want to promote the following request:
As a “home cockpit builder” and/or “cockpit tool creator” I have access to all aircraft state and I am able to trigger all available cockpit functions by using a stable, user-friendly and developer-friendly API.
Acceptance Criteria:
- All interactions that can be triggered by mouse in the virtual cockpit (input events) can be triggered by sending a message via API to the sim
** SimConnect currently does not provide Events for all types of events that we see are being used in the Sim, e.g., B-Events, H-Events (possible only via workaround) - All external and internal aircraft state (aircraft variables) can be read by using the API.
** SimConnect currently does not provide read access to all types of variables, e.g., L-Vars, O-Vars, I-Vars - Aircraft variables are automatically exposed and accessible for any aircraft
** SimConnect does not provide for a complete query capability for available events and variables - Raising an event has the same effect as the equivalent interaction with a mouse, e.g., playing animation and sound
- All interaction can be performed directly by a SimConnect Client Application
** At the moment we have to provide an extra WASM Module which introduces unnecessary complexity
During the last year, the home cockpit community and MobiFlight have been trying to find ways to provide access to internal variables, and expose events for interaction with the virtual cockpit.
We have been partially successfull: MobiFlight has provided the MobiFlight WASM Module which is also used by other projects that had the same challenge. The MobiFlight WASM Module allows for executing code via the SimConnect Gauge API and is enhancing the capabilities of the standard SimConnect interface.
However, it has been an ongoing struggle to find means for giving access to all values and events. There are still limitations (O-Variables, I-Variables, B-Events) and the current solution approach requires complex code instructions in RPN which on top seem to change quite frequently with new sim updates and aircraft versions. This is not stable, nor is it user-friendly nor developer-friendly. In fact, to manage this complexity we have created a specific community platform (https://hubhop.mobiflight.com) where we collect & maintain all this information and code snippets. The entire process is extremely time-consuming and tedious and error-prone.
As the developer of MobiFlight and speaking for many members of the home cockpit builder community, who we all have been struggling and chasing the SimConnect API, I wish for this improvement so that we eventually have a stable API to be able to interface our homecockpit hardware with MSFS2020 more easily and in a complete form.
Thanks for voting this up!
Sebastian