Git Product home page Git Product logo

mpaperno / msfstouchportalplugin Goto Github PK

View Code? Open in Web Editor NEW
63.0 12.0 2.0 27.86 MB

A plugin which provides a two-way interface between Touch Portal clients and Flight Simulators which use SimConnect, such as MSFS 2020 and FS-X.

License: GNU General Public License v3.0

C# 99.43% PowerShell 0.57%
touchportal touch-portal-plugin touch-portal msfs2020 simconnect microsoft-flight-simulator microsoft-flight-simulator-2020 touchportalplugin flight-instrument-panel flight-instruments

msfstouchportalplugin's Introduction

MSFS/SimConnect Touch Portal Plugin

Made for Touch POrtal GitHub release (latest by date including pre-releases) Downloads Downloads of latest release License Discord

Overview

This plugin provided tools to build two-way interactive interfaces between Touch Portal macro launcher software and Flight Simulators which use SimConnect, such as Microsoft Flight Simulator 2020 (MSFS) and FS-X. The plugin makes available new Touch Portal Actions, Connectors, States, and Events for creating buttons and pages suitable for virtually any simulated aircraft, component, or system.

This project is a continuation of the original MSFSTouchPortalPlugin by Tim Lewis.


Features

  • Connects to local or remote simulators with SimConnect.
  • Allows getting data variables from simulator at regular intervals, such as flight instrument readings, control surface positions, or switch states.
  • Allows triggering any interactive aircraft event via Touch Portal Actions, such as setting switches, adjusting control surfaces, radio frequencies, and so on.
  • Use Touch Portal "Sliders" to control a value within any range, and/or provide visual feedback to simulator variable changes (eg. a throttle slider can both control the sim throttle and show the actual position when the throttle is moved with mouse/joystick/keyboard).
  • Completely configurable to request any variable or trigger any event supported by the connected simulator, including with custom extensions like MobiFlight.
  • Supports simulator system events (such as "flight loaded" or "sim started") as Touch Portal Events.
  • Set and read model-specific "Input Event" values (new in plugin v1.5 and MSFS SU13).
  • Allows simultaneous usage from multiple networked Touch Portal devices.
  • Optional WASM (Web ASseMbly) module integration allows even greater expansion, with access to many variable types and events/actions not normally accessible via SimConnect alone.
  • Categorized lists of all SimConnect Event IDs and Simulator Variables to choose from, custom imported from MSFS online documentation (exclusive feature!).
  • Integrates live HubHop data for activating thousands of available Input Events provided by the community (requires WASM integration).
  • Separate plugins available for MSFS 2020 and older sims supporting FS-X versions of SimConnect.

Editions

There are two separate plugins available here, one for MSFS 2020 (and eventually 2024), and another for "legacy" sims like FSX, which should work with any sim which supports the older SimConnect SDK.

  • The "MSFS" edition is recommended for use with MSFS 2020 since it provides features specific to this version (like setting 'L' vars and WASM integration).
  • The "FSX" edition will connect to FSX Deluxe SP2 or newer simulators (including Steam and Acceleration editions). This also includes MSFS 2020, but will not support certain features like WASM and HubHop integration or setting multiple SimConnect Event values.
  • The two plugin editions are completely separate and can be installed and run in Touch Portal at the same time.
  • Pages and buttons made for one edition will not work in the other (because they're separate plugins as far as TP is concerned).

Installation

Note: As with all plugins, this requires the Touch Portal Pro (paid) version to function. Use the latest available Touch Portal version for best results.

  1. Get the latest release of this plugin(s) you want to install from the Releases page.
  2. The plugins are distributed and installed as a standard Touch Portal .tpp plugin files. If you know how to import a plugin, just do that and skip to step 4.
  3. Import the plugin:
    1. Start/open Touch Portal.
    2. Click the Settings "gear" icon at the top-right and select "Import plugin..." from the menu.
    3. Browse to where you downloaded this plugin's .tpp file and select it.
    4. When prompted by Touch Portal to trust the plugin startup script, select "Trust Always" or "Yes" (the source code is public!).
      • "Trust Always" will automatically start the plugin each time Touch Portal starts.
      • "Yes" will start the plugin this time and then prompt again each time Touch Portal starts.
      • If you select "No" then you can still start the plugin manually from Touch Portal's Settings -> Plug-ins dialog.
  4. By default the plugin will not attempt to connect to a flight simulator on startup. You have two options:
    1. Recommended: Create/import a Touch Portal button which triggers the "MSFS - Plugin - Connect & Update -> Toggle Simulator Connection" action. (Also a good place to show the current connection status.)
    2. Change the plugin's settings: Click the Touch Portal "gear" icon at top right of the main screen, then navigate to Settings -> Plugins -> "MSFS Touch Portal Plugin". Set the "Connect To Flight Sim on Startup" setting to a value of 1 (one) and save the settings. The plugin will keep attempting to connect to the simulator every 30 seconds.

Optional WASM Module (only for MSFS 2020 on PC)

  1. The optional WASimModule MSFS component is highly recommended as a companion to this plugin. It it not required to use most of the basic plugin features, but it will provide a more advanced feature set (such as access to local "L" variables and HubHop Input Events) and further optimizations.
    1. Download the WASimModule .zip file from the same published Release as the plugin.
    2. Extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is directly inside the Community folder).
    3. If already running, MSFS would need to be restarted after adding the module.

