Skip to content

Releases: mpaperno/MSFSTouchPortalPlugin

v1.1 RC 1

13 Aug 12:53
7837f4b
Compare
Choose a tag to compare

Changes since 1.1 beta 3

  • Fixed: Requests for indexed SimVars with an Update Period of type "Millisecond" were not working.
  • Fixed "AutoPilot - Flight Director Switches" action missing choice selector for Master/Pitch Sync switch.
  • Fixed "Auto Pilot - Vertical Speed -> Hold Current" action.
  • Changed Delta Epsilon properties for the default included variable requests to match the displayed decimal precision.
  • Added Auto Pilot actions:
    • "Bank Mode" and "Flight Level Change" switches (on/off/toggle).
    • "Auto Throttle Disconnect"
    • "Max. Bank Set" - Preset position, Angle, or Velocity (action/connector)
    • Auto Brake - "Set Off/Low/Medium/Maximum" switch actions & "Set to Value" (action/connector)
  • Consolidated "Anti/De Ice System" switch events (on/off/toggle) into one action.
  • Added Anti/De Ice System actions:
    • "Windshield De Ice Switch" Toggle/On/Off/Set.
    • Set actions for "Engines 1-4 Anti Ice" and "Pitot Heat" Switch states.
    • "Engines 1-4 Anti Ice Set" value range (0 - 16384) action/connector.
  • Added new states in "MSFS - Plugin" category to facilitate handling of custom variable request configuration files and page imports:
    • Plugin configuration files path.
    • Touch Portal configuration files path.
    • List of currently loaded state configuration file(s).
    • The current device Touch Portal page name (including folder, if any).
  • Changes to the "Connect To Flight Sim on Startup" setting now take effect w/out a plugin restart.

Check the README for installation instructions and other documentation.

Upgrade note: There are no changes in the WASimModule component since plugin release v1.0. There is no need to download/update it if you already have it installed.

1.1 Beta 3 - Improvements & Fixes

02 Aug 10:40
1397c90
Compare
Choose a tag to compare

