Skip to content

Commit b084c4c

Browse files
committed
Update CHANGELOG and README.
1 parent 576914a commit b084c4c

2 files changed

Lines changed: 37 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,59 +27,66 @@
2727
[fe99bbb2]: https://github.com/mpaperno/WASimCommander/commit/fe99bbb25c5dd907e8a4d513769759c4b430580f
2828
[f045e150]: https://github.com/mpaperno/WASimCommander/commit/f045e15007abd6b7b05b97c004a7a55488a33a9b
2929

30-
### WASimClient and WASimClient_CLI (C#)
31-
* Fix incoming data size check for variable requests which are less than 4 bytes in size. ([c8e74dfa])
30+
### WASimClient and WASimClient_CLI (managed .NET)
31+
* Fixed incoming data size check for variable requests which are less than 4 bytes in size. ([c8e74dfa])
32+
* Fixed early timeout being reported on long-running `list()` requests (eg.thousands of L vars). ([a05a28c3])
3233
* Restored ability to specify Unit type for L vars and support for GetCreate with default value/unit and added extra features: ([3090d534], [0a30646d])
3334
* Added unit name parameter to `setLocalVariable()` and `setOrCreateLocalVariable()`.
3435
* Added `getOrCreateLocalVariable()`.
3536
* Added `VariableRequest::createLVar` property.
3637
* Add optional `create` flag and unit name to `VariableRequest()` c'tor overloads.
3738
* Added async option to `saveDataRequest()` which doesn't wait for server response (`saveDataRequestAsync()` for the C# version). ([82ea4252], [0a30646d])
38-
* Add ability to return a string value with `getVariable()` to make use of new WASimModule feature. ([8e75eb8c], [0e54794b])
39+
* Added ability to return a string value with `getVariable()` to make use of new WASimModule feature. ([8e75eb8c], [0e54794b])
3940
* 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.
4041
This allows connecting and sending queued requests but suspending any actual value checks until needed. ([bea8bccb])
42+
* The `setVariable()` method now verifies that the specified variable type is settable before sending the command to the server. ([576914a2])
4143
* Removed logged version mismatch warning on Ping response.
4244
* Documentation updates.
4345

4446
[c8e74dfa]: https://github.com/mpaperno/WASimCommander/commit/c8e74dfa706647cf785c7e6c811731d8945e49c6
47+
[a05a28c3]: https://github.com/mpaperno/WASimCommander/commit/a05a28c3d1af56444be3fbe54f619e62548736a0
4548
[3090d534]: https://github.com/mpaperno/WASimCommander/commit/3090d5344c3a34c62e81f61237fe1fd91f6b11c5
4649
[0a30646d]: https://github.com/mpaperno/WASimCommander/commit/0a30646d0ae985580d67ed40c8a441a0f5a0ba17
4750
[82ea4252]: https://github.com/mpaperno/WASimCommander/commit/82ea4252bd25423bbeab354799d6be41f053880e
4851
[8e75eb8c]: https://github.com/mpaperno/WASimCommander/commit/8e75eb8c087f5a39fee93c2b7d073500e4f14664
4952
[0e54794b]: https://github.com/mpaperno/WASimCommander/commit/0e54794b2ec8411f42d34a7696426724ffc5e932
5053
[bea8bccb]: https://github.com/mpaperno/WASimCommander/commit/bea8bccba38fae987690d5af259f6f8b22fbc781
54+
[576914a2]: https://github.com/mpaperno/WASimCommander/commit/576914a235c81b73ba0ea85655d913b61cbc5015
5155

52-
### WASimClient_CLI (C#)
53-
* Fixed possible exception when assembling list lookup results dictionary in the off-case of duplicate keys. ([ea2c6347])
56+
### WASimClient_CLI (managed .NET)
57+
* Fixed possible exception when assembling list lookup results dictionary in the off-case of duplicate keys. ([cf46967b])
5458

55-
[ea2c6347]: https://github.com/mpaperno/WASimCommander/commit/ea2c6347750999d090ac28dc50216c2fd151eb27
59+
[cf46967b]: https://github.com/mpaperno/WASimCommander/commit/cf46967b499a9bb19a77a14a47bd2ac29b4d0989
5660