Updates

The plugin can be updated to a new version by following the same installation procedure described above. It is not necessary to remove any previous version first. The only thing to be aware of is that any old plugin log files will be removed during the update process.

Installation Guides

Keep in mind that while guides can be helpful as an overview and to get started, they do get outdated and also may not cover all that is possible to do or configure.


Documentation

See the Wiki for guides, tips, and example pages and buttons to get started with

Auto-generated documentation on all actions, connectors, events, settings, and default included states can be found in DOCUMENTATION.md.


Pages and Examples

Check out the Pages, Buttons, & Graphics for examples to get started with.

The list of known pages has also moved to the Wiki: List of Published Touch Portal Pages for MSFS Plugin


Troubleshooting

The plugin logs errors and warnings to a plain-text file. 7 days worth of logs are kept by default (a new file is started for each day). The log files are located within the plugin's installation folder, which is in Touch Portal's configuration directory:
C:\Users\<User_Name>\AppData\Roaming\TouchPortal\plugins\MSFS-TouchPortal-Plugin\logs folder, where <User_Name> is your Windows user name.

If something isn't working as expected, check the log.

Another way to quickly see latest log entries is by using the provided TP States and displaying them in a button area.

  • MSFS - Plugin -> Most recent plugin log messages (MSFSTouchPortalPlugin.Plugin.State.LogMessages) - Shows the last dozen logged messages. Give this one a good size "button" (eg. cell size 4x3 or so).
  • MSFS - System -> Data from most recent Simulator System Event (MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData) - Shows one line of text from the last significant "simulator event." In case an error or warning is logged, the log entry with the error should show here.

You could also monitor the MSFS - System -> Simulator System Event for the Plugin Error and/or SimConnect Error events. For example you could have a button light up red when this event happens, so you can know to go check the log.

Here's a Windows PowerShell command to show the last 20 entries from the current day's log file:

Get-Content -Tail 20 $Env:APPDATA\TouchPortal\plugins\MSFS-TouchPortal-Plugin\logs\MSFSTouchPortalPlugin$(Get-Date -format 'yyyyMMdd').log

Support and Discussion

Please use the GitHub Issues pages for bug reports and concise feature requests. Use the Discussions pages for general conversation on any related topic like suggestions or support questions.

There is also a Discord support forum on my server, an announcements channel, and discussion rooms on my server channel #msfs-general and at Touch Portal's Discord server channel #msfs2020


Update Notifications

The latest version of this software is always published on the GitHub Releases page.