Changes since 1.1 beta 2

  • Enabled WASimModule integration from multiple simultaneous plugin instances (when using multiple Touch Portal servers/devices).
  • Improved several aspects of custom variable requests for stability and usability, such as utilizing WASM integration when available, and more informative logging.
  • Improved aspects of triggering Simulator Events, including utilizing WASM module integration when available, for greater efficiency.
  • Added automatic retry of failed Local ('L') variable requests when airplane model changes or a new flight is loaded.
  • Added new action to re-submit requests for Local variables which could not be registered the first time (because they didn't exist yet).
  • Added new action to clear all/custom variable data requests.
  • Added new action to re-send all current State values.
  • Added more COM/NAV options to current "Radio Interaction" action (COM3/NAV3-4/Volume/etc) and added new "Radio Values Set" action/connector.
  • Fixed possible Simulator crash due to SimConnect exception when removing variable requests (or updating existing ones which first removed the old versions).
  • Fixed: SimVar ('A') requests with Update Period type of Millisecond were not updating. (Thanks to @ schroewo on TP's Discord for reports.)
  • Fixed missing plugin's "System" category in all selection lists (the category "Plugin" was uselessly shown instead).
  • Fixed: Writing State/variable configuration files didn't properly save the Update Period and Delta Epsilon properties (if the latter was zero).
  • Fixed sorting of variables by category in saved state configuration files.
  • Changed default variable request Delta Epsilon property value to 0.0.
  • Changed the data field in "Load Variable Definitions From File" action to plain text entry instead of a file selector control.
  • Changed the slider/connector min/max range data entry fields from numeric to more permissive text types.
  • Improved detection of duplicate/replacement variable requests (new requests for existing variables).
  • Renamed the simulator connection (toggle/on/off) actions for clarity (preserves backwards compatibility with existing buttons).
  • The read-only setting "Held action repeat interval" has been removed from the TP Settings interface.
  • A plugin settings configuration file is now always created in user's config file path (default AppData/Roaming) if one doesn't already exist.

(There are no changes in WASimModule since plugin release v1.0. There is no need to download/update it if you already have it installed.)

Known Issues:

  • Requesting an indexed SimVar with an Update Period of type "Millisecond" does not work (SimVars not requiring an index, or using another Update Period type, works OK).

Check the README for installation instructions and other documentation.

NOTE For full support of all the new features, I highly recommend installing the accompanying WASM module which is available below (WASimModule). It it not required to use most of the basic plugin features, but it will provide a more advanced feature set and further optimizations. WASimModule is part of the WASimCommander project.

To install WASM module - Simply download the zip file and extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is in the Community folder). MSFS would need to be restarted after adding the module.

v1.1 Beta 2 - Fix for B1, Consolidation, and TP Issue Workaround

22 Jul 23:53
c7a40d7
Compare
Choose a tag to compare

Changes since 1.1.0.0-beta1

  • Added new Setting for always using "neutral" numeric formatting with period decimal separators, ignoring any region-specific formatting conventions.
    Works around Touch Portal issue with not being able to do math comparison operations on numeric values with comma decimal separators.
    !! This setting is now enabled by default. !! (With apologies to everyone who expects proper number formatting for their locale.)
  • Fixed that some actions without data values were broken in Beta 1 version (some light switches, perhaps others).
  • Consolidated several groups of separate actions of the same type into single actions with target selector (light switches, AP switches, cowl flaps).
    Maintains backwards compatibility with existing actions/buttons.
  • Added Light Dimming (potentiometer) actions, some more light switch types, and Landing lights directional control actions.

Check the README for installation instructions and other documentation.

NOTE For full support of all the new features, I highly recommend installing the accompanying WASM module which is available below (WASimModule). It it not required to use the plugin but will help provide all the latest new features of this plugin.

There are no changes in the module since the last release, there is no need to update it if you already have it installed.

To install WASM module - Simply download the zip file and extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is in the Community folder). MSFS would need to be restarted after adding the module.

v1.1 Beta - Connectors and Sliders Edition

19 Jul 21:24
ab34af2
Compare
Choose a tag to compare

Changes since v1.0.1.0

  • Added Connector (Slider) functionality with feedback capabilities (eg. move slider in response to simulator event).
  • Added 29 new connectors to set variables, trigger events with value ranges, or use as visual value indicators.
  • Added new "Camera & Views" category for custom states.
  • Changed "On Hold" actions to fire the associated event right away instead of waiting for the first delay time.
  • Failed actions will no longer repeat when "held."

New Connectors

  • All 18 existing (and 2 new) "Set" Actions (engines, surfaces, AP bugs, etc).
  • Set Action Repeat Interval
  • Set a Named Simulator Event Value
  • Set a Known Simulator Event Value
  • Set HubHop Input Event Value (requires WASimModule)
  • Set Simulator Variable (SimVar)
  • Set Airplane Local Variable (requires WASimModule)
  • Set Named Variable Value (requires WASimModule)
  • Execute Calculator Code With Value (requires WASimModule)
  • Visual Feedback Connector (for reflecting the value of a State)

New Actions and Connectors

  • Mixture Lever Set
  • Brake Axis Left/Right Set

Updated Actions

  • The "Set Simulator Variable" and "Set Local Variable" actions have been split into 2 (restores pre-v1.0 version of the former).
  • Cowl Flaps 1-4 Set consolidated into one action/connector with choice of flaps.
  • Updated some action names in AP, Fuel, Engine, Flight System categories for consistency and clarity. Removed some redundant descriptions.

A short demonstration video of the new connector/slider functionality is available here: https://youtu.be/zDuUEYTTsP0


Check the README for installation instructions and other documentation.

NOTE For full support of all the new features, I highly recommend installing the accompanying WASM module which is available below (WASimModule). It it not required to use the plugin but will help provide all the latest new features of this plugin.

