We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 2303

Summary: Uncalibrated values for Logitech Wingman Formula Force GP Wheel axes are used after calibration
Product: SDL Reporter: Toby Haynes <tjwhaynes>
Component: joystickAssignee: Ryan C. Gordon <icculus>
Status: RESOLVED DUPLICATE QA Contact: Sam Lantinga <slouken>
Severity: normal    
Priority: P2 CC: ahartmetz
Version: HG 2.1   
Hardware: x86_64   
OS: Linux   

Description Toby Haynes 2013-12-14 00:31:17 UTC
Here's the uncalibrated, just plugged in extremes for axes 0 (wheel) and 1 (throttle/brake) as reported by jstest.

toby@toby-desktop:~/progs/git/SDL2/test$ jstest /dev/input/by-id/usb-Logitech_Inc._WingMan_Formula_Force_GP-joystick 
Driver version is 2.1.0.
Joystick (Logitech Inc. WingMan Formula Force GP) has 2 axes (X, Y)
and 6 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn).
Testing ... (interrupt to exit)
Axes:  0:-14810  1:-20945 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0:-14810  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0:-14810  1: 25336 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0:-32767  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0: 32001  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0:     0  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 

This is the equivalent output from testjoystick from a recent git clone.

toby@toby-desktop:~/progs/git/SDL2/test$ ./testjoystick 0 
Checking /dev/input/event19
There are 1 joysticks attached
Joystick 0: Logitech Inc. WingMan Formula Force GP
Joystick has button: 0x120
Joystick has button: 0x121
Joystick has button: 0x122
Joystick has button: 0x123
Joystick has button: 0x124
Joystick has button: 0x125
Joystick has absolute axis: 0
Values = { 511, 0, 1023, 3, 63 }
Joystick has absolute axis: 1
Values = { 131, 0, 255, 0, 15 }
Joystick : Re-read Axis 0 (0) val= 0
Joystick : Re-read Axis 1 (1) val= 0
       axes: 2
      balls: 0
       hats: 0
    buttons: 6
instance id: 0
       guid: 030000006d04000093c2000000010000
Joystick has button: 0x120
Joystick has button: 0x121
Joystick has button: 0x122
Joystick has button: 0x123
Joystick has button: 0x124
Joystick has button: 0x125
Joystick has absolute axis: 0
Values = { 511, 0, 1023, 3, 63 }
Joystick has absolute axis: 1
Values = { 131, 0, 255, 0, 15 }
Joystick : Re-read Axis 0 (0) val= 0
Joystick : Re-read Axis 1 (1) val= 0
Watching joystick 0: (Logitech Inc. WingMan Formula Force GP)
Joystick has 2 axes, 0 hats, 0 balls, and 6 buttons
Joystick 0 axis 1 value: -505
Joystick 0 axis 1 value: -2521
Joystick 0 axis 1 value: -5546
Joystick 0 axis 1 value: -9915
Joystick 0 axis 1 value: -13612
Joystick 0 axis 1 value: -16973
Joystick 0 axis 1 value: -21006
Joystick 0 axis 1 value: -21342
Joystick 0 axis 1 value: -21678
Joystick 0 axis 1 value: -21006
Joystick 0 axis 1 value: -17981
Joystick 0 axis 1 value: -14956
Joystick 0 axis 1 value: -11259
Joystick 0 axis 1 value: -6554
Joystick 0 axis 1 value: -1513
Joystick 0 axis 1 value: 0
Joystick 0 axis 1 value: 2520
Joystick 0 axis 1 value: 5881
Joystick 0 axis 1 value: 8570
Joystick 0 axis 1 value: 10922
Joystick 0 axis 1 value: 14619
Joystick 0 axis 1 value: 18316
Joystick 0 axis 1 value: 21677
Joystick 0 axis 1 value: 25374
Joystick 0 axis 1 value: 25710
Joystick 0 axis 1 value: 25038
Joystick 0 axis 1 value: 24702
Joystick 0 axis 1 value: 23021
Joystick 0 axis 1 value: 21005
Joystick 0 axis 1 value: 19324
Joystick 0 axis 1 value: 16636
Joystick 0 axis 1 value: 13611
Joystick 0 axis 1 value: 11258
Joystick 0 axis 1 value: 8234
Joystick 0 axis 1 value: 4537
Joystick 0 axis 1 value: 504
Joystick 0 axis 1 value: 0