You have several options for getting automatically notified about new releases:

  • If you have a GitHub account, just open the Watch menu of this repo in the top right of this page, then go to Custom and select the Releases option, then hit Apply button.
  • The plugin and updates are published on Flightsim.to where one could "subscribe" to release notifications (account required).
  • If you use Discord, subscribe to notifications on my server channel #msfs-plugin.
  • If you already use an RSS/Atom feed reader, just subscribe to the feed URL.
  • Use an RSS/Atom feed notification service, either one specific for GitHub or a generic one, such as (a list of services I found, I haven't necessarily tried nor do I endorse any of these):

Related Plugin(s)

My TJoy Touch Portal Plugin is an interface between Touch Portal and several virtual joystick/game pad emulation drivers like vJoy, vXBox, and ViGEm Bus.

My Dynamic Script Engine Plugin is a great companion for anything from custom data formatting and math operations to a full-blown scripting using JavaScript.

TouchPortal-Dynamic-Icons can be used to create a wide variety of dynamic images and animations, from basic shapes and styled text to beautiful multi-layered gauges animated in real-time based on Simulator data.


References


Credits

Currently maintained by Maxim Paperno at https://github.com/mpaperno/MSFSTouchPortalPlugin ; see copyright and licensing details below.

Originally created by Tim Lewis at https://github.com/tlewis17/MSFSTouchPortalPlugin and published under the MIT License.

Uses components of the WASimCommander project under terms of the GNU Public License v3 (GPLv3).

Uses tools and data from MSFS Tools project under terms of the GNU Public License v3 (GPLv3).

Uses the Touch Portal C# and .NET API library, under terms of the MIT License.

Uses a modified version of SharpConfig library, under terms of the MIT License. Change log is included in this repo alongside the library files.

Uses the Microsoft SimConnect SDK under the terms of the MS Flight Simulator SDK EULA (11/2019) document.

Uses several publicly available Microsoft .NET component libraries under the MIT License.

Uses the Newtonsoft Json.NET library under terms of the MIT License.

Uses Serilog Logging Extensions components under terms of the Apache-2.0 License.

Uses the SQLite-net library from Krueger Systems, Inc. under terms of the MIT License.


Copyright, License, and Disclaimer

MSFSTouchPortalPlugin Project
Copyright (c) 2020 Tim Lewis;
Copyright Maxim Paperno, all rights reserved;
Copyright MSFSTouchPortalPlugin Project Contributors

This program and associated files may be used under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is included in this repository and is also available at http://www.gnu.org/licenses/.

This project may also use 3rd-party Open Source software under the terms of their respective licenses. The copyright notice above does not apply to any 3rd-party components used within.

msfstouchportalplugin's People

Contributors

mpaperno avatar tlewis17 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

msfstouchportalplugin's Issues

Status of Fuel Tanks, valves, selectors, fuel dump etc.

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Fuel_Variables.htm
(FUELSYSTEM TANK LEVEL:index) Quantity of fuel available in the indexed fuel tank. The index is the number of the tank N component as defined by the Tank.

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Fuel_Variables.htm#FUEL_TANK_SELECTOR
FUEL TANK SELECTOR:index

	FUEL DUMP ACTIVE                     If 1 (TRUE) then the aircraft can dump fuel.

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Fuel_Variables.htm#FUEL_SELECTED_QUANTITY_PERCENT

	FUEL SELECTED QUANTITY PERCENT:index

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

FUEL

Additional context
Display current fuel level - Maybe even by fuel tank
Detect if fuel is running low in currently selected tank and give alert if so

Cowl Flap status showing as null/blank even when open

Describe the bug
'MSFS - Flight Systems - Cowl Flaps 1' Opened Percentage always shows blank (rather than % value) on Beachcraft Bonanza G36
${value:MSFSTouchPortalPlugin.FlightSystems.State.CowlFlaps1Percent}

Expected behavior
Cowl Flap % to be displayed

Plugin Version
6.0

Autopilot Flight Level Change

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_AutopilotAssistant_Variables.htm#AUTOPILOT%20FLIGHT%20LEVEL%20CHANGE

			AP_FLIGHT_LEVEL_CHANGE	 	 
			AP_FLIGHT_LEVEL_CHANGE_OFF	 	 
			AP_FLIGHT_LEVEL_CHANGE_ON

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Autopilot_Flight_Assist_Events.htm

Also needs associated status to display current AP Flight Level setting and current Flight Level

I guess this could be current Altitude ASL / 100 and rounded to 500 feet

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

AUTOPILOT

Additional context

Marker Ident toggle for NAV1, NAV2, ADF

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#markers

Event & Status

MARKER AVAILABLE	True if Marker is available	Bool
MARKER_SOUND_TOGGLE			Toggles marker beacon sound on/off
RADIO_VOR1_IDENT_SET			Sets VOR 1 ID (on/off)
RADIO_VOR2_IDENT_SET			Sets VOR 2 ID (on/off)
MARKER BEACON STATE | Marker beacon state. | Enum:0 = None1 = Outer2 = Middle3 = Inner   

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

COMMUNICATIONS

Additional context
Used to notify pilot when flying over a marker beacon

VOR OBS Setting for NAV1, NAV2 Increase, Decrease

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Radio_Navigation_Events.htm#vor
VOR1_OBI_DEC Decrements the VOR 1 OBS setting Shared Cockpit
VOR1_OBI_FAST_DEC
VOR1_OBI_FAST_INC
VOR1_OBI_INC Increments the VOR 1 OBS setting
VOR2_OBI_DEC Decrements the VOR 1 OBS setting Shared Cockpit
VOR2_OBI_FAST_DEC
VOR2_OBI_FAST_INC
VOR2_OBI_INC Increments the VOR 1 OBS setting

VOR1_SET | Sets OBS 1 (0 to 360)
VOR2_SET | Sets OBS 2 (0 to 360)

RADIO_VOR1_IDENT_SET | Sets VOR 1 ID (on/off) | Shared Cockpit
RADIO_VOR1_IDENT_TOGGLE | Toggles VOR 1 ID | Shared Cockpit
RADIO_VOR2_IDENT_SET | Sets VOR 2 ID (on/off) | Shared Cockpit
RADIO_VOR2_IDENT_TOGGLE | Toggles VOR 2 ID

STATUS
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#NAV_OBS

NAV AVAILABLE | Flag if Nav equipped on aircraft | Bool
NAV CODES | Returns bit flags with the following meaning.
NAV DME
NAV HAS CLOSE DME | Flag if found a close station with a DME | Bool |  
NAV HAS CLOSE LOCALIZER | Flag if found a close localizer station | Bool |  
NAV HAS DME | Flag if tuned station has a DME | Bool |  
NAV HAS GLIDE SLOPE | Flag if tuned station has a glideslope | Bool |  
NAV HAS LOCALIZER | Flag if tuned station is a localizer | Bool |  
NAV HAS NAV | Flag if Nav has signal | Bool
NAV OBS

NAV IDENT | ICAO code | String

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

COMMUNICATIONS

Additional context
Used for NAV VOR navigation - which is used is in many not GPS equipped aircraft as well as for GPS equipped aircraft

NAV 1/2 and ADF show as OFF/INACTIVE

Downloaded full Frequency Keypad and Radio Stack and have the full page loaded in Touch Portal (I will edit out instructional text and move the buttons to increase size in the future). While COM radios seem to work as expected with the keypad, NAV radios and ADF radio show OFF/INACTIVE. The NAV radio stack displays what's in the cockpit and will change if I change the frequency in the cockpit but neither the stack nor the cockpit respond to the keypad inputs. XPDR shows OFF and will not connect either. Sim is running and MSFS ACTV button is green.
Have I set something up incorrectly or do I need to change something?
TIA for your help.

Autothrottle Status

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_System_Variables.htm#AUTOTHROTTLE%20ACTIVE

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_AutopilotAssistant_Variables.htm#AUTOPILOT%20THROTTLE%20ARM

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

AUTOPILOT

Additional context

Autothrottle can be armed/deployed but there is no status showing whether it is available or active

Hi

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when ...

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Engine actual RPM rather than RPM %

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Engine_Variables.htm#ENG%20MAX%20RPM
(ENG MAX RPM) The indexed engine (see note) Maximum rpm. RPM
(ENG N1 RPM:index) The indexed engine (see note) N1 rpm. (0 to 16384 = 0 to 100%)

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

ENGINE

Additional context

So that the Engine RPM readout can be switched between Actual RPM and % RPM

Reverse Thrust

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

	https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Engine_Events.htm#throttle
	THROTTLE_REVERSE_THRUST_TOGGLE	 	 
	THROTTLE_REVERSE_THRUST_HOLD

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.
ENGINES

Additional context
Additional support for Turboprop (TBM 930) and Jet aircraft

GPS Approach Type

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#GPS

Tells G1000 or other GPS system which type of Autopilot approach to use:
GPS OVERRIDDEN When it is active, all sim GPS system updates are suspended. This must be set to TRUE to be able to correctly set to any other GPS SimVar. Bool
GPS APPROACH APPROACH TYPE - Approach type
TOGGLE_GPS_DRIVES_NAV1 Toggles between GPS and NAV 1 driving NAV 1 OBS display (and AP) Enum: 0 = None, 1 = GPS, 2 = VOR, 3 = NDB, 4 = ILS, 5 = Localizer, 8 = VOR/ DME, 9 = NDB/ DME, 10 = RNAV, 11 = Backcourse

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

COMMUNICATIONS

Additional context
Needed so that GPS equipped aircraft can use NAV VOR navigation

Camera Views and movement

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Camera_Variables.htm

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

CAMERAS

Additional context
Be able to set camera views without having to send Keystrokes - cockpit is the set of views I use at the moment, but page could be extended to use external or drone views at some time in future.

I realise that this could be quite a bit of work so probably lower priority than the other enhancements.

Engine Power and ECAM Buttons not correct.

PedestalEngineError

Hello Creators.
As you see in the attached Picture - the Value for the Engines are not shown.
Also the ECAM-Buttons dont work, except the "ALL" Button.

Please investigate how to correct this Error's

All neccesary Files and Modules are latest Versions.
FBW A320 Stable V0.10.1

For fixing this Issues an Sponsoring follows :)

