-
Notifications
You must be signed in to change notification settings - Fork 139
Description
I'm working on a custom controller for Microsoft Flight Simulator, specifically designed to control 4 independent throttles, flaps, and spoilers. These controls require multiple analog inputs to achieve smooth, precise adjustments—more than the standard setup I'm currently working with. I've been using an Arduino Uno with the UnoJoy library to emulate a USB game controller, but I'm hitting limitations with analog inputs. My goal is to support at least 6+ analog axes (to cover the 4 throttles plus flaps and spoilers), but the current setup only recognizes 4 analog axes. I've tried modifying the dataForController_t struct to add fields for slider1 and slider2, updated the HID report descriptor to include 6 axes (adding Usage (Slider) and Usage (Dial) with Report Count = 6), and adjusted the serial reading logic to fetch additional bytes for the new axes. However, the extra analog inputs still aren't detected by the system. Given that I may need even more analog inputs for future expansions, I'm also considering switching to an Arduino Mega (which has more analog pins) to support additional controls. But I'm unsure how to adapt the UnoJoy library or HID configuration to work with the Mega for more analog axes. Has anyone successfully expanded analog input count beyond 4 with UnoJoy, either on the Uno or Mega? Guidance on struct definitions, HID descriptor tweaks, or firmware adjustments for supporting more analog axes (especially for flight simulator controls) would be incredibly helpful!