To install WASM module - Simply download the zip file and extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is in the Community folder). MSFS would need to be restarted after adding the module.

v1.0 Final - New Settings & Bug fixes

19 Jul 21:18
9ffe09e
Compare
Choose a tag to compare

Changes since v1.0.0.0-beta1

  • Removed all static Sim Var states from entry.tp file -- all states are now dynamic.
  • Added new Setting option to sort Local ('L') Airplane variables list alphabetically.
  • Added new Setting option to control HubHop data update timeout value.
  • Fixed exception error when requesting variables with an empty Unit type.
  • Fixed selections in "Activate a Simulator Event From HubHop" action not updating properly after HubHop data update until plugin is restarted
    (#32).
  • Fixed "Activate a Simulator Event From List" was broken in last version (produced SimConnect errors).
  • Fixed that state names for requested indexed SimVars didn't include the proper index number.
  • Improved user feedback for HubHop data update events (initiated/updated/failed).
  • Increased length of version number shown in Touch Portal by 2 digits to include all 4 parts of dotted version (1.0.0.1 = 1000001).
  • New icon for the plugin executable.

Check the README for installation instructions and other documentation.

NOTE For full support of all the new features, I highly recommend installing the accompanying WASM module which is available below (WASimModule). It it not required to use the plugin but will help provide all the latest new features of this plugin.

To install WASM module - Simply download the zip file and extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is in the Community folder). MSFS would need to be restarted after adding the module.

(There are no functional changes in WASimModuloe since the previous v1.0.0.6-beta2 . There is no rush to update it if you already have it. The version number only changed to reflect changes on the client side which are already incorporated into this plugin).

WASM Module Integration Edition

09 Jul 17:12
1729f44
Compare
Choose a tag to compare

1.0.0.0-beta1 (July-09-2022)

  • Adds support for integration with custom WASM module from the WASimCommander project (WASimModule).
    • Get and Set "Local" variables as well as practically any other variable type available in the MSFS "Gauge API".
    • Provides a listing of currently available Local variables, automatically refreshed when aircraft changes in the simulator, and on demand.
    • Option to create new Local variables inside the Simulator engine.
    • Execute any Calculator Code (using RPN, see link above) from within the Simulator engine, bringing control over practically any situation.
    • Request calculated values (results from calculator code) as TP States, using the same options as current simulator variables
      (formatting, refresh rate, categorization, etc). Results can be in numeric or string format, and data can also be formatted as strings using RPN functions.
    • All the new request types (local/other variables or calculated values) can be saved/loaded to/from configuratoin files, just like was already possible with SimVars.
  • Adds support for loading input event presets from the HubHop database.
    • New Action: Activate a Simulator Event From HubHop - Presents a "drill down" list of loaded events, selectable by vendor/aircraft and system.
      Requires WASimModule or MobiFlight WASM modules installed (more features available with the former).
    • HubHop data can, optionally, be updated upon plugin startup and manually via a new action choice (MSFS Plugin -> Connect & Update -> Update HubHop).
  • Added support for using numeric values in hexadecimal notation (0xNNN). Easy "BCD" values, eg. frequency 339KHz is simply 0x03390000.
  • Dynamic TP States (custom-added variables) are now sorted into their respective categories in TP selectors
    (instead of being in a "Dynamic" cateogry or just listed after the categories). Requires TP 3.0.10 or higher.
  • Added actions to Set cowl flaps 1-4 to specific position.
  • The list of imported sim vars updated to include new HSI_STATION_IDENT and fix "settable" flag on GPS_* variables like GPS_APPROACH_WP_TYPE, etc.

NOTE For full support of all the new features, I highly recommend installing the accompanying WASM module which is available below (WASimModule). It it not required to use the plugin but will help provide all the new features listed above.

To install WASM module - Simply download the zip file and extract the contents into your MSFS Community folder (so that the folder wasimcommander-module is in the Community folder). MSFS would need to be restarted after adding the module.