BTW thanks for this great TouchPortal Modul

Magneto Status

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Engine_Events.htm#magneto
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Engine_Variables.htm#RECIP_ENG_LEFT_MAGNETO
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Engine_Variables.htm#RECIP_ENG_RIGHT_MAGNETO

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

ENGINES

Additional context

There is the ability in the plugin to set which magneto to use but not to query which (if any) are being used.
Good for the purists who want to go through a cheklist when starting the engines

Pages crashing app on iPad (15.6.1)

Discussed in https://github.com/mpaperno/MSFSTouchPortalPlugin/discussions/39

Originally posted by egpd1701 September 4, 2022

  1. The MSFS_States_Editor_v2 constantly crashes the iPad TP app. Page display for .1 of second then app crashes and closes. Main TP on PC has to be restarted before TP app on iPad (15.6.1) will reset to default page. The issue is this Event code

image

  1. The MSFS Starter page does not display on iPad (15.6.1) - it instead crashes the iPad app again the app can only be accessed after the Main TP on the pc has been reset

The issue here is with the AirSpd Button - the complete object. Deleting the button and recreating exactly as you had it allows the page to work and not crash.

  1. The Radio Stack Page loads without any issue

Any help would be appreciated

Plugin keeps pulling up an error since updating to TP4

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Plugin Version
Can be found from Touch Portal by going to Settings > Plugins. Refer to the version listed for MSFSTouchPortalPlugin.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Plugin broken after updating to TP4

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Plugin Version
Can be found from Touch Portal by going to Settings > Plugins. Refer to the version listed for MSFSTouchPortalPlugin.

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here.

