Combined Pedal on RPi

Need help? Ask here and someone will help
Post Reply
normen
Posts: 4
Joined: Fri Oct 21, 2016 4:06 pm

Combined Pedal on RPi

Post by normen »

Hey,

first of all thank you for this awesome piece of software!

After some tinkering, back and forth and trying around I finally got my setup working - at least halfway. I have a RasPi with a DIY USB connector (G29 Firmware) and a Logitech Driving Force EX basically working with my PS4.

My only problem now (and this is why I post here) is that I don't know how to separate the brake and gas axis. Since I am running on RasPi I can't install the windows Logitech software as was suggested elsewhere - and I don't even know if the EX wheel supports dual-axis gas/brake. Is there any way to enable dual-mode or use GIMX with one axis?

I'd be grateful for any help!

Cheers,
Normen

P.S. For anyone finds this thread because he's also trying to get the Logitech Driving Force EX to work:
- Had to downgrade the RPi as indicated in the wiki
- Had to make my own mapping with the correct names using gimx-config ("Logitech Logitech Driving Force EX" / "Sony Computer Entertainment Wireless Controller")
- Had to assign a PS button to actually start the wheel in the PS4
User avatar
Matlo
Posts: 5768
Joined: Wed Jul 06, 2011 7:01 am
Location: France
Contact:

Re: Combined Pedal on RPi

Post by Matlo »

Hi,
With combined pedals you get a single axis, with positive values for one pedals, and negative values for the other.
Use the same axis for gas and brake, and reverse the sensitivity for one of the pedals (-0.008 instead of 0.008).
GIMX creator
normen
Posts: 4
Joined: Fri Oct 21, 2016 4:06 pm

Re: Combined Pedal on RPi

Post by normen »

Matlo wrote:Hi,
With combined pedals you get a single axis, with positive values for one pedals, and negative values for the other.
Use the same axis for gas and brake, and reverse the sensitivity for one of the pedals (-0.008 instead of 0.008).
Hey, thanks for the answer. Unfortunately I am still struggling. It seems that the "correction" entry is messing with this (its the same as in the normal G27 configuration file). When the correction setting is in the config file the pedals don't behave any different than before, even with the new parameter in. When I remove the correction the gas pedal in-game is pressed all the way when the hardware is not pressed, when I press the hardware pedal down the gas in-game is reduced and at some point when the hardware gas pedal is fully pressed the in-game brake pedal will be pressed. The hardware brake pedal doesn't seem to do anything.

Here's my config for reference (currently commented out the correction):

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <controller id="1" dpi="0" type="G29 PS4">
    <configuration id="1">
      <trigger type="" id="" name="" button_id="" switch_back="no" delay="0"/>
      <mouse_options_list/>
      <intensity_list/>
      <button_map>
        <button id="abs_axis_2" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="8"/>
        </button>
        <button id="abs_axis_1" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="9"/>
        </button>
        <button id="abs_axis_3" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="12"/>
        </button>
        <button id="abs_axis_4" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="13"/>
        </button>
        <button id="abs_axis_5" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="14"/>
        </button>
        <button id="abs_axis_6" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="15"/>
        </button>
        <button id="abs_axis_7" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="3"/>
        </button>
        <button id="abs_axis_8" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="2"/>
        </button>
        <button id="abs_axis_9" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="0"/>
        </button>
        <button id="abs_axis_10" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="1"/>
        </button>
        <button id="abs_axis_11" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="5"/>
        </button>
        <button id="abs_axis_12" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="4"/>
        </button>
        <button id="abs_axis_13" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="7"/>
        </button>
        <button id="abs_axis_14" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="6"/>
        </button>
        <button id="abs_axis_15" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="11"/>
        </button>
        <button id="abs_axis_16" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="10"/>
        </button>
        <button id="abs_axis_17" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="15"/>
        </button>
        <button id="abs_axis_10" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="2"/>
        </button>
        <button id="abs_axis_9" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="0"/>
        </button>
        <button id="abs_axis_8" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="1"/>
        </button>
        <button id="abs_axis_7" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="3"/>
        </button>
        <button id="abs_axis_11" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="9"/>
        </button>
        <button id="abs_axis_12" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="10"/>
        </button>
        <button id="abs_axis_0" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="4"/>
        </button>
        <button id="abs_axis_1" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="6"/>
        </button>
        <button id="abs_axis_15" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="7"/>
        </button>
        <button id="abs_axis_16" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="8"/>
        </button>
        <button id="abs_axis_2" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="5"/>
        </button>
        <button id="abs_axis_3" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="11"/>
        </button>
        <button id="abs_axis_4" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="14"/>
        </button>
        <button id="abs_axis_5" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="12"/>
        </button>
        <button id="abs_axis_6" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="13"/>
        </button>
      </button_map>
      <axis_map>
        <axis id="abs_axis_17" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="1" dead_zone="0" multiplier="0.008" exponent="1.00" shape=""/>
        </axis>
        <axis id="abs_axis_18" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="1" dead_zone="0" multiplier="-0.008" exponent="1.00" shape=""/>
        </axis>
        <axis id="rel_axis_0" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="0" dead_zone="0" multiplier="0.003" exponent="1.00" shape=""/>
        </axis>
      </axis_map>
      <joystick_corrections_list>
        <!--correction low_value="32767" low_coef="-8192" high_value="0" high_coef="0">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="1"/>
        </correction-->
      </joystick_corrections_list>
    </configuration>
  </controller>