Known Issues

  • Requesting new variables with an empty Unit type may not work properly (an exception error is logged). Workaround is to specify a Unit type even for variable types that don't need one. (Fixed in next version.)
  • Requesting a Calculated Value of "Formatted" type will not work due to apparent bug in MSFS gauge API. This is fixed with update of the WASM module (see below)
  • HubHop data appears to not update properly until plugin is restarted. Workaround is to restart the plugin after updating data. See #32

Updated WASimModule to v1.0.0.6 on 12-July-2022 21:00 Z

  • Updated WASM module to fix issue with "Formatted" calculated result type. (Full change log)

MobiFlight events & simulator crash detection

21 Apr 22:15
0021e97
Compare
Choose a tag to compare

0.7.0.2-mp (April-21-2022)

  • Fixes an issue that prevented MobiFlight events from working.
  • Fixes possible plugin crash when trying to re-connect to MSFS after it has crashed.
  • Improved detection of an actual valid SimConnect link when trying to connect. SimConnect seems sometimes "confused" after the sim has exited unexpectedly (crashed).

If updating from plugin version < 0.7, please be sure to read the copious release notes on v0.7.0.

.Net5 Dependency & SimConnect.cfg fixes

18 Apr 15:29
e90f50d
Compare
Choose a tag to compare

0.7.0.1-mp (April-18-2022)

  • This release fixes missing .Net 5.0 dependency issue with v0.7.0. This would only affect users who did not have .Net 5 libraries already installed on their PC.
  • There is also a minor bug fix for SimConnect.cfg file not being copied to the correct folder.
  • Lastly, the distribution download size has been reduced by almost half.

Be sure to review the release notes for the previous release v0.7.0-mp

Complete Customization Edition

17 Apr 12:29
179e9f1
Compare
Choose a tag to compare

0.7.0.0-mp (April-17-2022)

Major Features

Simulator Variables (SimVars)

  • All SimVar/Touch Portal State definitions loaded from easily editable .ini configuration files.
  • Can load custom state config file(s) at startup or via new TP Action.
  • Request any arbitrary Simulation Variable by name to be sent as a TP State via 2 new TP Actions,
    with ability to save added variables to a config. file.
  • New TP Action to Set a value on any settable SimVar. The Action presents a dynamic list of loaded SimVars which are configured to be settable.

Events

  • Run any arbitrary Simulator Event (action), with optional value,
    either selected from a list of known (imported) events or any custom event name (allows full MobiFlight compatibility, for example).
  • Adds ability to monitor Simulator System Events
    via a new Touch Portal Event (and corresponding State).
  • New Touch Portal Events to indicate simulator connection status, connection timeout, simulator errors/warnings, and plugin errors and informative events.
  • A new TP State to transmit corresponding event data, if any, such as name of flight being loaded (for sim System Events) or details about error/information events (log messages).

Performance

The changes below lead to considerable performance improvements and much quicker state updates (when the values change), while also being more efficient.

  • SimVars/states are now updated via "push" from SimConnect at a settable period and interval (defaults to every "Sim Frame" eg. ~60Hz) vs. being polled individually every 250ms.
    Custom update polling period can also be set per SimVar in milliseconds.
  • SimVars are only updated if changed by a configurable epsilon value, eg. for a decimal value SimConnect will not send update unless it changes by more than 0.001.
  • Implemented custom version of the Touch Portal C# client/API layer which is several times more performant and, among other things,
    allows our plugin to exit cleanly if stopped (send any last state updates, shut down SimConnect connection properly, etc).

Others

  • Add ability to use a custom SimConnect.cfg file for simulator connection properties --
    this allows (among other things) to easily use the plugin on a Touch Portal instance running on a different networked computer than the simulator,
    including multiple plugin instances which can be used on multiple TP client devices.
  • Add new LogMessags TP State which contains the last 12 plugin log entries (same entries as can be found in the log file, but fewer of them and with shorter formatting).

