I have ported essential stuff to the MKIV master firmware today and had a few minutes to make a couple of circles around the runway to test it. At the moment, we have the support of the following peripherals in the firmware:
- compact collective (at the moment MKIII simple collective- axes only)
- simple pedestal
- cyclic base (MKIII/MKIV)
- B8 grip
All special stuff like force trim, sensitivity switching, etc, works already. For now, each device shows as a separate joystick. Here are a few key features of the new firmware:
- the user specifies connected devices manually by uncommenting corresponding lines in “device_definitions” tab
- software is now modular by design – every device can be disabled or enabled separately
- controllers are now infinitely stackable – user can choose what device goes where, the only limitation is – cyclic base, grip, and pedals should belong to the same controller for special stuff to work!
- an infinite number of devices can be included in the firmware thanks to the new modular design
- custom devices (mods, variations, etc) can be added in a way so those won’t interfere with firmware updates!
- no more limits on axes and buttons – if we need more for some particular device, we just add another controller! All devices have unique joystick ids that will provide at least a certain order of controllers in games. That means, e.g. a throttle quadrant plugged into controller #3 will still appear in joy.cpl with e.g. id #5 – below other devices plugged into controller #1, that e.g. have ids #6 and #7.
- minimalism – joysticks only have what’s needed now instead of trying to fit stuff into 3 predefined joysticks, e.g. pedals only have 1 rudder axis and nothing else. Among other things, this helps with identifying devices. It results in some overhead, that may lead to additional controllers needed. I may unite essential flight controls into 1st joystick (axes only) while keeping the rest of the stuff separate.
- the code is mostly cleaned and reformatted for better readability
- it feels great in flight! =)