</root>
Edit: Btw I am also getting messages like this every now and then in the log (sometimes a lot of them at once):

Code: Select all

libusb_transfer failed with status LIBUSB_TRANSFER_ERROR (endpoint=0x01)
libusb_transfer failed with status LIBUSB_TRANSFER_ERROR (endpoint=0x84)
normen
Posts: 4
Joined: Fri Oct 21, 2016 4:06 pm

Re: Combined Pedal on RPi

Post by normen »

Duh.. You know what? It actually works with two separate axes already.... I just didn't realize because apparently the gimx-config tool doesn't set the wheel into native mode so in there I only get one axis. But when I change the config file later to use axis "2" it works as intended... Sorry for being so daft as not to try it..

I still do get those USB errors though, any idea on that?

Anyway heres my working config for "Logitech Driving Force EX" wheel:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <controller id="1" dpi="0" type="G29 PS4">
    <configuration id="1">
      <trigger type="" id="" name="" button_id="" switch_back="no" delay="0"/>
      <mouse_options_list/>
      <intensity_list/>
      <button_map>
        <button id="abs_axis_2" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="8"/>
        </button>
        <button id="abs_axis_1" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="9"/>
        </button>
        <button id="abs_axis_3" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="12"/>
        </button>
        <button id="abs_axis_4" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="13"/>
        </button>
        <button id="abs_axis_5" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="14"/>
        </button>
        <button id="abs_axis_6" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="15"/>
        </button>
        <button id="abs_axis_7" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="3"/>
        </button>
        <button id="abs_axis_8" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="2"/>
        </button>
        <button id="abs_axis_9" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="0"/>
        </button>
        <button id="abs_axis_10" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="1"/>
        </button>
        <button id="abs_axis_11" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="5"/>
        </button>
        <button id="abs_axis_12" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="4"/>
        </button>
        <button id="abs_axis_13" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="7"/>
        </button>
        <button id="abs_axis_14" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="6"/>
        </button>
        <button id="abs_axis_15" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="11"/>
        </button>
        <button id="abs_axis_16" label="">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="button" id="10"/>
        </button>
        <button id="abs_axis_17" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="15"/>
        </button>
        <button id="abs_axis_10" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="2"/>
        </button>
        <button id="abs_axis_9" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="0"/>
        </button>
        <button id="abs_axis_8" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="1"/>
        </button>
        <button id="abs_axis_7" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="3"/>
        </button>
        <button id="abs_axis_11" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="9"/>
        </button>
        <button id="abs_axis_12" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="10"/>
        </button>
        <button id="abs_axis_0" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="4"/>
        </button>
        <button id="abs_axis_1" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="6"/>
        </button>
        <button id="abs_axis_15" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="7"/>
        </button>
        <button id="abs_axis_16" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="8"/>
        </button>
        <button id="abs_axis_2" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="5"/>
        </button>
        <button id="abs_axis_3" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="11"/>
        </button>
        <button id="abs_axis_4" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="14"/>
        </button>
        <button id="abs_axis_5" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="12"/>
        </button>
        <button id="abs_axis_6" label="">
          <device type="joystick" id="0" name="Sony Computer Entertainment Wireless Controller"/>
          <event type="button" id="13"/>
        </button>
      </button_map>
      <axis_map>
        <axis id="abs_axis_17" label="gas">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="1" dead_zone="0" multiplier="0.008" exponent="1.00" shape=""/>
        </axis>
        <axis id="abs_axis_18" label="brake">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="2" dead_zone="0" multiplier="0.008" exponent="1.00" shape=""/>
        </axis>
        <axis id="rel_axis_0" label="wheel">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="0" dead_zone="0" multiplier="0.003" exponent="1.00" shape=""/>
        </axis>
      </axis_map>
      <joystick_corrections_list>
        <correction low_value="32767" low_coef="-8192" high_value="0" high_coef="0">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="1"/>
        </correction>
        <correction low_value="32767" low_coef="-8192" high_value="0" high_coef="0">
          <device type="joystick" id="0" name="Logitech Logitech Driving Force EX"/>
          <event type="axis" id="2"/>
        </correction>
      </joystick_corrections_list>
    </configuration>
  </controller>
</root>
User avatar
Matlo
Posts: 5768
Joined: Wed Jul 06, 2011 7:01 am
Location: France
Contact:

Re: Combined Pedal on RPi

Post by Matlo »

I think the USB errors are due to a performance issue on the RPi. It's unresolved yet, due to a lack of time.
I pushed your config into the repository. Thanks.
If you have a Windows machine, it would be great if you could make a configuration for Windows.
GIMX creator
normen
Posts: 4
Joined: Fri Oct 21, 2016 4:06 pm

Re: Combined Pedal on RPi

Post by normen »

Matlo wrote:I think the USB errors are due to a performance issue on the RPi. It's unresolved yet, due to a lack of time.
I pushed your config into the repository. Thanks.
If you have a Windows machine, it would be great if you could make a configuration for Windows.
Sorry, I only have Macs, RasPis and a PS4 :)

The RasPi is a RasPi1, so the least performant of the bunch, I didn't look at the CPU meter yet - it does seem to work though but the force feedback seems a little odd at some points. Didn't play DriveClub with that wheel before though so I don't have any comparison, only with "Dirt" on PS3.

Thanks again for the help and your work on this software!
Post Reply