Please see the complete list of changes in the CHANGELOG. Also check the updated README and generated DOCUMENTATION.

Support for setting specific data values in simulator (make Set actions work)

15 Feb 11:46
0fd538a
Compare
Choose a tag to compare

0.6.0-mp (Feb-15-2022)

  • Added support for sending numeric data values to the simulator with the various "Set" actions.
    • Most/all "Set" actions have been broken out into their own separate action types. Since they now have a data field, it doesn't make sense to pair them with actions which don't use them, such as "Increment."
      • Buttons which did not use the old "Set" choices, such as "Increment," etc, will continue to work (although they will still show the old choices in existing TP buttons until replaced with the new versions). However any buttons which relied on the old behavior of the "Set" action value always being 0 (zero) will need to be updated.
    • Simple arithmetic operations (+, -, *, /, %, precedence with ( ), scientific notation) are supported in most of the data fields which can be sent to the sim.
      That means you can do things like 25 * 30, but more interestingly one could use states/variables, like:
      "AP Set Alt. Hold to:" ${value:MSFSTouchPortalPlugin.AutoPilot.State.AutoPilotAltitudeVar} + 1000
      This evaluation could be expanded upon later if there is a need (to include higher math, rounding, etc).
  • Generated documentation updated to include all Action Data attributes and mappings to the actual SimConnect events. Also added SimVar names to the list of States.
  • New TP UI color for MSFS Plugin actions, "MSFS Blue."
  • Action-to-event mapping syntax/scheme somewhat simplified and consolidated, for easier additions and maintenance. Now also allows custom event names (with a dot).
  • Added new actions:
    • AP Set Airspeed Hold Value
    • AP Set Altitude Hold Value
    • AP Set Heading Hold Value
    • AP Set Mach Hold Value
    • AP Set Vertical Speed Hold Value
    • Magneto Switch 1/2/3/4 Set Position (0-4)
    • Propeller All/1/2/3/4 Set Pitch Lever Value (0 to 16383)
    • Throttle All/1/2/3/4 Set (-16383 - +16383)
    • Engine 1/2/3/4 Anti-ice Switch Set On/Off
    • Aileron Trim Set % (-100 - +100)
    • Ailerons Position Set (-16383 - +16383)
    • Elevator Trim Set (0 - 16383)
    • Elevator Position Set (-16383 - +16383)
    • Elevator Increment Up/Down
    • Rudder Trim Set % (-100 - +100)
    • Rudder Position Set (-16383 - +16383)
    • Flaps Position Set (0 - 16383)
    • Spoilers Position Set (0 - 16383)
  • Modified actions:
    • Toggle Flight Director removed useless choice selector with the one "toggle" option (there are no SimConnect events for specific on/off), BREAKS CURRENT BUTTONS
    • Vertical Speed Hold added On/Off choices (in addition to Toggle which was the only one)
    • Vertical Speed Value removed "Set Current" choice since there's no such Sim event to map to
    • AP Nav Mode Switch 1/2, which never worked, now takes a value of 1 or 2 (that's how we have to set it up for now)
    • Toggle All Magnetos - added new "Select for +/-" choice
    • Engine Anti Ice Toggle removed Set choice (new action, above) which left only Toggle as 2nd choice, so that was removed BREAKS CURRENT BUTTONS
    • Held Action Repeat Rate changed entirely, can now be Set to a specific value or Increment/Decrement by any step amount (in ms) BREAKS CURRENT BUTTONS
  • Modified states:
    • Plugin.State.Connected added "connecting" status which is active while SimConnect is not connected but is trying to be. "false" now indicates that it is disconnected and no attempts are being made to connect. POSSIBLY BREAKS CURRENT BUTTONS if they rely on the "false" status.

For some hints on using the new Set commands, check out the wiki page Tips And Tricks For Setting Simulator Values.

Full Changelog: 0.5.4-mp...0.6.0-mp