Skip to content

v1.2.0 - Large update with fixes and new features

Latest
Compare
Choose a tag to compare
@mpaperno mpaperno released this 07 Nov 20:08
· 5 commits to main since this release
4b3fe92

Changes since v1.1.2

WASimModule

  • Fix binary data representation in results for named variable requests with 1-4 byte integer value sizes (int8 - int32 types) -- the result data would be encoded as a float type instead. (8c7724e6)
  • Restore ability to use Unit type specifiers when setting and getting Local vars. (e16049ac)
  • Added ability to specify/set a default 'L' var value and unit type in GetCreate command to use if the variable needs to be created. (61a52674)
  • GetCreate and SetCreate commands for non-L types now silently fall back to Get and Set respectively. (61a52674)
  • Fixed that command response for GetCreate was always sent as if responding to a Get command. (61a52674)
  • Added requestId to error logging and response output for data requests and add more info for Get command errors. (17791eef)
  • Added ability to return string type results for Get commands and Named data requests by converting them to calculator expressions automatically on the server. (983e7ab6)
  • Improved automatic conversion to calc code for other variable types by including the unit type, if given, and narrowing numeric results to integer types if needed. (983e7ab6)
  • Prevent possible simulator hang on exit when quitting with active client(s) connections. (70e0ef31)
  • Event loop processing is now paused/restarted also based on whether any connected client(s) have active data requests and if they are paused or not (previously it was only based on if any clients were connected at all). (90242ed4)
  • Fixes a logged SimConnect error when trying to unsubscribe from the "Frame" event (cause unknown). (90242ed4)
  • Data requests with Once type update period are now queued if data updates are paused when the request is submitted. These requests will be sent when/if updates are resumed again by the client. Fixes that data would be sent anyway when the request is initially submitted, even if updates are paused. (fe99bbb2)
  • Update reference list of KEY events and aliases as of MSFS SDK v0.22.3.0. (f045e150)

WASimClient and WASimClient_CLI (managed .NET)

  • Fixed incoming data size check for variable requests which are less than 4 bytes in size. (c8e74dfa)
  • Fixed early timeout being reported on long-running list() requests (eg.thousands of L vars). (a05a28c3)
  • Restored ability to specify Unit type for L vars and support for GetCreate with default value/unit and added extra features: (3090d534, 0a30646d)
    • Added unit name parameter to setLocalVariable() and setOrCreateLocalVariable().
    • Added getOrCreateLocalVariable().
    • Added VariableRequest::createLVar property.
    • Add optional create flag and unit name to VariableRequest() c'tor overloads.
  • Added async option to saveDataRequest() which doesn't wait for server response (saveDataRequestAsync() for the C# version). (82ea4252, 0a30646d)
  • Added ability to return a string value with getVariable() to make use of new WASimModule feature. (8e75eb8c, 0e54794b)
  • The request updates paused state (set with setDataRequestsPaused()) is now saved locally even if not connected to server and will be sent to server upon connection and before sending any queued data requests.
    This allows connecting and sending queued requests but suspending any actual value checks until needed. (bea8bccb)
  • The setVariable() method now verifies that the specified variable type is settable before sending the command to the server. (576914a2)
  • Removed logged version mismatch warning on Ping response.
  • Documentation updates.

WASimClient_CLI (managed .NET)

  • Fixed possible exception when assembling list lookup results dictionary in the off-case of duplicate keys. (cf46967b)

WASimUI

  • Added database of Simulator Variables, Key Events, and Unit types imported from SimConnect SDK online documentation. This is used for:
    • Typing suggestions in the related form fields when entering names of 'A' vars, Key Events, or Unit types.
    • Available as a popup search window from each related form (Variables, Key Events, Data Requests) via button/menu/CTRL-F shortcut.
    • Can be opened as a standalone window for browsing and searching all imported data by type.
  • Added ability to import and export Data Requests in MSFS/SimConnect Touch Portal Plugin format with a new editor window available to adjust plugin-specific data before export (category, format, etc.)
  • Fixed that the state of current item selections in tables wasn't always properly detected and buttons didn't get enabled/disabled when needed (eg. "Remove Requests" button).
  • Added ability to toggle visibility of each main form area of the UI from the View menu (eg. Variables or Key Events groups). Choices are preserved between sessions.
  • Simplified the connection/disconnection procedure by providing one action/button for both Sim and Server connections (independent actions still available via extension menu).
  • Typing suggestions in combo boxes now use a drop-down menu style selection list by default, and the behavior can be configured independently for each one.
  • String type variables can now be used in the "Variables" section for Get commands.
  • Unit type specifier is now shown and used for 'L' variables as well (unit is optional).
  • Added "Get or Create" action/button for 'L' vars.
  • The list of 'L' variables loaded from simulator is now sorted alphabetically.
  • The Size field in Data Request form is automatically populated with a likely match when a new Unit type is selected.
  • Many improvements in table views (all options are saved to user settings and persist between sessions):
    • All column widths are now re-sizable in all tables.
    • Columns can be toggled on/off in the views (r-click for context menu).
    • Can now be sorted by multiple columns (CTRL-click).
    • Option to show filtering (searching) text fields for each column. Filters support wildcards and optional regular expressions.
    • Font size can be adjusted (using context menu or CTRL key with +, -, or 0 to reset.
    • Tooltips shown with data values when hovered over table cells (readable even if text is too long to fit in the column).
  • Numerous shortcuts and context menus added throughout, each relevant to the respective forms/tables currently being used or clicked.
  • Last selected variable types and data request type are saved between sessions.
  • Most actions/buttons which require a server connection to work are now disabled when not connected.
  • When loading data requests from a file while connected to the server, the requests are now sent asynchronously, improving UI responsiveness.
  • More minor quality-of-life improvements!

Full log: v1.1.2.0...1.2.0.0


The release contains several download options (the actual file names have version numbers appended):

  • WASimCommander_SDK - All header files, pre-built static, dynamic, and managed (.NET) libs, packaged WASM module, pre-build GUI, reference documentation, and other tools/examples.
  • WASimModule - Just the WASM module component, ready to be dropped into a MSFS Community folder (so that the folder wasimcommander-module is inside the Community folder). MSFS would need to be restarted after adding the module for the first time.
  • WASimUI - Just the GUI application, which is very handy in combination with the WASM module for exploring the system. No installer, simply unzip and run the WASimUI.exe file from either Explorer or a command line.