MobiFlight / MobiFlight-Connector

MobiFlight is an open source project that allows you to create your own home cockpit for your favorite flight simulator in a flexible, affordable and extremely user-friendly way.
https://mobiflight.com
MIT License
232 stars 103 forks source link

Show orphaned configurations in ConfigWizard page even when device is not available #1267

Closed tigert closed 11 months ago

tigert commented 1 year ago

Is your feature request related to a problem? Please describe. Often it would be useful to share config files made for particular planes and panels, even when people have their own pin numbers and device names on their arduinos.

But on the simulator side we all use the same events. It would make sense to create and share (maybe on github) configs for popular planes with predefined inputs and outputs so that everyone can then just add leds and encoders and buttons and map the config to those.

Right now it is not easy to see, as you have to assign a config to a compatible device to see the assigned sim events.

Describe the solution you'd like It would be much easier if we for example showed the config as grayed out (non editable) but so that you could still study it and see the events.

Ideally we'd build a library of the common ones so that everyone doesnt need to dig through the event lists looking for the ones that work, as it is mostly the few most popular planes and panels that most people are building, like the PMDG 737 autopilot, or the FBW A320 FCU.

tigert commented 1 year ago

Ok, so this is actually related to #1077 but since my device is a input shift register that shows up as blank page, regular buttons work thanks to that earlier fix.

Output shift registers actually seem to crash my MF Connector when I try to view the configs without them present:

image

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentException: Items collection cannot be modified when the DataSource property is set.
   at System.Windows.Forms.ComboBox.CheckNoDataSource()
   at System.Windows.Forms.ComboBox.ObjectCollection.Add(Object item)
   at MobiFlight.UI.Panels.DisplayPinPanel.syncFromConfig(OutputConfigItem config)
   at MobiFlight.UI.Panels.DisplayShiftRegisterPanel.SyncFromConfig(OutputConfigItem config)
   at MobiFlight.UI.Panels.OutputWizard.DisplayPanel.syncFromConfig(OutputConfigItem cfg)
   at MobiFlight.UI.Dialogs.ConfigWizard._syncConfigToForm(OutputConfigItem config)
   at MobiFlight.UI.Dialogs.ConfigWizard.ConfigWizard_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ContainerControl.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.Form.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9167.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
MFConnector
    Assembly Version: 9.7.1.2
    Win32 Version: 9.7.1.2
    CodeBase: file:///C:/MobiFlight/MFConnector.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9075.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9172.0 built by: NET481REL1LAST_C
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9166.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Accessibility
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Data
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9166.0 built by: NET481REL1LAST_B
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Numerics
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Newtonsoft.Json
    Assembly Version: 13.0.0.0
    Win32 Version: 13.0.3.27908
    CodeBase: file:///C:/MobiFlight/Newtonsoft.Json.DLL
----------------------------------------
System.Runtime.Serialization
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll
----------------------------------------
Microsoft.ApplicationInsights
    Assembly Version: 2.21.0.429
    Win32 Version: 2.21.0.00429
    CodeBase: file:///C:/MobiFlight/Microsoft.ApplicationInsights.DLL
----------------------------------------
System.Diagnostics.DiagnosticSource
    Assembly Version: 7.0.0.0
    Win32 Version: 7.0.22.51805
    CodeBase: file:///C:/MobiFlight/System.Diagnostics.DiagnosticSource.DLL
----------------------------------------
System.Xml.Linq
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
Microsoft.AI.ServerTelemetryChannel
    Assembly Version: 2.21.0.429
    Win32 Version: 2.21.0.00429
    CodeBase: file:///C:/MobiFlight/Microsoft.AI.ServerTelemetryChannel.DLL
----------------------------------------
System.Web
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------
XPlaneConnector
    Assembly Version: 1.3.0.0
    Win32 Version: 1.3.0.0
    CodeBase: file:///C:/MobiFlight/XPlaneConnector.DLL
----------------------------------------
netstandard
    Assembly Version: 2.0.0.0
    Win32 Version: 4.8.9032.0
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll
----------------------------------------
fsuipcClient
    Assembly Version: 3.3.3.403
    Win32 Version: 3.3.3.403
    CodeBase: file:///C:/MobiFlight/fsuipcClient.DLL
----------------------------------------
ArcazeHid
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/MobiFlight/ArcazeHid.DLL
----------------------------------------
SharpDX.DirectInput
    Assembly Version: 4.2.0.0
    Win32 Version: 4.2.0
    CodeBase: file:///C:/MobiFlight/SharpDX.DirectInput.DLL
----------------------------------------
SharpDX
    Assembly Version: 4.2.0.0
    Win32 Version: 4.2.0
    CodeBase: file:///C:/MobiFlight/SharpDX.DLL
----------------------------------------
Midi
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.0.0
    CodeBase: file:///C:/MobiFlight/Midi.DLL
----------------------------------------
Microsoft.GeneratedCode
    Assembly Version: 1.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Management
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
Microsoft.FlightSimulator.SimConnect
    Assembly Version: 10.0.61259.0
    Win32 Version: 10.0.61637.0 (FSX-Xpack.20070926-1421)
    CodeBase: file:///C:/MobiFlight/Microsoft.FlightSimulator.SimConnect.DLL
----------------------------------------
HidSharp
    Assembly Version: 2.1.0.0
    Win32 Version: 2.1.0.0
    CodeBase: file:///C:/MobiFlight/HidSharp.DLL
----------------------------------------
System.Net.HttpDLL
----------------------------------------
System.Net.Http
    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

    Assembly Version: 4.0.0.0
    Win32 Version: 4.8.9032.0 built by: NET481REL1
    CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
DocMoebiuz commented 11 months ago

Please provide your config for testing

Koseng commented 11 months ago

@tigert for your information #1392 fixed the empty input confwizard page for orphaned devices in case of inputshifter or inputmultiplexer. You mentioned that problem somewhere.

@DocMoebiuz maybe in output configwizard some similar if else are missing. Did not check yet. =>Ok, must be something different. Output is completely different.

tigert commented 11 months ago

Hmm, I don't get a crash even with 9.7.1.8 now.

DocMoebiuz commented 11 months ago
image
DocMoebiuz commented 11 months ago
image
DocMoebiuz commented 11 months ago
image
DocMoebiuz commented 11 months ago
image
DocMoebiuz commented 11 months ago
image
DocMoebiuz commented 11 months ago

As you can see on the screenshots it is working for all input devices.

fixed by #1392