v7 dead band problem

Questions, in particular about the usage / Fragen vor allem zu Benutzung von HELI-X
Post Reply
olegan
Posts: 7
Joined: 27 Jan 2018 16:44

v7 dead band problem

Post by olegan »

HELI-X 7, Linux 64bit, RealFlight controller.
All sticks have dead band, even the throttle. Dead band settings in Flight Mode are at 0.
Here is a video: https://youtu.be/5NLq-2wvQG0

Version 6 works just fine, so the controller itself is ok.
User avatar
Michael
Posts: 1825
Joined: 25 May 2008 16:11
Location: Germany
Contact:

Re: v7 dead band problem

Post by Michael »

Yuu can try the different input systems: global options->input system
olegan
Posts: 7
Joined: 27 Jan 2018 16:44

Re: v7 dead band problem

Post by olegan »

Thank you, Michael

Code: Select all

jinput-b1.jar
did the trick
eraserix
Posts: 2
Joined: 13 Oct 2018 11:08

Re: v7 dead band problem

Post by eraserix »

Sorry to resurrect this old thread.

Heli-X 7, Ubuntu 18.04 64b, Cypress USB dsmX HID, same problem, but none of the input systems improves the situation.

I've triead all input libraries (-b1 does not see any controller in my case). The others all work the same with lots of dead band. The controller works fine in another simulation on windows.

Edit: The controller also works fine with Heli-X in Windows (jinput-b8, default did not recognize any controller).
User avatar
Michael
Posts: 1825
Joined: 25 May 2008 16:11
Location: Germany
Contact:

Re: v7 dead band problem

Post by Michael »

Is there a chance to calibrate the controller in Linux?
eraserix
Posts: 2
Joined: 13 Oct 2018 11:08

Re: v7 dead band problem

Post by eraserix »

Yep, turns out you can. Good writeup: https://wiki.archlinux.org/index.php/Gamepad

What I ended up doing and what seems to solve my problem on Ubuntu 18.04:
  1. Code: Select all

    apt install joystick jstest-gtk
  2. Run jstest-gtk and calibrate your stick. This turned out to set the dead zones to reasonable values. Take note about the device path displayed in the tool, e.g. something like /dev/input/js0
  3. Store the calibration values of the device. This avoids having to recalibrate the device after every boot. Use the device path from step (2)

    Code: Select all

    sudo jscal-store /dev/input/js0
User avatar
Grant_Edwards
Posts: 25
Joined: 11 Nov 2012 03:35
Location: Minneapolis, Minnesota, USA

Re: v7 dead band problem [Linux]

Post by Grant_Edwards »

[I know this thread is old, but I spent a couple hours figuring this out the other day, so I thought I'd document it for posterity.]

[This is all for Linux only]

The simplest thing to do is to just eliminate all flat spots, deadband, gain and offset being applied by the old joystick API layer (which is what heli-x appears to use by default — it's reading /dev/input/jsN instead of /dev/input/eventNN). You do that with a command like this for a 6-channel joystick at /dev/input/js0:

Code: Select all

jscal -s 6,0,0,0,0,0,0,0,0,0,0,0,0 /dev/input/js0
The initial '6' is the number of channels, and then there are two zeros per channel after that.

That will eliminate all deadband, fuzz, gain, and offset. Heli-x will see the raw values exactly as reported by the low-level driver. As long as the raw values are even remotely stable and linear, that's what you want. The heli-x calibration and rate/expo settings can then be applied to get whatever response you want.

If, OTOH, heli-x starts using the modern "event" API (by reading /dev/input/eventNN), the deadband, gain, etc. is configured by the evdev-joystick command. In that case, disabling deadband and fuzz is done like this:

Code: Select all

evdev-joystick --e /dev/input/event12 --d 0 --f 0
I think I needlessly discarded a cheap USB controller a few years ago because I never figured out the source of the deadband when trying to use it. If I had figured out that jscal command back then, it probably would have been OK (though not nearly as nice as the Futaba Interlink Elite I've got now). :(
Post Reply