From f950111be1e3171bf591e8e4f018518cd8530caf Mon Sep 17 00:00:00 2001 From: Randy T <47700786+rthom91@users.noreply.github.com> Date: Thu, 7 May 2026 21:49:11 -0400 Subject: [PATCH 1/5] 0.24.5 DLL --- SimConnect.dll | Bin 67072 -> 67072 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/SimConnect.dll b/SimConnect.dll index 2aa284c02b3a18123fd0ae619d1bcd35334b254d..8f0fe287bf12976fd86e0b41ec827fb98367c862 100644 GIT binary patch delta 6981 zcmeI0Yj{-ExyRp`Ok#k*nLq#`K|&2T36w%aE`kZ+l4!6)62yY`WXKF8$4N3y28aku zu$05GfYA*W6)-&o%0aY|aI*(BRFI1x18U28sxneak(&{*MGJC%Yu1`H&6o4_d}yBM z&+ot9^{&0wW$!&}QM%-e=eG zk@kdW{^+(z%o*mjQ$u&{Lvn)ZL zIedSam10}iuJ(dR_P>ZUSufarW&5--$DTgQHmGsdm_N+5-PSnn^?PnhJlIntZ{^q~ zYtf#p#Funob>ka*CdY?d-|1V7H!LxX-FU6T7PX5F%M1$)M;h)hOfb9wPOZ7}3{r-68Ti3R?T#zo+kB6Ae!m8I&iY%gp!LL}`gxy^i

=Y#P3>5RhAlZnP4N1~Gnv1eKN zAKaH*KtMe?;qQrjg9@w{K1j6{SUW#BK6t`8Q@2Z`?{40kXgNXT8am6%7EF?Gtj>D< z!za65QyI~T=^%aPi{v1&az5&E|LuR)*HV#bC{}LCiq<=#3oFHmQa_J;@}gJdB7ZM8 zZuqF1-PZ8)AJ}YNtn@>U_F>+t>nQ!gvwgZ*u0sy1`S%O$Wf!bf2fK~Z6c`MZv>knfzC<0q;5|e$(K7T3I)W~vcwX^- zXgXSmUP8OjDfBsVe#u&(0`xd~7HvgGPy~I8oL5B#UX_sKVM@`HXdP-o=aBO&k^U$L z%|tb5IogEwp-+)qqa$cC@}Zxh*U)?D3)Jyzk-_Kz9ScQsza{uE!J1Zy@7ioqPwY^u*ePPoD%R@vHG|*AX4UCdu?fU#iPf}si zdFAXX*<=m6bWiW8_CoKRTwhhS_W|z{vP6}B==WAqm{^k|tE?rL`uyvwc2`w(aEiCO z+C9gc!Z-YO0|AN?$^#@<1)d;&(&VX*T~9^6Fq7 zSyJD4@oHC_<%~<;el5`+N{sMjPZpVqJnVr>;0Gv!cmxjb!sZm84R<4z)3PVVx85(S zee}KEL_Q?0I0>D{D^5n&@h!^sphIHMa z33l$I4=d^Lx9kFiU17_P5U+NIi5cYJ6+59IUNHqN#izs7eGwbidiXI?TkQx;3-!|l z7ktY2I{1b0PWH9Yz3o}eQU^Qj72U@$HF(9*=o&s7-b88yaxY)5v3g`JCluo9N zAX<)BT#7d06`w(S@J;a8cm_a+!sA11U2}OVnZ^j5Iziv81l}-SCW;iI{WNHOXlZ?* zQ3suMsDvEFCKSXg9z;v=VK{j*gW_H;=ttW^5p9-G*nzKuzc9W5?lV3NV@FFxM?M!M zU$G}Ti&yM}uHhB?o4Dd&6CVl#NZm`FkV4TT5V3d^m}p zVbxI=>|CLrv-A+=0#Y|?hNt)yRXzeo`1NSAVaLaH+zET|%e;=+N{0ihwI2%ao~uWh z4Li-#v*m96L6KqUXr@=0wWqTc1PKd2}VpB(AsyW#bk93%T%$4X6aK z7)CXC#Va*>s+(cl0yFJ!#gn?Dbx-pCCoR$iCmg?6dly{I(nKE?xV%=6z79URM31Zl zI)1_#gPCx`PmucRMc`LU_08m`9MG5PX&(xw{k!%huyDEZT)YG`_&;>xq41{h@-#=( zpP5d;u`9LDhTB*1YsM&>;O1xaMH}GOXLU{kJZ{k$Iv0k2T&+9gUnBC|^Lkn9;isXW z^S-L}hVQK9bvjQ2xc&v*p?X;HqV|3`_9gAJVaIjaJK^#5+(1n`d~t)Gt$JATvS|w+ zsyCyD)xXdk3e{pZ{3j0{jqBltU+ScKcxt2e5qM~mzGxV}xY^tQF8`HT8n|GK&aZ`2 zx9V5A1YUZDZv->Z4BNk|XUGY!zsmZnr(IqX$^SL$NRkWYHy95`ysmvVoUvUuE`fQC z`o=EUd53wO;2Gna;hQ`4=$qi-UHVOF`Hvay)ps}R|K4ss1QZlMLVmpBB~*)7{F{m2 zfFt+l*C`Kr(T)h;2>1@lWcecSJ2Vn6Z}8bh>h;Tnub_L0Z-Y0`ju4HN>HObxf{GNl z7S-Vu5AWr3j6Vw7y{SJenXmwDqir!vA}r6HAr=IExhx$Q6G{F z%wCj5?-V1tBFc8}=mu$U&VEKkP8r;Y)Sf^wV!Yy#cllu$&XfwR$aydSPb t6L{vr@bba?n1;`orbFy>k@AWK#w(T>ulPJl;zEkAq2k^AZ`*Ol{{np8qt^fc delta 6920 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 From a3c97a616b6950bc61ae0fbda76f727a8bf6b7b9 Mon Sep 17 00:00:00 2001 From: Randy T <47700786+rthom91@users.noreply.github.com> Date: Fri, 8 May 2026 00:28:12 -0400 Subject: [PATCH 2/5] Readme corrections --- Readme.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/Readme.md b/Readme.md index c960e92..90da561 100644 --- a/Readme.md +++ b/Readme.md @@ -2,12 +2,18 @@ # SimConnect Bindings for Rust -## Requirements +This crate provides Rust bindings to receive and send information through SimConnect, for Microsoft Flight Simulator (2020). -- [CLang](https://clang.llvm.org/get_started.html) (See the [Rust Bindgen Documentation](https://rust-lang.github.io/rust-bindgen/requirements.html)) -- MSVC x64 Rust build (`x86_64-pc-windows-msvc`, see [The rustup book](https://rust-lang.github.io/rustup/installation/windows.html)) +Documentation can be found at: [MSFS 2020 SDK](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm) -## Using +### Requirements + +- [Rust](https://rust-lang.org/learn/get-started) +- [LLVM/Clang](https://clang.llvm.org/get_started.html) + +See the [Rust Bindgen Documentation](https://rust-lang.github.io/rust-bindgen/introduction.html) + +### Using Add this to your `Cargo.toml` @@ -16,14 +22,16 @@ Add this to your `Cargo.toml` simconnect = "0.4" ``` -## Building +_You must have SimConnect.dll in the same directory as your executable._ + +### Building _The SimConnect binaries are included within this repository, but they may not be up-to-date._ -1. run `cargo build` -2. Add `use simconnect` at the top of your file +1. Run `cargo build` +2. Add import `use simconnect` at the top of your file -## Example +### Examples Read float position data @@ -31,14 +39,12 @@ Read float position data cargo run --example aircraft_updates ``` -Requests tagged data with thresholds from SimConnect and reads floats/strings +Requests tagged data with thresholds from SimConnect, and reads floats/strings ``` cargo run --example aircraft_updates_on_change ``` -_You must have SimConnect.dll in the same directory as the compiled exe for it to run (e.g. in )_ - ### Remarks -I have not tested every single function from the api. If you find an error, feel free to make an issue or a pull request. +I have not tested every function of the API. If you find an error, feel free to make an issue or pull request. From 2b510fcafb32768c731fa190ff3eac9e33e235fe Mon Sep 17 00:00:00 2001 From: Randy T <47700786+rthom91@users.noreply.github.com> Date: Fri, 8 May 2026 00:49:17 -0400 Subject: [PATCH 3/5] Fix example typos --- examples/aircraft_updates/main.rs | 8 ++++---- examples/aircraft_updates_on_change/main.rs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/aircraft_updates/main.rs b/examples/aircraft_updates/main.rs index 5e6eedf..44ae0ce 100644 --- a/examples/aircraft_updates/main.rs +++ b/examples/aircraft_updates/main.rs @@ -1,6 +1,5 @@ use std::thread::sleep; use std::time::Duration; - use simconnect::DispatchResult; struct DataStruct { @@ -8,9 +7,10 @@ struct DataStruct { lon: f64, alt: f64, } + fn main() { let mut conn = simconnect::SimConnector::new(); - conn.connect("Simple Program"); // Intialize connection with SimConnect + conn.connect("Simple Program"); // Initialize connection with SimConnect conn.add_data_definition( 0, "PLANE LATITUDE", @@ -34,7 +34,7 @@ fn main() { simconnect::SIMCONNECT_DATATYPE_SIMCONNECT_DATATYPE_FLOAT64, u32::MAX, 1.0, - ); //define_id, units, data_type, datum_id, epsilon (update threshold) + ); // define_id, units, data_type, datum_id, epsilon (update threshold) conn.request_data_on_sim_object( 0, 0, @@ -44,7 +44,7 @@ fn main() { 0, 0, 0, - ); //request_id, define_id, object_id (user), period, falgs, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft + ); // request_id, define_id, object_id (user), period, flags, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft loop { match conn.get_next_message() { diff --git a/examples/aircraft_updates_on_change/main.rs b/examples/aircraft_updates_on_change/main.rs index f4211a0..4e51592 100644 --- a/examples/aircraft_updates_on_change/main.rs +++ b/examples/aircraft_updates_on_change/main.rs @@ -1,9 +1,9 @@ -use simconnect::{DispatchResult, DWORD}; use std::ptr::read_unaligned; use std::thread::sleep; use std::time::Duration; +use simconnect::{DispatchResult, DWORD}; -// To allign the memory we have to set a fixed max size to the returned variables from the game +// To align the memory we have to set a fixed max size to the returned variables from the game const MAX_RETURNED_ITEMS: usize = 255; // Rust will add padding to the inner parts of a struct if it isn't marked as packed @@ -54,7 +54,7 @@ fn main() { simconnect::SIMCONNECT_DATATYPE_SIMCONNECT_DATATYPE_FLOAT64, 3, 100.0, - ); //define_id, units, data_type, datum_id, epsilon (update threshold) + ); // define_id, units, data_type, datum_id, epsilon (update threshold) // Here we define all our variabes that get returned as Strings // Notice how the define_id differs from the float values @@ -82,7 +82,7 @@ fn main() { 0, 0, 0, - ); //request_id, define_id, object_id (user), period, falgs, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft + ); // request_id, define_id, object_id (user), period, flags, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft // Request the data from our define_id 1 (strings) // The request_id has to differ from the float request. Or else it will overwrite the previous request conn.request_data_on_sim_object( @@ -95,7 +95,7 @@ fn main() { 0, 0, 0, - ); //request_id, define_id, object_id (user), period, falgs, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft + ); // request_id, define_id, object_id (user), period, flags, origin, interval, limit - tells simconnect to send data for the defined id and on the user aircraft loop { match conn.get_next_message() { From 93c4cd5d02cf042164ec2cb937930bb1d8a5df0a Mon Sep 17 00:00:00 2001 From: Randy T <47700786+rthom91@users.noreply.github.com> Date: Fri, 8 May 2026 00:55:50 -0400 Subject: [PATCH 4/5] tweaks --- Readme.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Readme.md b/Readme.md index 90da561..24ee76b 100644 --- a/Readme.md +++ b/Readme.md @@ -2,18 +2,20 @@ # SimConnect Bindings for Rust -This crate provides Rust bindings to receive and send information through SimConnect, for Microsoft Flight Simulator (2020). +This crate provides Rust bindings to send/receive information through SimConnect, for Microsoft Flight Simulator (2020). Documentation can be found at: [MSFS 2020 SDK](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm) -### Requirements + +## Requirements - [Rust](https://rust-lang.org/learn/get-started) - [LLVM/Clang](https://clang.llvm.org/get_started.html) See the [Rust Bindgen Documentation](https://rust-lang.github.io/rust-bindgen/introduction.html) -### Using + +## Using Add this to your `Cargo.toml` @@ -24,14 +26,16 @@ simconnect = "0.4" _You must have SimConnect.dll in the same directory as your executable._ -### Building + +## Building _The SimConnect binaries are included within this repository, but they may not be up-to-date._ 1. Run `cargo build` 2. Add import `use simconnect` at the top of your file -### Examples + +## Examples Read float position data @@ -45,6 +49,7 @@ Requests tagged data with thresholds from SimConnect, and reads floats/strings cargo run --example aircraft_updates_on_change ``` -### Remarks + +## Remarks I have not tested every function of the API. If you find an error, feel free to make an issue or pull request. From cc1e481138b86936372f5f007b56018fb0aedbe7 Mon Sep 17 00:00:00 2001 From: Randy T <47700786+rthom91@users.noreply.github.com> Date: Fri, 8 May 2026 01:00:54 -0400 Subject: [PATCH 5/5] Shorten about --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 24ee76b..70d97c7 100644 --- a/Readme.md +++ b/Readme.md @@ -2,7 +2,7 @@ # SimConnect Bindings for Rust -This crate provides Rust bindings to send/receive information through SimConnect, for Microsoft Flight Simulator (2020). +Send and receive information through SimConnect, for Microsoft Flight Simulator (2020). Documentation can be found at: [MSFS 2020 SDK](https://docs.flightsimulator.com/html/Programming_Tools/SimConnect/SimConnect_SDK.htm)