Spoiler Status - is it available - are spoilers deployed?

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Control_Variables.htm#SPOILERS_ARMED
Simvar - (SPOILERS HANDLE POSITION) Spoiler handle position. All aircraft (16K = down, 0 = up)
(SPOILER AVAILABLE) True if spoiler system available.

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

FLIGHT SYSTEMS

Additional context

Only want to show Arm/Deploy Spoilers buttons if spoilers are available on the current aircraft

Plugin performance issue warning with Touch Portal v4

Some users may receive the warning message "Plug-in Performance Issue Detected" from Touch Portal when using this plugin.

This is a known issue, along with dozens of others in Touch Portal v4.

Unfortunately for now the only recourse is to ignore the notification. Clearing it will just make it come back after some use. The warning may come up on pages which use Sliders/connectors with "feeback" enabled (reflecting values sent from the simulator).

There will be a fix for this in upcoming plugin release and/or TP update.

My personal recommendation is to wait to update Touch Portal. Please check the various, support, bug report and beta forum rooms at Touch Portal's Discord server before deciding for yourself.

Push Back - action & status

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Services_Variables.htm#PUSHBACK_STATE
PUSHBACK STATE:index Type of pushback. Enum: 0 = Straight

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

FLIGHT SYSTEMS?
GROUND SERVICES?

Additional context
Currently having to send keystrokes to the Sim to start/stop pushback which means the Sim has to be in focus

Is Landing Gear Available

What data would you like to see in Touch Portal that comes from your simulator/aircraft?
Please provide the state name if you already know it, if not please make sure to be detailed about what you are wanting to accomplish.

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_Brake_Landing_Gear_Variables.htm#IS_GEAR_RETRACTABLE
SimVar - (IS GEAR RETRACTABLE) True if gear can be retracted

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.
Please provide the category if you have it, otherwise I will attempt to categorize the best I can.

Flight Systems

Additional context
Add any other context or screenshots about the feature request here.

Useful to know if gear is fixed or retractable so that if fixed I do not attempt to raise the landing gear but can state 'Gear Fixed' instead

HubHop Data not updating properly

Hi, I new to all this, looking in the "Trigger a Simulator Event from loaded HubHop data" I see that PMDG-DC-6 is supported but I don't see the PMDG 737. I know that there was/is a new SDK. Is this something that will be added or I not using it like it should?

Thanks

Originally posted by @magicnorm in #31 (comment)

Status showing plugin version number

Is your feature request related to a problem? Please describe.
To confirm that folks are using the correct version of the plugin for the functions on the FltSim TP page

Describe the solution you'd like

Status showing plugin version number

** Plugin Category **

SYSTEM

Set Barometric Pressure

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Instrumentation_Events.htm
BAROMETRIC Syncs altimeter setting to sea level pressure, or 29.92 if above 18000 feet
BAROMETRIC_STD_PRESSURE
KOHLSMAN_INC Increments altimeter setting Shared Cockpit
KOHLSMAN_DEC Decrements altimeter setting Shared Cockpit
KOHLSMAN_SET Sets altimeter setting (Millibars * 16)
Current pressure setting status
KOHLSMAN SETTING HG:index The value for the given altimeter index in inches of mercury.
KOHLSMAN SETTING MB:index The value for the given altimeter index in millibars.

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

FLIGHT INSTRUMENTS

Additional context
In order to set pressure in response to ATC request, and to switch between European and US systems

Connection to simulator failed

Hello,

I have never been able to connect TP to MSFS 2020

