Jump to content
The simFlight Network Forums

Leaderboard

Popular Content

Showing content with the highest reputation since 08/14/2024 in Posts

  1. There's no copyright claim on the original script, so I've uploaded my version of it here... Original file courtesy of Manolo Velez. You'll need to open this in the SIOC utility. Open SIOC.exe Choose "Edit Script" Files -> Import TXT (and select this attached file) Save As... (it'll compile as an .ssi file) Once compiled you may need to click the "Reload" button in the man SIOC utility window. All done! (hopefully) I'm a novice when it comes to this stuff, so I'm afraid I can offer no support. (See latest version below...)
    2 points
  2. Hi @jonas_llubi, @Abt. I share you frustration with this. In fact, I spent the last 6 hours vibe coding an AI-assisted solution for a SIOC script that correctly handles the COM1/2 active/standby frequencies for both 25kHz and 8.33kHz frequencies. I also changed the logic so that it truly does work as a slave device, in that if MSFS changes the frequency itself (or another app like BATC etc does) then the updated frequency will appear in the panel, and it won't keep overriding MSFS. Limitations: It's really nasty code, made with the assistance of AI. Works with MSFS2020, but not yet tested for MSFS 2024. The SIOC script also doesn't appear to work for the Nav radios. I based it off the originally provided SIOC scripts from opencockpits (I'm not sure if I can share it openly with you, but there is no copyright notice on the original), and that original script doesn't work for Nav radios in MSFS2020 either. For me, the COM 1/2 radios were much more important. I can revisit the NAV modes later perhaps. In testing, the display does sometimes go black, and the panel appears to fail. To fix it, you have to just press the "Reload" button in the SIOC utility. I changed the logic so that it always initialises with the active COM1/2 frequencies from MSFS so that it doesn't reset anything if you have to restart multiple times in the middle of a flight. I hope it works as a stop-gap until something better comes along though! Edit: The NAV VOR and ADF radios don't work, but the ILS mode frequency and course values do work! If you're interested, let me know and I can send the script to you privately. Linguini
    2 points
  3. Urgent Fix / Update Some Things slipped through, sorry for the Inconvenience! Version 0.8.9 - Fixed Lua Scripts not properly stopped/started (and therefor not working) - Fixed InputEvents.txt (detected B-Vars) not being created - Fixed Version-Check not notifying about new Dev-Builds
    2 points
  4. A brief note to thank your and Pete for your wonderful FSUIPC product. I've been using it for about 20 years and have found it superior for controlling my aged CH products. They are still working in spite of their aging POTS while FSUIPC irons out the bumps and jerks of the old systems. Keep up the good work! Jim Driskell
    2 points
  5. This really shouldn't happen... I have realized that I made a mistake with the 7.4.18 release...I have been testing the SDK for MSFS2024 and accidentally built the final release of 7.4.18 with the SDK from this version, instead of the version for MSFS2020. Sorry about that - I have corrected this now and have updated the installers with this correct build. Could you therefore please re-download and try again. if you get the same issue, please show me / attach your FSUIPC7.log file. Note that I have kept the version number the same, at 7.4.18, but the build date has been updated to 3rd November, so please check thar you are using this version (you may need to clear your browser cache to download this version. I have also attached this version below, but you should really re-install as the WASM has also been rebuilt. You can prevent this by setting the following ini parameter under the [General] section of your FSUIPC7.ini file: OpenOnStart=Never John
    2 points
  6. Note that you can see available lvars by listing them (Add-ons=>WASM->List Lvars) - no need to use the MSFS behaviors dialog, except as a last resort (i.e. usually to discover b-vars or h-vars). No problem about the incorrect lvar name - these things happen...! Now you have the correct name, you should check if setting that directly works to control the switch. If so, the assignments can be simplified as you don't need the compound condition on the position of your switches, and you only need to send the one one command to change the lvar two positions instead of three (e.g. switch up, pause, switch up). Anyway, you should try and understand those assignments and try to assign yourself the next time you want to make a conditional assignment. I will help if you run into problems, but you should have enough info in this thread to make a start. Regards, John
    1 point
  7. I don't know - I don't have this aircraft. Have you tried it? Use the Add-ons->WASM->Execute Calculator Code menu option, and try sending each of the following: 30 (>L:VC_Miscellaneous_trigger_VAL, number) 31 (>L:VC_Miscellaneous_trigger_VAL, number) to see if those move the switch. They should work, as that lvar controls the dome switch (with parameters 38 and 39). Also try the following: 10 (>L:VC_POSITION_LIGHT_SW, number) 0 (>L:VC_POSITION_LIGHT_SW, number) 20 (>L:VC_POSITION_LIGHT_SW, number) to see if those move the switch. If they work, we can simplify the assignments. If you still have issues, please activate WAPI Debug level logging (Log -> WAPI -> Debug) and logging for Buttons & Keys, and show me / attach your FSUIPC7.ini file and FSUIPC7.log file, the latter showing you using the assigned buttons. And always exit FSUIPC before attaching files please. John
    1 point
  8. Ok, then we have: Nav switch Down, Strobe Switch Down: VC_POSITION_LIGHT_SW = 20 (NAV lights steady, strobes OFF) Move nav switch up: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Move strobe switch up: VC_POSITION_LIGHT_SW = 0 (NAV and strobe lights ON) Nav switch Down, Strobe Switch Up: VC_POSITION_LIGHT_SW = 0 (NAV and strobe lights ON) Move Nav switch up: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Move strobe switch down: VC_POSITION_LIGHT_SW = 20 (NAV lights steady, strobes OFF) Nav switch Up, Strobe switch down: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Move Nav switch down: VC_POSITION_LIGHT_SW = 20 (NAV lights steady, strobes OFF) Move strobe switch up: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Nav switch up, strobe switch up: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Move nav switch down: VC_POSITION_LIGHT_SW = 0 (NAV and strobe lights ON) Move strobe switch down: VC_POSITION_LIGHT_SW = 10 (NAV and strobe lights OFF) Re-arrange these by switch movement: Button 26 (nav switch up): set VC_POSITION_LIGHT_SW = 10 when VC_POSITION_LIGHT_SW = 20 set VC_POSITION_LIGHT_SW = 10 when VC_POSITION_LIGHT_SW = 0 Button 27 (nav switch down) set VC_POSITION_LIGHT_SW = 20 when VC_POSITION_LIGHT_SW = 10 & strobe switch down set VC_POSITION_LIGHT_SW = 0 when VC_POSITION_LIGHT_SW = 10 & & strobe switch up Button 28 (strobe switch up) set VC_POSITION_LIGHT_SW = 0 when VC_POSITION_LIGHT_SW = 20 set VC_POSITION_LIGHT_SW = 10 when VC_POSITION_LIGHT_SW = 10 (i.e. no change) Button 29 (strobe switch down): set VC_POSITION_LIGHT_SW = 20 when VC_POSITION_LIGHT_SW = 0 set VC_POSITION_LIGHT_SW = 10 when VC_POSITION_LIGHT_SW = 10 (i.e. no change) Note that button 27 is the only state change that needs a dependency on the state of another button as the VC_POSITION_LIGHT_SW value condition is the same. The next thing to determine if you can write to the lvar VC_POSITION_LIGHT_SW ti change the position? If so, this makes things easier, as you can then just write to the offset holding the lvar to change the position. But, as you said you need to use VC_Miscellaneous_trigger_VAL (with 30 for up and 31 for down) we will use that, So, define 4 presets (in your myEvents.txt file): //iFly/737-Max8/Lights Nav_Strobe_Switch_Up#30 (>L:VC_Miscellaneous_trigger_VAL,number) Nav_Strobe_Switch_Down#31 (>L:VC_Miscellaneous_trigger_VAL,number) Nav_Strobe_Switch_Up_Two#30 (>L:VC_Miscellaneous_trigger_VAL,number) 30 (>L:VC_Miscellaneous_trigger_VAL,number) Nav_Strobe_Switch_Down_Two#31 (>L:VC_Miscellaneous_trigger_VAL,number) 31 (>L:VC_Miscellaneous_trigger_VAL,number) I am not 100% sure about the _Up_Two and _Down_Two presets: we need to move the switch two positions for some assignments, but setting the same value to an lvar twice in the same calculator code string may not allow this. If not there are a few other things to try (see below). Now we can define our assignments: For Button 26, send switch-up when when VC_POSITION_LIGHT_SW = 20, and switch down when VC_POSITION_LIGHT_SW = 0 to send a switch up, using B as your Bravo device letter and starting the indices from 1 will give the following assignment entry: 1=PB,26,CPNav_Strobe_Switch_Up,0 -{Preset Control}- then add the offset condition on the value of VC_POSITION_LIGHT_SW held in offset 0xA002 1=BA002=20 PB,26,CPNav_Strobe_Switch_Up,0 -{Preset Control}- Next, we can duplicate that, change the index number, the preset and the offset condition for the switch down when VC_POSITION_LIGHT_SW = 0: 2=BA002=0 PB,26,CPNav_Strobe_Switch_Down,0 -{Preset Control}- Doing this for each button 27, we get: 3=BA002=10 PB,27,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 4=BA002=10 PB,27,CPNav_Strobe_Switch_Up,0 -{Preset Control}- and then we need to add the additional condition on the strobe switch position (buttons 28 and 29): 3=BA002=10 CP(+B, 29)B,27,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 4=BA002=10 CP(+B, 28)B,27,CPNav_Strobe_Switch_Up,0 -{Preset Control}- Doing this for all buttons, we end up with: 1=BA002=20 PB,26,CPNav_Strobe_Switch_Up,0 -{Preset Control} 2=BA002=0 PB,26,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 3=BA002=10 CP(+B, 29)B,27,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 4=BA002=10 CP(+B, 28)B,27,CPNav_Strobe_Switch_Up,0 -{Preset Control}- 5=BA002=20 PB,28,CPNav_Strobe_Switch_Up_Two,0 -{Preset Control} 6=BA002=0 PB,29,CPNav_Strobe_Switch_Down_Two,0 -{Preset Control}- So try that - just paste those entries into your profile buttons section, and change the joystick letter to the one you are using (also in the compound condition) and also make sure the index numbers are unique in your section. If the presets to move two positions don't work, you could try the following instead: 1=BA002=20 PB,26,CPNav_Strobe_Switch_Up,0 -{Preset Control} 2=BA002=0 PB,26,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 3=BA002=10 CP(+B, 29)B,27,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 4=BA002=10 CP(+B, 28)B,27,CPNav_Strobe_Switch_Up,0 -{Preset Control}- 5=BA002=20 PB,28,CPNav_Strobe_Switch_Up,0 -{Preset Control} 6=BA002=20 PB,28,C1152,5 -{pause (ms)}- 7=BA002=20 PB,28,CPNav_Strobe_Switch_Up,0 -{Preset Control} 8=BA002=0 PB,29,CPNav_Strobe_Switch_Down,0 -{Preset Control}- 9=BA002=0 PB,29,C1152,5 -{pause (ms)}- 10=BA002=0 PB,29,CPNav_Strobe_Switch_Down,0 -{Preset Control}- Here we are sending he preset twice, with a short pause between each one. The trick here is to get the pause large enough so that both presets are executed, but small enough so that the update of the lvar has not been received yet to update the value in the offset condition on 0xA002. I have used 5ms - you can use logging to determine if this needs to be increased or decreased (probably increased if anything - try 10ms next and so on). Give those a try and let me know if either works as expected. John
    1 point
  9. Yes, I understood. Just trying to point out that when using two switches, one for each light, its never going to work in the same way as one 3-position switch to control the lights. The honeycomb light switches are designed for on/off of each of the lights, so however you implement this is going to be a fudge, but maybe ne that you can live with. And no need for the pictures either... Yes, that's fine. No, but you can assign to a preset and then make that assignment conditional on an offset value. Or just also add the lvar VC_Miscellaneous_trigger_VAL to an offset, and just use assignments with offset conditions, as I advised. If you can just tell me what you want the switch position to be in the UP/UP state I can show you how to do this - its easier to do it this way than in lua.
    1 point
  10. Not doing too bad, thanks. And yes, I try to remain hopeful, but seems to get harder by the day...!
    1 point
  11. Thanks John. Greets..Hope you are well..
    1 point
  12. FSUIPC7 7.5.3 and likely other external apps using SimConnect and crashing FS24 SU3 1.5.10.0 are solved in FS24 SU3 1.5.12.0 It was even mentioned in the release notes! For now I a happy simmer again.
    1 point
  13. I've never developed anything, but have used every sim since MSFS95 and a whole bunch of add ons, apps, mods etc. I also own the Aviator Edition. I've done a little more testing. All at YSSY Flytampa to stay consistent. I tried the new A359 ULR from Inibuilds and I re tried the A333. Both loaded in fine if I closed GSX before attempting anything. Volenta - no crash, no tracking without FSUICP Navigraph hub/simlink - no crash A Pilots Life 2 - Opens but doesn't speak to the sim as it requires FSUICP BeyondATC - The app opened, but couldn't find a connection to the PC GSX - If allowed to auto start, causes CTD when attempting to start a flight. If GSX closed prior to starting a flight and then manually opened, GSX won't open Active Sky - CTD Simapp pro (winwing) - works, no crash I then did the same with the Cessna Skycourier. When I attempted to open BeyondATC, it attempted to load into the flight and then CTD. All I'm saying is, if CTDs are still happening, even after FSUICP is removed, I think we can rule it out and more then likely Simconnect is the issue.
    1 point
  14. No problem - permission granted (well, not even needed really!). You could also add it to the User Contribution section if you like, and/or I could include it in the FSUIPC SDK download. Let me know. Regards, John
    1 point
  15. Thank you, I moved FSUIPC to starting first, and changed the MaxClients to 128. Now Everything is working well.
    1 point
  16. I've been struggling with this BlackSquare mixture thing for ages. Today, thanks to this thread, I've cracked it! As John said earlier, "Why not? Have you tried? It is incredibly easy and explained well:' I've used FSUIPC since forever and I maintain that it's like brain surgery, Easy when you know how. 🤣
    1 point
  17. I am not sure how to embed a pause/wait in a calculator code string and that sleep syntax is not familiar to me. There are a couple of other ways you could do this: 1. Use lua instead, e.g. ipc.execCalcCode("23 (>L:VC_Miscellaneous_trigger_VAL, number)") ipc.sleep(100) ipc.execCalcCode("25 (>L:VC_Miscellaneous_trigger_VAL, number)") 2.Define two separate presets: IFLY_RWY_ONa#23 (>L:VC_Miscellaneous_trigger_VAL, number) IFLY_RWY_ONb#25 (>L:VC_Miscellaneous_trigger_VAL, number) and then create a macro to call the first one, then pause (using the FSUIPC-added pause control), then call the second preset. You can also overload the assignments instead of using a macro if you prefer.
    1 point
  18. Thanks, John, that has worked perfectly. I don't know why my system thought I had the Steam version installed, I have never purchased or installed MSFS 2024 on Steam, only from the Xbox store. Anyway, followed your steps, and FSUIPC is now starting automatically with the sim. Thanks so much for taking the time to resolve this for me, and thanks again for a great product.
    1 point
  19. First, to understand profiles you should read the section User profiles for all control settings, on page 22 of the FSUIPC7 User manual/guide. Profiles are enabled automatically. Having profiles in separate files is generally only used if you have many profiles and these are quite large, as it separates them into different files. You do not have to use this feature when using profiles if you don't want to, but if you have already switched to profiles-in-separate files then thats ok. The changes you made will only be saved in the profile (and in the profile-specific file) if you clicked the profile-specific checkbox (in the assignments panel) when adding the assignment, and when you have added the currently loaded aircraft to a profile (or have created a new profile for the aircraft). Check your FSUIPC7.ini - they will have been added there to the general sections if you did not specify profile-specific. Note that when you create a new profile for an aircraft, or add an aircraft to an existing profile, it is a good idea to shorten the aircraft name (listed under the [Profile.xxx] section of your FSUIPC7.ini file) to a substring that matches all variants of that aircraft. This will prevent issues with the profile not being loaded when you use a new variant. Alternatively, you can set the UseAirLocForProfiles in parameter to Yes to perform matching on the aircraft folder name instead, but if you want to use this then do it now before adding the aircraft name/title to the profile. Again, see that section in the User manual for more details. John
    1 point
  20. Thank you for this... The above "Pause" control (c1152) idea was a perfect solution to operate multiple switches in the PMDG 737's and 777's in both MSFS2020 & 2024. I was experiencing the same symptom where only the last sequential switch in a group would operate. Adding the pause control allows all sequential switches to work as expected. Regards,
    1 point
  21. New Version for the Plugin (only): v0.8.8 - Plugin - Version Reporting: The Version now also includes its Buildtime to help differentiating between Development-Builds - Rewrite of the MSFS Connector: Almost everything is now done natively through SimConnect, the MobiFlight Module is now only required for Calculator Code! - KVAR Command Syntax Change: KVAR Commands can be either a Sequence with each KVAR having exactly one (!) required Parameter -OR- can be exactly one KVAR with 0 to 5 Parameters! - KVAR as Variable: K-Vars or SimEvents can be used as Variable. The initial Value will always be 0 and only change if the Event is ever received (and only reflects the first Index) - Support for FSUIPC Byte Arrays: The Offset Variable now Supports reading a whole Offset Range as Byte Array (Contributed by ngreatorex) - e.g. reading the whole PMDG CDU Offset Range at once. Note that they are only intended to be used in Lua Scripts! - The AVAR Variable Syntax now also supports the Prefixes 'E:' and 'L:' to read Environment and Local Variables (aka L-Vars) - Lua Scripts: the 'SimCommand' Function does not support vJoy Commands anymore. Use the new dedicated 'JoystickCommand' Function which allows sending separate down/up Commands. - Fixed: B-Var Commands not working after switching a Session - FSUIPC Connector (FSX/P3D/MSFS) now allows Commands to be sent when the Simulator is paused - MSFS Connector now allows Commands to be sent when the Simulator is paused - XP Connector now allows Commands to be sent when the Simulator is paused - Visual Overhaul of the Action Designer UI: Elements and Commands now have separate & collapsable Trees and their Appearance was overhauled - Action Designer UI: Copy & Paste now also supports a whole List of Items - i.e. Copying all Manipulators from one Element to another. - Action Designer UI: Added Increment/Decrement Buttons for some Text Fields - Gauge Element (Composite Action): A Range of Markers is now saved as such and the whole Ranged can be edited/changed at once (only for new Marker Ranges). The Syntax for a Marker Range is now '$start:end:step'. - Added an "REST-ish" API to the Plugin to get/set Variables and even send Commands (only understands GET, zero JSON, everything encoded in the URL ). This is mainly intended for Testing and other Edge-Cases, it is not intended as a Replacement for Middleware as FSUIPC or SPAD! - Added Support for X-Plane's WebAPI (12.1.4+) - disabled by default due to an open XP Bug (XPD-16752) 😕 - X-Plane Commands now have an "Command Once" Option (enabled by default) to configure if a Command is send as one Command or different active/release Commands (only relevant when WebAPI is enabled) - The Version Check now also reports if a new Development Build is available - Logging for Errors/Exceptions in Lua-Scripts is bit more detailed now - Updated Libraries / Dependencies - Fixed Event Log Error on Shutdown - Profile Manager - Improved Checking if a Profile was installed during Package Installation. All Profiles in a Package must be either installed or ignored for the Installation to continue! - Now offers to start the StreamDeck Software again if it was closed by the Profile Mapping View - New 'Create Package' View to assist with creating & updating Packages for Distribution - Installer - Rewrite of the Installer to have a shared Code-Base across all Tools - The Installer now shows the current installed Versions (on future Installs / Updates) - The Installer now offers Options for Install & Update (i.e. if FSUIPC7 is used as secondary Connector or if the vJoy-Driver should be checked) - Improved Logging for the Installer
    1 point
  22. There are various WASM ini parameters that control scanning for new lvars, but this should only be done in the fist few minutes after aircraft load, as that is generally when all useful lvars will be created. If any lvars are created after this period, then you will need to request a WASM reload (via lua, the provided control or the Add-ons->WASM menu->Reload WASM item) for them to be known by FSUIPC. However if the lvars are specifically created by FSUIPC, either via using lua ipc.createLvar or via offset 0x0D70), then the new lvars will automatically be pushed out to all WASM clients (including FSUIPC) and so no reload is necessary, although a short delay will still be needed before the lvar becomes available. This does not apply if the lvar is created in an ad-hoc manner via executing calculator code as you are doing (although there is nothing wrong doing it this way). Just FYI. Cheers, John
    1 point
  23. I tested 7.5.4a as provided above. Confirm that the enter key work in both 2020 and 2024
    1 point
  24. You can start MSFS via steam or however you like. The default auto-start is via the EXE.xml file, although you can select to auto-start via the bat file. By default, the desktop icon(s) installed by the installer just show a splash crean and call steam to start MSFS. If you are using the EXE.xml auto-start and dont want to use the installed desktop icon to start MSFS, you can opt not to have this installed by unchecking the checkbox at the end of the installation process. John
    1 point
  25. John, thank you. I modified the FSUIPC.ini file to add the CONNECTED (Spad.next) and READY (Vpilot) on the RUN instructions, and to adjust the DetectToConnectDelayAuto as per the link you provided (the value now set for me is 86). Now everything is working well. Thanks a lot for your help Ezio
    1 point
  26. Cheers Paul! That is a very welcome update!
    1 point
  27. Well then that needs to be looked into and fixed. Is the 'Exit with FS' active/checked? If so, and FSUIPC7 is not exiting cleanly when MSFS exits, can you please show the FSUIPC7.log file.
    1 point
  28. Version 3.3.16 of FSUIPCClientDLL is now on NuGet. When using FSUIPC7: Connection will now fail with FSUIPCError.FSUIPC_FS_NOT_READY if the flight sim (MSFS2020 or MSFS2024) is not running or is not ready Version 1.1.4 of the WebSocketServer is now on the website: http://fsuipcwebsockets.paulhenty.com Fixed problem of not detecting the Flight Sim version when using FSUIPC7 and the sim is still starting up. Paul
    1 point
  29. I've tried this here using the Key_Press_and_Hold control. It may not do what you're expecting. It doesn't repeat the key until you call the release command. So you don't get the action repeating. You can try it for yourself and see if it does what you're expecting... Just paste this into your code and call. sendKeyHoldToFS - holds the key for the specified HoldTime (in milliseconds) then releases it. sendKeyDownToFS - presses the key down but does not release it. snedKeyUpToFS - releases the key. private void sendKeyHoldToFS(Keys Key, SendModifierKeys Modifiers, int HoldTime) { // First make sure FSX has the focus SendControlToFS(FSUIPCControl.Key_focus_restore, 0); // Wait for focus change Thread.Sleep(150); // Send the key down SendControlToFS(FSUIPCControl.Key_Press_and_Hold, (int)Key + ((int)Modifiers * 256)); // Wait Thread.Sleep(HoldTime); // send the key up SendControlToFS(FSUIPCControl.Key_Release, (int)Key + ((int)Modifiers * 256)); } private void sendKeyDownToFS(Keys Key, SendModifierKeys Modifiers, int HoldTime) { // First make sure FSX has the focus SendControlToFS(FSUIPCControl.Key_focus_restore, 0); // Wait for focus change Thread.Sleep(150); // Send the key down SendControlToFS(FSUIPCControl.Key_Press_and_Hold, (int)Key + ((int)Modifiers * 256)); } private void sendKeyUpToFS(Keys Key, SendModifierKeys Modifiers, int HoldTime) { // First make sure FSX has the focus SendControlToFS(FSUIPCControl.Key_focus_restore, 0); // Wait for focus change Thread.Sleep(150); // Send the key down SendControlToFS(FSUIPCControl.Key_Release, (int)Key + ((int)Modifiers * 256)); } Paul
    1 point
  30. I have added the LIVERY NAME simvar to offset 0x2480 (128 bytes) in the attached version if you would like to try it. This offset will only b populated in MSFS2024 and not in MSFS2020. John FSUIPC7.exe
    1 point
  31. This is an MSFS issue and nothing to do with FSUIPC. You should use the MSFS/Asobo forums for this issue, not this FSUIPC forum. Sorry, but I can only help with FSUIPC issues, not MSFS issues. I will leave this post in case anyone else has any suggestions, but you are better off using the Asobo forums for such issues. I have also moved your post to the FSUIPC7 / MSFS forum as you posted in the main support forum. John
    1 point
  32. And for me the exported Profiles/Actions look the same as in your Setup - Nice! I think that is the Way going forward - even old (pre 0.8.0) Profiles imported stay pretty much the same now 😀 Thanks for your Help 👍
    1 point
  33. Sorry but can you please five your topics a more appropriate title... I will update it... 7.4.18 attached below - save and remove the .7418 extension... John FSUIPC7.exe.7418
    1 point
  34. Would have been helpful, can't replicate that: - Created a Simple Button Action (Control, 65798, no Toggle) on 0.7.12 - Installed 0.8.4 - Checked Action: Toggle still disabled So for the Moment I can just assume you had actually set a Toggle Switch unintentionally. And that a Setup of Toggle Switch enabled +no Alternate Command+ no Monitor Address + no Monitor Value/Comparison just behaved differently with a on pre-0.8.0 Versions 🤔
    1 point
  35. Hi John - thanks for the update and appreciate you spending the time looking at this.
    1 point
  36. While people in the MSFS forum are complaining about having to spend all that time setting up their controllers, once I got MSFS2024 running, I fired up CLS2Sim (for the Brunner yoke) and FSUIPC, acknowledged the "CrashIO" dialog (haven't seen that for a while), disabled the default layouts MSFS had picked for the devices it recognized, and went flying. I'm sure I'll find problems in time, but having working controls within a minute, that was, for me, the highlight of this launch day. ❤️ FSUIPC ❤️
    1 point
  37. The new ATIasHold program with a Image Gallery is here: https://www.intrasystem.it/ATIas/ATIasHold.html Raimund .
    1 point
  38. *Version-Bump* Plugin updated to Version 0.8.0 Major Plugin Overhaul - it is basically a new Plugin under the Hood! Please make an Export/Backup of your Profiles your created with PilotsDeck! The Intention is that existing Profiles just continue to run (with a bit smaller Fonts), but it is better to be safe than sorry Installer Improved UI Check & Installs all Requirements (either automatically or by starting the Setup for you) Check for the vJoy Driver now tests for the Brunner Version/Fork - which should work on both Win 10 & 11 Ability to remove the Plugin (including all Customizations!) New Profile Manager Application Enables easier Profile Installation in a few Clicks - extracts & copies the Files for you, assists with adding the Profiles to the StreamDeck, automatically removes old Profiles on Updates Own Package Format to distribute Profile Files, Images and (Plugin) Scripts as one File Allows much easier Profile Mapping to switch Profiles automatically depending on the Aircraft (or Sim) Profile Switching now only can switch back to specific Profiles when the Simulator exits These Profile Mappings will automatically be transferred to new Profiles on (Profile) Updates Plugin Property Inspector is now tabbed to allow easier Navigation Option to add a Guard (Image & Command) to an Action (Guard Images can also use Image Mappings) Added Image Mapping to more Actions Top and Bottom Image for the Korry Action can independently enabled/disabled Most Actions can now be used on an SD+ Encoder (except Simple Button and Gauge Dual) B-Var Support added - per default handled as Command-only but can also be used as a Variable Added dedicated Command Type for K-Var (allows to define a Sequence) HVAR Command supports passing a Value to the H-Var New Calculator ("C:") Variable to read the Result of Calculator/RPN Code (read only) Added Internal (X:) Variable to share Data within the Plugin Added Copy and Paste Buttons to all Actions to share single Actions between Users (or to copy between a Keypad and Encoder) Added a new "Composite Action" that gives you much Freedom to design your own Action (Display and Command wise) - most Feature Requests should be now possible with that Action (and can even replace Actions that would only be possible with Lua Scripts) This new Action is configured through its own dedicated "Action Designer" UI (opened via the Property Inspector) The Script now has its own Engine to run Lua Scripts (does not need external Engines like FSUIPC or FlyWithLua anymore) The Functions of these Lua Scripts can be directly addressed as a Variable or Command - like all other Variable/Command Types Multiple Script Types available to be run on-demand (Variable, Command) or constantly when the Session runs The Scripts can read all Variables and send all Commands the Plugin supports FSUIPC7 is now only the secondary Connector for MSFS - it is possible to use it without FSUIPC7 installed if needed! Remote X-Plane Setups are now supported Images can now be stored in Sub-Directories to better Organisation of different Packs and easier Navigation Image Drawing overhauled - Images are now drawed on top of each other (i.e. on the Dynamic Button) Added an Icon in the System Tray / Notification Area to restart the Plugin or show the Developer UI The Developer UI offers Links to some Reference Source to look up Variables or Commands and to access the Plugin's Folders easier The Developer UI has also a Monitor View to look up the current Aircraft-String/-Path or the Plugin's State, Ressources & Statistics Changed vJoy Driver Library to the Brunner Fork Plugin Configuration is now persistent between Updates and allows much more Tweaking Removed Error Image (and Error State) Sim Connection, State Handling Variable Handling completely overhauled Moved to .NET 8 (LTS) and upped minimum OS to Window 10
    1 point
  39. I experienced the exactly same problem when I had a new programmable keyboard that has rotary encoder, where inputs were very unreliable probably due to the too short interval between keydown and keyup events. After I added " UseKeyboardHook=Yes" to the ini file, FSUIPC works like a charm to capture the encoder input. Thanks!
    1 point
  40. Ok, thats good to know...and rather surprising! At least the installer needs to be updated to install the auto-start component. You could try manually adding the FSUIPC7 entry to the MSFS24 EXE.xml file, which should enable the auto-start. Did you try installing the FSUIPC WASM module into the MSFS2024 Community folder? Just copy from your MSFS2020 Community folder. This is needed for the functionality for presets, lvar & hvars. Well, they always have been, hence the need for presets... Anyway, I will review the MSFS2024 documentation on the available events/controls, when available. John
    1 point
  41. Many thanks John, I'll pass details to the other (P3D) user who was having problems.
    1 point
  42. Ok, although i don't know why you previously said 'The Workgroups are the same'! Once that is corrected, try again. If you still have issues, try setting the ServerName (or ServerIPAddr) and the Protocol - see the WideFS User guide, and also the WideFS Technical guide for troubleshooting network issues. Ok, but you need to sort this out - I can;t help with this... John
    1 point
  43. Merci Paul, c'est exactement ça, ça marche, je suis heureux . ça fonctionne !!!! Thanks Paul, that's exactly it, it works, I'm happy. it works !!!!
    1 point
  44. Thank you again, Paul, I know nothing about programming and your help has really been a lifesaver. I've been at it for quite a long time, 3 or 4 weeks, and now it's working. Here is my code which works and is surely improvable, but it has the merit of functioning. // Accès aux données des réservoirs PayloadServices = FSUIPCConnection.PayloadServices //**************************** Mise à jour des données****************************** FSUIPCConnection.PayloadServices:RefreshData() oFuelTanks est un FsFuelTanksCollection oFuelTanks <- FSUIPCConnection.PayloadServices:FuelTanks SI oFuelTanks = Null ALORS Erreur("Impossible d'accéder aux données des réservoirs") RETOUR FIN //***************** Vérification de la taille de la collection***************** nTaille est un entier = oFuelTanks:Count SI nTaille = 0 ALORS Erreur("La collection de réservoirs est vide") //RETOUR FIN nPourcentageCentral est un entier sur 4 octets nPourcentageGauche est un entier sur 4 octets nPourcentageDroit est un entier sur 4 octets nPourcentageCentral = oFuelTanks:get_Item(FSFuelTanks::Centre_Main):get_LevelPercentage() nPourcentageGauche = oFuelTanks:get_Item(FSFuelTanks::Left_Main):get_LevelPercentage() nPourcentageDroit = oFuelTanks:get_Item(FSFuelTanks::Right_Main):get_LevelPercentage() Info("Pourcentage de carburant dans le réservoir central : " + nPourcentageCentral + "%") Info("Pourcentage de carburant dans le réservoir gauche : " + nPourcentageGauche + "%") Info("Pourcentage de carburant dans le réservoir droit : " + nPourcentageDroit + "%")
    1 point
  45. Hi, Steve. I do not use Wideclient some time ago. Calm down. I flew from LPPT to LPMA and things were going ok, except the transponder. The flight was completed as you can see on Arrivals on Discord. Now, I'm flying from LPMA to LPPD and SLC crashed after takeoff. I'll wait for an update. SLC is awesome, I love it, but I don't like to use it on MSFS machine. I tried today and the main button doesn't open the other wheels. That's one reason to use it on remote. When I said "angry" it was on good way. Because I'm always asking you things and I don't like to get much time of people, since you have more things to do. 😉 Regards. 🙂
    1 point
  46. John, I followed your instructions to a tee. I searched the Lvar, and found it using the Developer Mode. I noted its name and also its value (0-100). With that I had the 3 requirements to build the preset. Now to be honest, I have a difficult time remembering all the help I get from this forum as I only need to apply the recommendation once, and it will work forever ;-). So, some parts of the description went over my head. 🫳😮‍💨 But I did notice that the example had the same values I had. And so, I copied the ...$Param... part and created the following in the MyEvents.txt B727 Spoiler Axis#$Param 16384 + 327.68 / 0 max 100 min (>L:FSS_B727_SPOILER_LEVER_STATE, Number) I then reloaded the presets and assigned it to the axis I wanted. WORKS LIKE A CHARM !!! Cheers and thank you!
    1 point
  47. Background PMDG Aircraft for FSX and P3D do not typically use the normal controls provided by the flight sim. This means that many of the aircraft's switches cannot be assigned to buttons and keys using the list of controls in the FSUIPC dropdown boxes. Assigning a standard control in FSUIPC will likely do nothing in the PMDG aircraft when the button or key is pressed. Solution Instead of using the standard list of controls shown in the FSUIPC dropdown box, users must use a different set of controls provided by PMDG for the specific aircraft. These are known as custom controls (or custom events). The custom controls vary for each aircraft and are listed in the SDK that is installed alongside the aircraft. This guide will show you, step-by-step: How to find the SDK files How to calculate the custom control numbers How to work out the parameter value How to assign the control to buttons/keys in FSUIPC The specific examples shown will be taken from the PMDG 737NGX, but the same method works for any PMDG aircraft with an SDK and custom controls (e.g. 777, 747). 1. Locating the SDK From your main Flight Sim install folder, or your MSFS Community folder, and open the PMDG aircraft folder Then select the folder belonging to the aircraft you want to use. e.g. PMDG 737 NG3 or pmdg-aircraft-737 Then select the SDK folder or Documentation\SDK folder for MSFS2020 Locate the file with the .h extension. For the 737 it's called PMDG_NG3_SDK.h (or maybe PMDG_NGX_SDK.h, depending on the sim and variant you are using) You can open this file with Notepad or your favourite text editor. As an example, the document you need for the 737 in MSFS2020 will be: [Community]\pmdg-aircraft-737\Documentation\SDK\PMDG_NG3_SDK.h 2. Calculating the control numbers 2.1. Find THIRD_PARTY_EVENT_ID_MIN The first thing to find is the definition of THIRD_PARTY_EVENT_ID_MIN. Search for the following text: #define THIRD_PARTY_EVENT_ID_MIN You will find a line like this (from the 737 file): #define THIRD_PARTY_EVENT_ID_MIN 0x00011000 // equals to 69632 Note the decimal value at the end. In the case above it's 69632. You will need this value to calculate the control number in the next step. 2.2. Find the control you want to use. Search for the control by name, or look through the listed controls to find the one you want. They are helpfully grouped together by panel. The controls are listed under a comment: // Control Events You can search for this to find where the list of control numbers starts. As an example we'll use the Autopilot CMD A swtich on the MCP. This is the relevant line in the 737 SDK: #define EVT_MCP_CMD_A_SWITCH (THIRD_PARTY_EVENT_ID_MIN + 402) To calculate the control number for this switch we just add 402 to the value of THIRD_PARTY_EVENT_ID_MIN we found earlier. 69632 + 402 = 70034 We have now calculated the control number. We will use this in step 4 to program the button/key. 3. Finding the parameter value PMDG controls need a parameter value. These can one of type types: 3.1. Mouse Click Codes (Shown in the example) You can use these to simulate a mouse click on the particular switch. Mainly it will be the left mouse button, but other clicks types are available (e.g. Right button, left double click etc). To find the codes for each type of click, search for MOUSE_FLAG You'll find a block of #define statements for each type of mouse click. Here are a couple of examples from the 737 sdk: #define MOUSE_FLAG_RIGHTSINGLE 0x80000000 #define MOUSE_FLAG_LEFTSINGLE 0x20000000 Find the click that you want to simulate and get the code. For example, we'll have our key assignment simulate the left mouse button clicking on the CMD A autopilot button. So we'll need 0x20000000 as the parameter value for the control. 3.2. Direct Values (Not shown in the example) Alternatively, some controls can accept a direct value to set the switch to a specific position. To find the direct values you need to look at the top part of the .h file to find the switch definition. These are named differently than the events so you need to search. Taking the battery selector switch as an example, we find the control: #define EVT_OH_ELEC_BATTERY_SWITCH (THIRD_PARTY_EVENT_ID_MIN + 1) For the parameter value we can find the same switch in the top part of the .h file: unsigned char ELEC_BatSelector; // 0: OFF 1: BAT 2: ON This tells us that in addition to mouse clicks, we can also send direct values. In this case: 0 for the OFF position, 1 for the BAT position and 2 for the ON position. It's possible to make a key or button set the Battery Selector directly to the ON position by setting the parameter value to 2 instead of a mouse click code. Simple ON/OFF switches will not have values listed (and will be declared as 'bool'). For these types of switches you can just pass the value 0 for OFF and 1 for ON. 4. Assigning the control to a button or key in FSUIPC Select the [buttons + swtiches] or [key presses] tab in FSUIPC and select the button or key to program. From the "control sent..." dropdown select <custom control> (it's near the top of the list) A popup window appears asking for the control number. Type in the control number you calculated in step 2. For our 'autopilot CMD A' example, we enter 70034 and click OK. The controls dropdown box will now show the control number in angled brackets. In the "parameter" box (below the controls dropdown), enter the parameter value from step 3. This can be a mouse click code or a direct value. Mouse Click Codes: Do not include the first 0 from the number listed in the PMDG SDK. Start with the x. With our example, we would enter x20000000 for the left-button single-click. Note that this code is in hexadecimal. FSUIPC will convert it to the equivalent decimal value. This is nothing to worry about. It's the same number. Entering the value in Hex is more convenient. Direct Values: Just enter the value as a number. Do not add the x at the start like mouse codes. If you're programming a key press, remember to press the [confirm] button. Here is our example control assigned to a button in FSUIPC: Your button or key press should now operate the switch in your PMDG aircraft.
    1 point
  48. It appears that many users have problems with Saitek Quadrant drivers setting up the Registry incorrectly for one or more of the levers, with the result that either only 50% of the range use used or the values you get are only on (max value, 16383) or off (min value 0 or -16384). Here is the way to edit the Registry and fix this, at least until Saitek fixes their installers. (Thanks to a main forum reply by "goaround"): ==================================== Here is our registry calibration guide: One way to re-calibrate your device is to reset the raw data values that are held in Windows registry. To do this: 1. Remove the USB plug for your controller from the PC. 2. Press and hold the Windows key on your keyboard and then press the letter R. This will open the Run box. 3. Type regedit and then click ok. For Windows Vista/7/8/8.1 4. The Registry Editor will have a list of folders on the left hand side. Go down into the following folders in order by clicking the + next to the folder name. + HKEY_LOCAL_MACHINE + System + CurrentControlSet + Control + Media Properties + Private Properties + Joystick + OEM 5. Delete any folder inside the Direct Input folder that begins VID_06A3 or VID_0738, if you know the specific PID number or your device then you only need to delete the string that matches the VID and PID. 6. Then navigate to the DirectInput folder + HKEY_CURRENT_USER + SYSTEM + CurrentControlSet + Control + Media Properties + Private Properties + DirectInput 7. Delete any folder inside the Direct Input folder that begins VID_06A3 or VID_0738, if you know the specific PID number or your device then you only need to delete the string that matches the VID and PID. 8. Once deleted, close the editor, then plug the USB back into the original port. Move all the axes of the controller through their full range of movement four times. This will rebuild the data range for all axes.
    1 point
  49. Sometimes corrupted code or data might cause strange errors, usually crashes (CTD's) immediately the Sim becomes ready for flying. The only such data which FSUIPC would instigate FSX reading and processing are the weather-related files, the wxstationlist.bin file in this folder: C:\Users\<yourusername>\AppData\Roaming\Microsoft|FSX (or the LockHeed Martin\Prepar3D equivalent) and the .wx files in your FSX (or Prepar3D) documents folder (the folder where your saved flights are). If any of those are corrupted, possibly from a previous crash of FSX, then they can cause unpredictable errors when loaded. Unfortunately FSX's SimConnect doesn't check these files before use. So, the first step is to try deleting all of those files. The .bin file will be rebuilt, and .wx files will be created for new flights, and are largely irrelevant if you use an add-on weather program. Another test would be to insert "NoWeatherAtAll=Yes" into the [General] section of the FSUIPC4.INI file. That will stop FSUIPC asking for the weather data. Of course this will stop any FSUIPC applications you may have getting weather data, but perhaps you have none.
    1 point
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.