These values are consistent enough.

Calibrating the joystick using jscal gives a full range with jstest.

toby@toby-desktop:~/progs/git/SDL2/test$ jscal -s 2,1,0,458,458,1272167,1086750,1,0,130,130,6391125,5965050 /dev/input/by-id/usb-Logitech_Inc._WingMan_Formula_Force_GP-joystick
toby@toby-desktop:~/progs/git/SDL2/test$ jstest /dev/input/by-id/usb-Logitech_Inc._WingMan_Formula_Force_GP-joystick
Driver version is 2.1.0.
Joystick (Logitech Inc. WingMan Formula Force GP) has 2 axes (X, Y)
and 6 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn).
Testing ... (interrupt to exit)
Axes:  0:-32690  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0: 32634  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0: -2330  1:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0: -1864  1: 32766 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off 
Axes:  0: -1864  1:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off ^C

Now if I repeat the testjoystick test, I still see the original test range for axis 1.

Watching joystick 0: (Logitech Inc. WingMan Formula Force GP)
Joystick has 2 axes, 0 hats, 0 balls, and 6 buttons
Joystick 0 axis 0 value: -1233
Joystick 0 axis 0 value: -1233
Joystick 0 axis 1 value: -1513
Joystick 0 axis 1 value: -5882
Joystick 0 axis 1 value: -10587
Joystick 0 axis 1 value: -14620
Joystick 0 axis 1 value: -18317
Joystick 0 axis 1 value: -22350
Joystick 0 axis 1 value: -21678
Joystick 0 axis 1 value: -18989
Joystick 0 axis 1 value: -15628
Joystick 0 axis 1 value: -11595
Joystick 0 axis 1 value: -7226
Joystick 0 axis 1 value: -1513
Joystick 0 axis 1 value: 0
Joystick 0 axis 1 value: 2856
Joystick 0 axis 1 value: 6889
Joystick 0 axis 1 value: 9578
Joystick 0 axis 1 value: 11930
Joystick 0 axis 1 value: 15291
Joystick 0 axis 1 value: 18652
Joystick 0 axis 1 value: 21677
Joystick 0 axis 1 value: 25038
Joystick 0 axis 1 value: 26046
Joystick 0 axis 1 value: 25374
Joystick 0 axis 1 value: 25038
Joystick 0 axis 1 value: 25710
Joystick 0 axis 1 value: 26046
Joystick 0 axis 1 value: 25374
Joystick 0 axis 1 value: 25038
Joystick 0 axis 1 value: 24702
Joystick 0 axis 1 value: 24365
Joystick 0 axis 1 value: 22685
Joystick 0 axis 1 value: 20669
Joystick 0 axis 1 value: 18988
Joystick 0 axis 1 value: 15627
Joystick 0 axis 1 value: 10922
Joystick 0 axis 1 value: 6889
Joystick 0 axis 1 value: 1512
Joystick 0 axis 1 value: 0

I believe I am also seeing this behaviour in the StuntRally 2.2.1 release and also in Euro Truck Simulator 2 (current Steam version).
Comment 1 Andreas Hartmetz 2014-03-15 21:22:36 UTC
This is an aspect of bug 2353 - there is just no support for calibration anymore.
Comment 2 Ryan C. Gordon 2014-03-22 19:14:07 UTC
Yes, this is a duplicate of Bug #2353, but we're going to add support for this back in.

--ryan.

*** This bug has been marked as a duplicate of bug 2353 ***