5761
### WASimUI
58-
* Added database of Sim Vars, Key Events, and Unit types imported SimConnect SDK online documentation.
59-
This is used for typing suggestions in the related form fields, can be used as a popup search window from each related field, or be opened as a standalone window for browsing all data.
62+
* Added database of Simulator Variables, Key Events, and Unit types imported from SimConnect SDK online documentation. This is used for:
63+
* Typing suggestions in the related form fields when entering names of 'A' vars, Key Events, or Unit types.
64+
* Available as a popup search window from each related form (Variables, Key Events, Data Requests) via button/menu/CTRL-F shortcut.
65+
* Can be opened as a standalone window for browsing and searching all imported data by type.
6066
* 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.)
67+
* 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).
68+
* 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.
69+
* Simplified the connection/disconnection procedure by providing one action/button for both Sim and Server connections (independent actions still available via extension menu).
70+
* 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.
71+
* String type variables can now be used in the "Variables" section for `Get` commands.
72+
* Unit type specifier is now shown and used for 'L' variables as well (unit is optional).
73+
* Added "Get or Create" action/button for 'L' vars.
74+
* The list of 'L' variables loaded from simulator is now sorted alphabetically.
75+
* The Size field in Data Request form is automatically populated with a likely match when a new Unit type is selected.
6176
* Many improvements in table views (all options are saved to user settings and persist between sessions):
62-
* All column widths are now re-sizable.
63-
* Columns can be toggled on/off in the views.
77+
* All column widths are now re-sizable in all tables.
78+
* Columns can be toggled on/off in the views (r-click for context menu).
6479
* Can now be sorted by multiple columns (CTRL-click).
6580
* Option to show filtering (searching) text fields for each column. Filters support wildcards and optional regular expressions.
6681
* Font size can be adjusted (using context menu or CTRL key with `+`, `-`, or `0` to reset.
6782
* Tooltips shown with data values when hovered over table cells (readable even if text is too long to fit in the column).
68-
* 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.
69-
* String type variables can now be used in the "Variables" section for `Get` commands.
70-
* Unit type specifier is now shown for 'L' variables as well (unit is optional).
71-
* Added "Get or Create" action/button for 'L' vars.
72-
* Numerous shortcuts and context menus added throughout, each relevant to the respective forms/tables.
73-
* Typing suggestions can be configured independently for each text/combo box which has any and the choices are saved between sessions.
74-
* Simplified the connection/disconnection procedure by providing one action/button for both sim and server connections (independent actions still available via extension menu).
83+
* Numerous shortcuts and context menus added throughout, each relevant to the respective forms/tables currently being used or clicked.
7584
* Last selected variable types and data request type are saved between sessions.
76-
* 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).
77-
* The list of 'L' variables loaded from simulator is now sorted alphabetically.
7885
* Most actions/buttons which require a server connection to work are now disabled when not connected.
7986
* When loading data requests from a file while connected to the server, the requests are now sent asynchronously, improving UI responsiveness.
8087
* More minor quality-of-life improvements!
8188

