MobiFlight-Connector
MobiFlight-Connector copied to clipboard
analogue axis after Z-Rotation not available within Mobiflight
As a user of the quite common Leo Bodnar BU0836A universal Joystick board, I'd like to have all analogue axis of my USB game-controller device avialable within Mobiflight so that I can also use the "Wählscheibe" aka "slider?" axis as well and don't need to re-wire my home-cockpit and waste 25% of the available eight analogue axis.
I can make use of X,Y,Z, X-rotation, Y-rotation and Z-rotation axis but not of the additional axis at the moment.
See marked within the screenshot.
Within the Simulator and also the USB game controller calibration (as well as within DIView) all the axis are availabel and useable. But not within mobiflight.
Describe alternatives you've considered I tried to re-map it within the sim, but I need it for the Engine mode selector switch of the FBW A32nx. For that it requires calculator codes which are not directly assignable within the sim.
Sliders should be supported. Please check your log for: "Axis can't be mapped:..."
Does it contain something like that? that would be helpful.
@joeherwig please see my last comment.
Hi Sebastian,
vom Logfile Perspective it there is no remark that an axis could not be mapped. See truncated log:
There are just two lines referring to "Slider" at all. And only one that seems to be relevant:
02/18/2024 15:07:53(656): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 0 Usage: 55 Axis: Wählscheibe Label: Axis Slider2.
Anyway It is not recognized neither on "scan" function nor if I assign it manually. The same function works on other axis without any issues.
02/18/2024 15:07:52(559): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight Mega (Arduino Mega 2560)
02/18/2024 15:07:52(561): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight Micro (Arduino Pro Micro)
02/18/2024 15:07:52(562): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight Nano (Arduino Nano)
02/18/2024 15:07:52(564): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight Uno (Arduino Uno)
02/18/2024 15:07:52(565): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight RaspiPico (Raspberry Pico)
02/18/2024 15:07:52(567): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech ADF (CoreFlightTech ADF)
02/18/2024 15:07:52(577): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech ATC (CoreFlightTech ATC)
02/18/2024 15:07:52(577): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech COMM (CoreFlightTech COMM)
02/18/2024 15:07:52(577): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech EFIS (CoreFlightTech EFIS)
02/18/2024 15:07:52(578): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech Landing Gear (CoreFlightTech Landing Gear)
02/18/2024 15:07:52(581): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech MCP (CoreFlightTech MCP)
02/18/2024 15:07:52(583): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for CoreFlightTech NAV (CoreFlightTech NAV)
02/18/2024 15:07:52(586): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for Kav Mega (Kav Mega)
02/18/2024 15:07:52(588): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for Kav RaspiPico (Kav RaspiPico)
02/18/2024 15:07:52(589): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for miniCOCKPIT miniFCU mega (miniCOCKPIT miniFCU)
02/18/2024 15:07:52(592): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight GenericI2C Mega (Mobiflight GenericI2C Mega)
02/18/2024 15:07:52(594): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight GenericI2C RaspiPico (MobiFlight GenericI2C RaspiPico)
02/18/2024 15:07:52(596): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight GNC255 Mega (MobiFlight GNC255 Mega)
02/18/2024 15:07:52(597): <>c.<LoadDefinitions>b__7_0(): Loaded board definition for MobiFlight GNC255 Pico (MobiFlight GNC255 Pico)
02/18/2024 15:07:52(605): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for Kav's Battery LCD (1.0.0)
02/18/2024 15:07:52(606): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for Kav's EFIS LCD (1.0.0)
02/18/2024 15:07:52(607): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for Kav's FCU LCD (1.0.1)
02/18/2024 15:07:52(609): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for Kav's RAD/TCAS LCD (1.0.0)
02/18/2024 15:07:52(609): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for Kav's Rudder LCD (1.0.0)
02/18/2024 15:07:52(611): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for miniFCU LCD (1.0.0)
02/18/2024 15:07:52(612): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for MobiFlight Generic I2C (1.0.0)
02/18/2024 15:07:52(613): <>c.<LoadDefinitions>b__4_0(): Loaded custom device definition for MobiFlight OLED GNC255 (1.0.0)
02/18/2024 15:07:52(744): AutoUpdateChecker.CheckForUpdate(): Checking for RELEASE update...
02/18/2024 15:07:53(58): AutoUpdateChecker.CheckForUpdate(): MobiFlight is up to date.
02/18/2024 15:07:53(93): <>c.<LoadDefinitions>b__15_0(): Loaded joystick definition for Alpha Flight Controls
02/18/2024 15:07:53(102): <>c.<LoadDefinitions>b__15_0(): Loaded joystick definition for Bravo Throttle Quadrant
02/18/2024 15:07:53(109): <>c.<LoadDefinitions>b__15_0(): Loaded joystick definition for Octavi
02/18/2024 15:07:53(116): <>c.<LoadDefinitions>b__15_0(): Loaded joystick definition for Saitek Aviator Stick
02/18/2024 15:07:53(139): <>c.<Load>b__17_0(): Loaded midiBoard definition for Intech Studio: AC
02/18/2024 15:07:53(146): <>c.<Load>b__17_0(): Loaded midiBoard definition for MPD218
02/18/2024 15:07:53(152): <>c.<Load>b__17_0(): Loaded midiBoard definition for MPK mini play
02/18/2024 15:07:53(159): <>c.<Load>b__17_0(): Loaded midiBoard definition for nanoKONTROL2 1 SLIDER/KNOB
02/18/2024 15:07:53(166): <>c.<Load>b__17_0(): Loaded midiBoard definition for X-TOUCH MINI
02/18/2024 15:07:53(214): <>c.<Connect>b__26_1(): Found MidiOutput: Microsoft GS Wavetable Synth, Index 0.
02/18/2024 15:07:53(468): <SerialPortMonitor_PortAvailable>d__33.MoveNext(): Port detected: COM12 Arduino Mega 2560
02/18/2024 15:07:53(468): <SerialPortMonitor_PortAvailable>d__33.MoveNext(): Port detected: COM14 Arduino Mega 2560
02/18/2024 15:07:53(477): MobiFlightModule.Connect(): MobiflightModule.connect: Connected to Arduino Mega 2560 at COM14 of type MobiFlight Mega (DTR=>True).
02/18/2024 15:07:53(477): MobiFlightModule.Connect(): MobiflightModule.connect: Connected to Arduino Mega 2560 at COM12 of type MobiFlight Mega (DTR=>True).
02/18/2024 15:07:53(636): <Connect>d__24.MoveNext(): Found attached DirectInput device: BU0836 Interface Type: FirstPerson SubType: 259.
02/18/2024 15:07:53(647): <Connect>d__24.MoveNext(): Adding attached joystick device: BU0836 Interface Buttons: 32 Axis: 7.
02/18/2024 15:07:53(656): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 0 Usage: 55 Axis: Wählscheibe Label: Axis Slider2.
02/18/2024 15:07:53(664): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 4 Usage: 53 Axis: Z-Rotation Label: Axis RotationZ.
02/18/2024 15:07:53(670): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 8 Usage: 52 Axis: Y-Rotation Label: Axis RotationY.
02/18/2024 15:07:53(677): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 12 Usage: 51 Axis: X-Rotation Label: Axis RotationX.
02/18/2024 15:07:53(685): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 16 Usage: 50 Axis: Z-Achse Label: Axis Z.
02/18/2024 15:07:53(692): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 20 Usage: 49 Axis: Y-Achse Label: Axis Y.
02/18/2024 15:07:53(700): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect Position + Offset: 24 Usage: 48 Axis: X-Achse Label: Axis X.
02/18/2024 15:07:53(708): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect: 0 Offset: 36 Usage: 1 Button: Taste 0 Label: Button 1.
02/18/2024 15:07:53(715): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect: 0 Offset: 37 Usage: 2 Button: Taste 1 Label: Button 2.
02/18/2024 15:07:53(723): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect: 0 Offset: 38 Usage: 3 Button: Taste 2 Label: Button 3.
02/18/2024 15:07:53(730): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect: 0 Offset: 39 Usage: 4 Button: Taste 3 Label: Button 4.
02/18/2024 15:07:53(738): Joystick.EnumerateDevices(): Added BU0836 Interface Aspect: 0 Offset: 40 Usage: 5 Button: Taste 4 Label: Button 5.```
Tried it with latest 10.2.1.
Now I get
03/10/2024 19:08:42(184): <Connect>d__24.MoveNext(): Adding attached joystick device: BU0836A 1 Buttons: 32 Axis: 7.
03/10/2024 19:08:42(192): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 0 Usage: 55 Axis: Wählscheibe Label: Axis Slider2.
03/10/2024 19:08:42(200): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 4 Usage: 53 Axis: Z-Rotation Label: Axis RotationZ.
03/10/2024 19:08:42(208): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 8 Usage: 52 Axis: Y-Rotation Label: Axis RotationY.
03/10/2024 19:08:42(215): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 12 Usage: 51 Axis: X-Rotation Label: Axis RotationX.
03/10/2024 19:08:42(223): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 16 Usage: 50 Axis: Z-Achse Label: Axis Z.
03/10/2024 19:08:42(230): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 20 Usage: 49 Axis: Y-Achse Label: Axis Y.
03/10/2024 19:08:42(237): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect Position + Offset: 24 Usage: 48 Axis: X-Achse Label: Axis X.
03/10/2024 19:08:42(245): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect: 0 Offset: 36 Usage: 1 Button: Taste 0 Label: Button 1.
03/10/2024 19:08:42(253): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect: 0 Offset: 37 Usage: 2 Button: Taste 1 Label: Button 2.
03/10/2024 19:08:42(262): Joystick.EnumerateDevices(): Added BU0836A 1 Aspect: 0 Offset: 38 Usage: 3 Button: Taste 2 Label: Button 3.
and later within the logs:
03/10/2024 19:08:42(805): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis Slider2 => CHANGE => 0 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis RotationZ => CHANGE => 46909 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis RotationY => CHANGE => 32463 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis RotationX => CHANGE => 58969 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis Z => CHANGE => 45516 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis Y => CHANGE => 64526 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 1 => Axis X => CHANGE => 45836 => No config found.
03/10/2024 19:08:42(806): ExecutionManager.mobiFlightCache_OnButtonPressed(): BU0836A 2 => Axis X => CHANGE => 32767 => No config found.
Slider2 aka "Wählscheibe" is shown with Value = "0" even though USB Game Controller settings and DI-View show a different value.
Not sure, but maybe it helps. :-) Thanks!
That's hard for me to debug since i don't seem to have a Joystick with a slider function.
Probably I'll be able to lend you one on Aero Friedrichshafen for a couple of weeks if that helps. 😊
it might be enough to just have it for 15 mins there.
Hi Sebastian,
Thanks for your time at the Aero fair. I checked it out and can confirm that with the english OS setting the issue is gone. Tested on two independent systems. So it seems you're right with the analysis that it's a localization issue.
i will check where it fails.
Maybe the issue is here. Check for magic string "Slider".
Ok, on quick check I cannot find an issue. Without the device it is very difficult. So Sebastian up to you.