Moderate Chop
Members-
Posts
12 -
Joined
-
Last visited
-
Days Won
1
Moderate Chop last won the day on August 1 2022
Moderate Chop had the most liked content!
Profile Information
-
Gender
Male
-
Location
San Diego, CA, USA
Moderate Chop's Achievements
-
I saw you had posted a similar question on the MSFS Maddog forums. Are you using the MSFS version? If so, I don't believe the document with the list of commands you referenced is applicable. I think that's for the P3D version. The addressable events and associated actions for MSFS are documented in the 'MaddogX_interior.xml' file located deep in the aircraft folder: ...\Community\lsh-maddogx-aircraft\SimObjects\Airplanes\MaddogX\model\MaddogX_interior.xml The relevant section for changing the range of the ND (on the Captain's side) begins at line 12782: <PartInfo> <Name>CM1_ctrl_range_knob1</Name> <AnimLength>50</AnimLength> <Animation> <Parameter> <Code>(L:CM1_ctrl_range_knob1, enum) 10 *</Code> </Parameter> </Animation> <MouseRect> <Cursor>Hand</Cursor> <MouseFlags>LeftSingle+RightSingle+WheelUp+WheelDown</MouseFlags> <CallbackCode> (M:Event) 'LeftSingle' scmi 0 == if{ 8192 3 + (>L:CM1_lateral_event,number) } (M:Event) 'RightSingle' scmi 0 == if{ 16384 3 + (>L:CM1_lateral_event,number) } (M:Event) 'WheelUp' scmi 0 == if{ 16384 3 + (>L:CM1_lateral_event, number) } (M:Event) 'WheelDown' scmi 0 == if{ 8192 3 + (>L:CM1_lateral_event, number) } </CallbackCode> </MouseRect> </PartInfo> To change the range, assign CM1_lateral_event to one of your buttons using one of the parameters referenced above: 8195 (8192+3) for a left click, 16387 (16384+3) for a right click, etc. For instructions on how to get the CM1_lateral_event to show up in the FSUIPC assignment drop down list, see this thread: Hope that helps.
-
Missing LVAR after 3066 Lvars loaded (since SU11)
Moderate Chop replied to michel78320's topic in FSUIPC7 MSFS
Ah, yes indeed, this is the behavior. Selecting an airplane and then restarting seems to load only that airplane's LVARs, in addition to ~100-115 that always load on my system for various other things. This includes GSX (~60), the new SU11 Beaver (~11), a collection of 'XMLVAR...' entries, etc. To your comment above re: airplanes in the Community folder, this does not seem to be an issue, at least on my system. With a full collection of PMDG, Fenix, JustFlight, Maddog, etc., all enabled, I don't see any LVARs loading that shouldn't. So that's something. With respect to "any single aircraft should not have that many lvars...", I think iniBuilds has taken that as a challenge! Loading the A310 using the 'restart' technique still results in 3066 LVARs. And yes, this is at least 2900+ unique to the airplane. If the 'ID=nnn' in the log list is an indication of load order, then yes, FSUIPC is still reading 'A310_' LVARs when it runs out of room. So far I think I have what I need to assign hardware, but I'm only a little ways into modifying my scripts. Thanks for your insights! I've again learned new things about how MSFS works. -
Missing LVAR after 3066 Lvars loaded (since SU11)
Moderate Chop replied to michel78320's topic in FSUIPC7 MSFS
John, It seems with SU11, based on a couple of quick tests, that we've reached somewhat of a conundrum with MSFS LVARs and FSUIPC. The iniBuilds A310 in SU11 loads ~2800 LVARs all by itself. Using Add-ons Linker, I can 'unlink' the A310 folder from the sim, but the next time the sim starts it forces a mandatory update that re-installs the A310. A workaround seems to be to actually uninstall the airplane from within the sim - MSFS seems to respect your decision to uninstall, and doesn't force a re-install. Needless to say, this is less than ideal. My one other Marketplace airplane, the Aerosoft CRJ, loads ~1575 LVARs. So if I have just these two airplanes active, I'm well over the 3066 limit. As you say, MSFS should only provide LVARs for the currently loaded aircraft. And those of us who use FSUIPC can certainly raise this issue with Asobo. My concern is that this is so far down their priority list that it will not be addressed in the near future, if at all. [I would note also that it's not just aircraft that load LVARs - GSX, for example, loads ~60] I certainly don't expect you to provide a workaround for Asobo's LVAR implementation/architecture decisions. I was just poking around and thought I could shed a little more light on the scope of the problem. Cheers, Eric -
Understood. Thanks!
-
John, Just wanted to confirm the current dialog box behavior is correct / as intended wrt to the Profile Specific check box. Using 7.3.8c. In my FSUIPC.ini: UseProfiles=Files UseAirLocForProfiles=Yes and in my MD80 profile: [Auto] 1=Lua MD80Assigns 2=MD80 For me, this all functions perfectly. My profile assignments load with the aircraft, and my Lua script automatically runs. By default, when I open the Button & Switch Assignments dialog, or the Key Assignments dialog, the Profile Specific check box is NOT checked. Again, functionally this behaves as one would expect. I can assign buttons and keys that show up in FSUIPC.ini or, if I check the box, those assignments will show up in the aircraft profile. That seems logical, and gives one the flexibility to move between general and aircraft-specific assignments. The Axis Assignments & Calibration dialog does not seem to provide this flexibility - once an axis is assigned using a profile, the ProfileSpecific check box is greyed out. This is not a big deal - if I'm going to assign axes for an aircraft I will (almost) always do it within a profile. Just curious if this was your design intent. Thanks!
-
You're getting there, but you're just a little off base. 🙂 I assume you found the entry in the MaddogX_interior.xml file for the autobrake switch, since that's what you're referencing. Starting at line 18244, that section looks like this: <PartInfo> <Name>ped_autobrake_switch1</Name> <AnimLength>10</AnimLength> <Animation> <Parameter> <Code>10 0 (L:ped_autobrake_switch1, bool) ?</Code> </Parameter> </Animation> <MouseRect> <Cursor>Hand</Cursor> <MouseFlags>LeftSingle+RightSingle+WheelUp+WheelDown</MouseFlags> <CallbackCode> (M:Event) 'LeftSingle' scmi 0 == if{ 536870912 26 + (>L:pedestal_event,number) } (M:Event) 'RightSingle' scmi 0 == if{ 536870912 26 + (>L:pedestal_event,number) } (M:Event) 'WheelUp' scmi 0 == if{ 16384 26 + (>L:pedestal_event,number) } (M:Event) 'WheelDown' scmi 0 == if{ 8192 26 + (>L:pedestal_event,number) } </CallbackCode> </MouseRect> </PartInfo> The part you're trying to actuate is ped_autobrake_switch1, and you do that by sending a parameter to the pedestal_event (the section between the CallbackCode delimiters is what's important here). So it is the pedestal_event that needs to be in your macro file. This will make it appear in the drop down. Take a look at the third post in this thread, where I showed you what my macro file looks like. Yours should be: 1=L:pedestal_event=Set NOT 1=L:ped_autobrake_switch1=Set Once it appears in the dropdown, specify the parameter to be sent. For a LeftSingle mouse click, send 536870938 (536870912+26). So the assignment window should look like this:
-
I think John only provides those presets specified on the MobiFlight site. Unfortunately, only 80 presets are defined for the MD-82, and the buttons you asked about are not among them. (Contrast that with the 1648 presets defined for the PMDG 737!) To assign these other buttons, you will have to go through the process I described earlier: Look through the MaddogX_interior.xml file for the event you want Add that event to a .MCRO file Assign the button to the resulting entry in the drop down list, specifying the parameter to be sent. For example, the switch to arm the autobrake is described beginning on line 18243 in the .xml file (ped_autobrake_switch1). You will see that it requires you to send (to emulate a 'LeftSingle' mouse click) parameter 536870938 (536870912 + 26) to the pedestal_event. For the TRP buttons in your left image, I'm not sure. But I do see that the .xml file has trp_event entires, so you could give those a go. This can be pretty tedious when assigning a lot of buttons, and requires quite a bit of trial and error. But FSUIPC has pretty good logging and debugging tools, so that helps. For more sophisticated assignments that involve multiple actions per switch/key, time delays, conditionals, and dependencies (like the autobrake knob itself), I use Lua scripts. Let me know if you have other questions.
-
Yes, I can appreciate how frustrating that is. I tested this on my system. Assigning a button to the preset Preset:MD82 PED FUELCUT LEVER1 ON works as expected, setting the left pedestal fuel cutoff lever to ON. As John suggested, I also tried executing the calculator code directly from the Add-ons->WASM->Execute Calculator Code... menu item, and that also works. The calculator code is: 536870912 11 + (>L:pedestal_event,number) If your system is NOT working like this, then only John can troubleshoot the problem. Sorry.
-
I also immediately realized that what I wrote above is really unnecessary now that the MobiFlight presets for the MD82 are fully populated in FSUIPC. (In my defense I might have started assigning my switches without looking at the presets 🙂). So skip the macro bit and just assign the button to Preset:MD82 PED FUELCUT LEVER1 ON. That seems much easier! 😃
-
This is how I did it. First, create a macro file in the FSUIPC directory. I called mine MD80.MCRO (it must have the .MCRO extension). In that file I have these entries (so far): [Macros] 1=L:ext_lights_event=Set 2=L:overhead_event=Set 3=L:CM1_clock_event=Set 4=L:cockpit_event=Set 5=L:pedestal_event=Set 6=L:fgcp_event=Set 7=L:CM2_hyd_event=Set 8=L:gear_event=Set Now in the "Control sent when button pressed" drop down menu you will see these additional entries: MD80: L:ext lights event Set MD80: L:overhead event Set ... etc. To operate the left engine fuel idle/cutoff switch, select the MD80: L:pedestal event Set and send the proper parameter, in this case 536870923 (536870912+11) for a left single click. The correct parameter to send can be found on the MobiFlight presets page, https://hubhop.mobiflight.com/presets/ or in the "Maddog interior" .xml file: ...\Community\lsh-maddogx-aircraft\SimObjects\Airplanes\MaddogX\model\MaddogX_interior.xml If you're doing this via Lua script, I've found the easiest thing to do is just execute the "calculator code" from the MobiFlight page. That specific command looks like this: ipc.execCalcCode("536870912 11 + (>L:pedestal_event,number)") Hope that helps! Cheers.
-
Thank you very much for your replies and suggestions, John. I will look into this later today and see if I can make progress. Later... I don't think the LVAR ext_lights_event actually has a value - it always reports '0' when I list the LVARs via the WASM menu, regardless of the switch positions. It just seems to be a container for an array of other actions, triggered by the parameter you send. Using Add-ons->WASM-> Set Lvar... behaves just like the lua script, or the assignments in the Assignments --> Buttons & Switches... menu item. As a workaround, user Andy Digital on the MaddogX forums suggested subtracting the indicated interval and sending the negative of the result. So instead of 2147483649 send -2147483647. And this indeed seems to work! This is because of some int overflow wrap around I do not understand(?). Anyway, it works, and I'll use this technique for now. Thanks! Eric
-
I thought I knew what I was doing, but maybe not! For Leonardo's new Maddog X, here is the relevant (for this discussion) part of their MaddogX_interior.xml file: <PartInfo> <Name>CM1_winglightl_switch1</Name> <AnimLength>20</AnimLength> <Animation> <Parameter> <Code>(L:CM1_winglightl_switch1, enum) 10 *</Code> </Parameter> </Animation> <MouseRect> <Cursor>Hand</Cursor> <MouseFlags>LeftSingle+RightSingle+WheelDown+WheelUp</MouseFlags> <CallbackCode> (M:Event) 'LeftSingle' scmi 0 == if{ 536870912 0 + (>L:ext_lights_event,number) } (M:Event) 'RightSingle' scmi 0 == if{ 2147483648 0 + (>L:ext_lights_event,number) } (M:Event) 'WheelDown' scmi 0 == if{ 536870912 0 + (>L:ext_lights_event,number) } (M:Event) 'WheelUp' scmi 0 == if{ 2147483648 0 + (>L:ext_lights_event,number) } </CallbackCode> </MouseRect> </PartInfo> <PartInfo> <Name>CM1_winglightr_switch1</Name> <AnimLength>20</AnimLength> <Animation> <Parameter> <Code>(L:CM1_winglightr_switch1, enum) 10 *</Code> </Parameter> </Animation> <MouseRect> <Cursor>Hand</Cursor> <MouseFlags>LeftSingle+RightSingle+WheelDown+WheelUp</MouseFlags> <CallbackCode> (M:Event) 'LeftSingle' scmi 0 == if{ 536870912 1 + (>L:ext_lights_event,number) } (M:Event) 'RightSingle' scmi 0 == if{ 2147483648 1 + (>L:ext_lights_event,number) } (M:Event) 'WheelDown' scmi 0 == if{ 536870912 1 + (>L:ext_lights_event,number) } (M:Event) 'WheelUp' scmi 0 == if{ 2147483648 1 + (>L:ext_lights_event,number) } </CallbackCode> </MouseRect> </PartInfo> In the attached MD80Assigns.lua file, you can see how I have my script coded for this landing lights action. When I press the switch, everything works fine. The 'ext_lights_event' LVAR is written using the 'LeftSingle' parameters - 536870912 for the left switch, and 536870913 for the right - and both switches go to the EXT ON position. When I release the switch, the 'RightSingle' parameters are sent - 2147483648 [2^31] for the left switch, and 2147483649 [2^31 + 1] for the right. However, only the left switch moves back to the off position. The right switch does not respond at all. The attached lua log file doesn't show any error (I don't think). This observation is consistent across all of the functions I've defined: Parameters that are <= 2^31 seem to work properly. Those greater than this value are apparently not sent, although the script is executing. I know I'm probably missing something simple, so I apologize in advance for that. But I've reached the limits of my knowledge and troubleshooting skills (which are meager to begin with!). Any suggestions would be greatly appreciated. Thanks! MD80Assigns.lua MD80Assigns.log