82-
**Full log:** [v1.2.0-alpha3...HEAD](https://github.com/mpaperno/WASimCommander/compare/1.1.2.0...HEAD)
89+
**Full log:** [v1.1.2.0...HEAD](https://github.com/mpaperno/WASimCommander/compare/1.1.2.0...next)
8390

8491
---
8592
## 1.1.2.0 (23-Feb-2023)

README.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ to _SimConnect_ for basic functionality like reading/setting Simulation Variable
2828

2929
One of the motivations for this project was seeing multiple MSFS tool authors and casual hackers creating their own WASM modules and protocols just to support their
3030
own product or need. There is nothing wrong with this, of course, but for the Sim user it can be a disadvantage on several levels. They may end up running
31-
multiple versions of modules which all do eseentially the same thing, and it may be confusing which WASM module they need to support which tool,
31+
multiple versions of modules which all do essentially the same thing, and it may be confusing which WASM module they need to support which tool,
3232
just to name two obvious issues. For the developer, programming the WASM modules comes with its own quirks, too, not to mention the time involved.
3333
And regardless of the supposed isolated environment a WASM module is supposed to run in, it's still very easy to take down the whole Simulator with
3434
some errant code... ;-)
@@ -61,15 +61,15 @@ On a more practical note, I am using it with the [MSFS Touch Portal Plugin](http
6161
- Any calculator code saved in subscriptions is **pre-compiled to a more efficient byte code** representation before being passed to the respective calculator
6262
functions. This significantly improves performance for recurring calculations.
6363
- **Register Named Events**:
64-
- Save recurring "set events," like activiating controls using calculator code, for more efficient and simpler re-use.
64+
- Save recurring "set events," like activating controls using calculator code, for more efficient and simpler re-use.
6565
Saved calculator code is pre-compiled to a more efficient byte code representation before being passed to the calculator function.
6666
This significantly improves performance for recurring events.
6767
- Registered events can be executed "natively" via _WASim API_ by simply sending a short command with the saved event ID.
6868
- Saved events can also be named and executed via standard SimConnect commands `SimConnect_MapClientEventToSimEvent(id, "event_name")` and `SimConnect_TransmitClientEvent(id)`.
6969
- Event names can be completely custom (including a `.` (period) as per SimConnect convention), or derive from the connected Client's name (to ensure uniqueness).
7070
- **Send Simulator "Key Events"** directly by ID or name (instead of going through the SimConnect mapping process or executing calculator code). Much more efficient than the other methods.
7171
- **New in v1.1.0:** Send Key Events with up to 5 values (like the new `SimConnect_TransmitClientEvent_EX1()`).
72-
- **Remote Logging**: Log messages (errors, warnings, debug, etc) can optionally be sent to the Client, with specific minimum level (eg. only warnings and errros).
72+
- **Remote Logging**: Log messages (errors, warnings, debug, etc) can optionally be sent to the Client, with specific minimum level (eg. only warnings and errors).
7373
- **Ping** the Server to check that the WASM module is installed and running before trying to connect or use its features.
7474

7575
#### Core Components
@@ -78,9 +78,9 @@ On a more practical note, I am using it with the [MSFS Touch Portal Plugin](http
7878
- Well-defined message API for communication between Server module and any client implementation.
7979
- Uses standard SimConnect messages for the base network "transport" layer.
8080
- All data allocations are on client side, so SimConnect limits in WASM module are bypassed (can in theory support unlimited clients).
81-
- No wasted data allocations, each data/variable subscription is stored independently avoiding complications with offets or data overflows.
81+
- No wasted data allocations, each data/variable subscription is stored independently avoiding complications with offsets or data overflows.
8282
- Minimum possible impact on MSFS in terms of memory and CPU usage; practically zero effect for Sim user when no clients are connected (Server is idle).
83-
- Server periodically checks that a client is still connected by sending "hearbeat" ping requests and enforcing a timeout if no response is received.
83+
- Server periodically checks that a client is still connected by sending "heartbeat" ping requests and enforcing a timeout if no response is received.
8484
- Extensive logging at configurable levels (debug/info/warning/etc) to multiple destinations (file/console/remote) for both Server and Client.
8585
- Uses an efficient **lazy logging** implementation which doesn't evaluate any arguments if the log message will be discarded anyway
8686
(eg. a DEBUG level message when minimum logging level is INFO).
@@ -103,7 +103,7 @@ On a more practical note, I am using it with the [MSFS Touch Portal Plugin](http
103103

104104

105105
-------------
106-
### Downloads
106+
### Downloads and Updates
107107

108108
Over in the [Releases](https://github.com/mpaperno/WASimCommander/releases) there are 3 packages provided. (The actual file names have version numbers appended.)
109109
- `WASimCommander_SDK` - All header files, pre-built static and dynamic libs, packaged WASM module, pre-build GUI, reference documentation, and other tools/examples.
@@ -114,13 +114,15 @@ _Watch_ -> _Custom_ -> _Releases_ this repo (button at top) or subscribe to the
114114

115115
Update announcements are also posted on my Discord server's [WASimCommander release announcement channel](https://discord.gg/StbmZ2ZgsF).
116116

117+
The SDK and updates are [published on Flightsim.to](https://flightsim.to/file/36474/wasimcommander) where one could "subscribe" to release notifications (account required).
118+
117119
-------------
118120
### Documentation & Examples
119121

120122
There are three basic console-style tests/examples included for `C++`, `C#`, and `Python` in the [src/Testing](https://github.com/mpaperno/WASimCommander/tree/main/src/Testing) folder.
121123
If you like reading code, this is the place to start.
122124

123-
API docuemntation generated from source comments is published here: https://wasimcommander.max.paperno.us/ <br/>
125+
API documentation generated from source comments is published here: https://wasimcommander.max.paperno.us/ <br/>
124126
A good place to start with the docs is probably the [`WASimClient`](https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html) page.
125127

126128
The GUI is written in C++ (using Qt library for UI), and while not the simplest example, _is_ a full implementation of almost all the available
@@ -144,7 +146,7 @@ The module also logs to a file, though it's a bit tricky to find. On my edition
144146
`D:\WpSystem\S-1-5-21-611220451-769921231-644967174-1000\AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalState\packages\wasimcommander-module\work`
145147

146148
To enable more verbose logging on the module at startup, edit the `server_conf.ini` file which is found in the module's install folder
147-
(`Comunity\wasimcommander-module\modules`). There are comments in there indicating the options.
149+
(`Community\wasimcommander-module\modules`). There are comments in there indicating the options.
148150

149151
Keep in mind that the server logging level can also be changed remotely at runtime, but
150152
of course that only works if you can establish a connection to the module in the first place.

0 commit comments

Comments
 (0)