Log:
13:30:04.456 - [LOG] (Action Flow) - Doing action: [Connect & Update] MSFSTouchPortalPlugin.Plugin.Action.Connection.Data.Action -> Toggle Simulator Connection |
13:30:04.462 - [LOG] (Plugin Instance) Preparing plugin data for MSFSTouchPortalPlugin
13:30:04.467 - [LOG] (Plugin Instance) This is MSFSTouchPortalPlugin and received message for MSFSTouchPortalPlugin
13:30:04.475 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.Plugin.State.Connected","value":"connecting"}
13:30:04.475 - [LOG] (Plugin Instance) Message send: {"data":[{"id":"MSFSTouchPortalPlugin.Plugin.Action.Connection.Data.Action","value":"Toggle Simulator Connection"}],"pluginId":"MSFSTouchPortalPlugin","actionId":"MSFSTouchPortalPlugin.Plugin.Action.Connection","type":"actio
13:30:04.483 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.SimSystem.State.SimSystemEvent","value":"Connecting"}
13:30:04.484 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.Plugin.State.Connected from false to value connecting
13:30:04.490 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.SimSystem.State.SimSystemEvent from Disconnected to value Connecting
13:30:04.490 - [LOG] (Action Flow) Event Triggered(0, 6): When MSFS - Plugin - The status of SimConnect (true/false/connecting) changes to 'connecting'
13:30:04.497 - [LOG] (Action Flow) Button Event at (0, 6) on Page: \A32NX\A32NX_MAIN.tml
13:30:04.503 - [LOG] (Action Flow) - Doing action: [Visuals] Change visuals for the Icon
13:30:13.438 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.SimSystem.State.SimSystemEvent","value":"Connection Timed Out"}
13:30:13.438 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData","value":"30:13 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds..."}
13:30:13.439 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.SimSystem.State.SimSystemEvent from Connecting to value Connection Timed Out
13:30:13.446 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.Plugin.State.LogMessages","value":"26:50 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds...\n27:29 [[c#e5c32b]WRN[/c]] Connection to Simulator fai
13:30:13.446 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData from 30:00 [[c#006eff]INF[/c]] Connection attempts to Simulator were canceled. to value 30:13 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds...
13:30:13.453 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.Plugin.State.LogMessages to *** value trimmed because it is too long. ***
13:30:52.414 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.SimSystem.State.SimSystemEvent","value":"Connection Timed Out"}
13:30:52.415 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData","value":"30:52 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds..."}
13:30:52.424 - [LOG] (Plugin Instance) Incoming data: {"type":"stateUpdate","id":"MSFSTouchPortalPlugin.Plugin.State.LogMessages","value":"27:29 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds...\n28:09 [[c#e5c32b]WRN[/c]] Connection to Simulator fai
13:30:52.424 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.SimSystem.State.SimSystemEventData from 30:13 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds... to value 30:52 [[c#e5c32b]WRN[/c]] Connection to Simulator failed, retrying in 30 seconds...
13:30:52.432 - [LOG] (State System) Changed state MSFSTouchPortalPlugin.Plugin.State.LogMessages to *** value trimmed because it is too long. ***

TP version : v3.1 build 12
MSFS Touch Portal Plugin version : 1040100

Thanks for the help

Set COM1/2 as active radio

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Radio_Navigation_Events.htm
COM1_TRANSMIT_SELECT | Selects COM 1 to transmit
COM1_RECEIVE_SELECT
COM2_TRANSMIT_SELECT | Selects COM 1 to transmit
COM2_RECEIVE_SELECT

Status
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#COM%20RECEIVE
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#COM%20TRANSMIT
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#COM%20TEST

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

COMMUNICATIONS

Additional context
Useful when switching frequencies between tower, approach, controlled airspace etc.
Also enables pilot to listen to ATIS or approach frequency on one COM box whilst being 'active' on the other
Currently requires key combination to be setup in the Sim and keystrokes to be sent from TP

Transponder XPNDR - set frequency & ident

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Radio_Navigation_Events.htm#Transponder

XPNDR_1000_DEC | Decrements first digit of transponder | Shared Cockpit
XPNDR_100_DEC | Decrements second digit of transponder | Shared Cockpit
XPNDR_10_DEC | Decrements third digit of transponder | Shared Cockpit
XPNDR_1_DEC | Decrements fourth digit of transponder | Shared Cockpit
XPNDR_1000_INC | Increments first digit of transponder | Shared Cockpit
XPNDR_100_INC | Increments second digit of transponder | Shared Cockpit
XPNDR_10_INC | Increments third digit of transponder | Shared Cockpit
XPNDR_1_INC | Increments fourth digit of transponder | Shared Cockpit
XPNDR_DEC_CARRY | Decrements fourth digit of transponder, and with carry. | Shared Cockpit
XPNDR_INC_CARRY | Increments fourth digit of transponder, and with carry
XPNDR_IDENT_SET | Set the transponder Ident on or off (can be used along with the simvar TRANSPONDER_IDENT). If set to on, it will switch off automatically after 18 seconds.
XPNDR_IDENT_TOGGLE | Toggle the transponder Ident from on to off or off to on (can be used along with the simvar TRANSPONDER_IDENT).

STATUS
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#TRANSPONDER_AVAILABLE

TRANSPONDER AVAILABLE True if a transponder is available Bool
TRANSPONDER CODE 4-digit code All aircraft (Index of 1 only). BCO16
TRANSPONDER IDENT This can set the Ident transponder using the KEY_XPNDR_IDENT_SET, KEY_XPNDR_IDENT_TOGGLE, KEY_XPNDR_IDENT_ON or KEY_XPNDR_IDENT_OFF
When set to true, it will automatically turn false after 18 seconds. Bool
TRANSPONDER STATE Transponder State

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.
Please provide the category if you have it, otherwise I will attempt to categorize the best I can.

Additional context
Add any other context or screenshots about the feature request here.
Used when ATC request pilot sets SQUAWK frequency and Ident

Plugin v1.4 - Using L vars with SimConnect may require Unit specifier.

[previously posted on Discord]

Plugin version 1.4 switched L var handling from using the custom WASM server/client to using the new "native" SimConnect L var feature (introduced in SU12).

However, it seems in some cases SimConnect will convert L variable values to some other relevant Unit type before delivery. As a result, the value received by this plugin will not match what is expected, meaning what was returned with plugin v1.3/WASM and what is shown in the MSFS Dev view variable inspector.

For example, as reported by a user, on the FBW A320, the value of variable A32NX_AUTOPILOT_HEADING_SELECTED is normally shown in whole degrees. However when read via the new SimConnect L var feature, the value is returned in radians instead.

Up until now there hasn't been any way I know of to retrieve this value in radians (or any other specific unit) at all. It's not clear what SimConnect is doing here, or how it even "knows" that the value can reasonably be converted to another angle measurement unit. AFAIK there's no way to specify a Unit type for a L var except via whatever SimConnect is now doing.

So far only 2 L vars are known to do this... all others seem to act as before, ignoring any Unit type specification. The 2nd known example is A32NX_AUTOPILOT_VS_SELECTED and it needs to be requested with a Unit type pf "ft/min".

When using custom variable requests via .INI config files, the Unit type can still be specified now, and is respected by SimConnect. Just like for "A" type Sim Vars. So the current workaround is to specify the actual unit type for any such "problem" L vars. For example A32NX_AUTOPILOT_HEADING_SELECTED can be requested with a specific Unit = "degrees" and the result will again be as expected with the previous plugin v1.3.

However when using the plugin's "Custom States & Variables" actions to add/edit L var requests, the Unit type is now either ignored or not shown (for L vars) at all. There's no workaround besides saving the requests to an INI file and then (re)loading the requests from the edited file.

To address this issue, my current thought is to:

  1. Provide a plugin-wide setting to "always use WASM for L vars when available" which, if enabled, would simply restore the v1.3 behavior of using WASM if it available, or falling back to SimConnect otherwise.
  2. Add the ability to specify Unit type for L var requests added via the plugin's actions. Unfortunately since the Unit is ignored in most cases, this may lead to some user confusion.

v1.3.0 - Local variables list not loaded properly in "Request an Airplane Local Variable" action.

The list of current local variables is not showing up in the action's selector.

Affects newly released plugin version 1.3.0. Will be patched shortly.

Workaround for now is to use the "Request a Named Variable" action with "L" type selected
and typing the name of the variable manually.

A list of Local variables can be seen in the "Set Local Variable" action (where the list is still properly updated). They can also be found in the Simulator by enabling "Dev mode" and showing the Local Variables window from the Dev Mode toolbar.

Thanks for updating the Plugin - here are some further suggestions.

Hi - I am so glad that you are updating the MSFS plugin as there is so much more that can be done through Simconnect. Pleased also to see that you have already included some items from my wishlist in your recent 0.5.4-mp update.

Below are a number of suggestions - some of which will be easier to implement than others - I have included SimVars and Event IDs where I could find them. All of them are things I can use to improve my FltSim 2020 page.

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like

RADIO & NAVIGATION
To be able to pass i.e. Radio Frequencies for COM1, COM2, NAV1, NAV2, ADF, & Transponder directly to the simulator (either live or standby frequency) : Transponder SQAWK Ident. i.e. Set COM1: 125.60

COM_RADIO_SET_HZ
COM_STBY_RADIO_SET_HZ
COM1_TRANSMIT_SELECT
COM2_RADIO_SET_HZ
COM2_STBY_RADIO_SET_HZ
COM2_TRANSMIT_SELECT

NAV1_RADIO_SET_HZ
NAV1_STBY_RADIO_SET_HZ
NAV2_RADIO_SET_HZ
NAV1_STBY_RADIO_SET_HZ

XPNDR_SET | Sets transponder code (BCD)
XPNDR_IDENT_TOGGLE

AIRCRAFT INSTRUMENTS
Set pressure (QNH) in either inches of mercury (US system) or hPa (hectopascal European system)

BAROMETRIC | Syncs altimeter setting to sea level pressure, or 29.92 if above 18000 feet | Shared Cockpit
BAROMETRIC_STD_PRESSURE
KOHLSMAN_SET | Sets altimeter setting (Millibars * 16)

I can generate a string value to be passed to the system using an on screen number pad in Touch Portal

SYSTEM
Live value for Active Pause

ENGINE
Engine RPM actual value rather than just %
GENERAL ENG RPM:index

Camera movement functions (i.e. look or move - up, down, left, right) so that keyboard keys do not need to be used

Autopilot Available - Reports available on all aircraft

Describe the bug
Value - ${value:MSFSTouchPortalPlugin.AutoPilot.State.AutoPilotAvailable} shows 1 whether or not aircraft has autopilot facility - i.e. Stock Cessna 152 does not have AP functionality but still reports as available

Expected behavior
Show 0 if autopilot is not available

Plugin Version
6.0

ADF tuning, on/off, compass rose setting etc.

What action do you want to be able to perform from Touch Portal to interact with your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/Event_IDs/Aircraft_Radio_Navigation_Events.htm#ADF
ADF | Sequentially selects the ADF tuner digits for use with +/-. Follow by SELECT_2 for ADF 2. |
ADF_100_DEC | Decrements ADF by 100 KHz | Shared Cockpit
ADF_10_DEC | Decrements ADF by 10 KHz | Shared Cockpit
ADF_1_DEC | Decrements ADF by 1 KHz | Shared Cockpit
ADF_100_INC | Increments ADF by 100 KHz | Shared Cockpit
ADF_10_INC | Increments ADF by 10 KHz | Shared Cockpit
ADF_1_INC | Increments ADF by 1 KHz

ADF_CARD_DEC | Decrements ADF card | Shared Cockpit
ADF_CARD_INC | Increments ADF card | Shared Cockpit
ADF_CARD_SET | Sets ADF card (0-360)

RADIO_ADF_IDENT_SET
RADIO_ADF_IDENT_TOGGLE

STATUS
https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_RadioNavigation_Variables.htm#ADF%20ACTIVE%20FREQUENCY

ADF ACTIVE FREQUENCY:index
ADF AVAILABLE
ADF CARD
ADF IDENT
ADF RADIAL MAG
ADF SIGNAL

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

COMMUNICATIONS

Additional context
Used for folks who want to fly/are taught to fly by instruments on steam gauges without GPS or in case of GPS failure

Speed Hold value not rounding to integer

Describe the bug

Value - ${value:MSFSTouchPortalPlugin.AutoPilot.State.AutoPilotAirSpeedVar} is a long decimal number and should be shortened to an integer or max 1 decimal place

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Plugin Version
6.0

Screenshots

Additional context

Custom "Camera & Views" states not listed

If I add some new custom states to control the camera, they correctly appear in the "Camera & Views" category of (e.g.) IF statements. But if I try to set them through "Set Simulator Variable", the drop-down list of variables is those for a DIFFERENT category - the category I had selected BEFORE I selected category "Camera & Views".
BrianStates.ini.txt
Screenshot 2023-01-22 220347
Screenshot 2023-01-24 084407

I can probably get my page working using Set Named Variable Value, but it looks like a bug that may have other implications.

Altitude ASL according to QNH rather than 29.92

What data would you like to see in Touch Portal that comes from your simulator/aircraft?

https://docs.flightsimulator.com/html/Programming_Tools/SimVars/Aircraft_SimVars/Aircraft_System_Variables.htm#INDICATED_ALTITUDE_CALIBRATED
SimVar - INDICATED ALTITUDE CALIBRATED - Indicated altitude with the altimeter calibrated to current sea level pressure.

Provide the category of the action if you know it. Engines, Instruments, Environment, etc.

FLIGHT INSTRUMENTS

Additional context

Altitude ASL is currently shown at standard temperatures and pressures rather than the current barometric pressure value. The altitude hold value and altimeter in the sim are at current barometric pressures rather than 29.92 inMg

On Hold - Repeat whatever action was last passed to the plugin

Is your feature request related to a problem? Please describe.
Because the buttons on my page have multiple functions it would be useful to repeat whichever function I last used on that button when I hold it down.

Describe the solution you'd like
A new On Hold action which remembers whichever action was last used and repeats it i.e. RepeatLastAction - so that I don't have to specify whether it was i.e. the Throttle, Mixture, Prop RPM that I last changed (as the all use the same button). The last action will be whatever the function was from the 'On Press' action on the same TP button. Obviously this would only be for Actions that change values rather than on/off type switches.

Describe alternatives you've considered
Unfortunately there are no Logic function for On Hold actions in TP - otherwise I would use those.

Additional context
Add any other context or screenshots about the feature request here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.