berarma / oversteer

Steering Wheel Manager for GNU/Linux
GNU General Public License v3.0
595 stars 60 forks source link

Cammus C5 ToDo List #186

Open spikerguy opened 6 months ago

spikerguy commented 6 months ago

Thanks for fixing steering wheel display for Cammus C5

I am documenting the feature that needs to be enabled for Cammus C5, I will try to look into this points but if anyone can guide me then I can try to do it on my own.

  1. Change rotation range.
  2. Change emulation/working modes. (Not sure if applicable)
  3. Change autocentering force strength.
  4. Change force feedback gain.
  5. Device configuration profiles.
  6. Hardware performance testing. (Cannot run test as all buttons are on a different USB device, wheel base is a single axis)

As this device is using modified upstream pidff driver from here there is set gain, autocenter available in the driver itself.

Is there a need for udev rule like other devices are using ? Example:

# Cammus C5 Direct Drive Wheel
ACTION=="bind", SUBSYSTEM=="hid", ATTRS{idVendor}=="3416", ATTRS{idProduct}=="0301", DRIVER=="hid_simagic_ff", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range gain spring_level damper_level friction_level autocenter'"

Cheers

berarma commented 6 months ago
  1. Change rotation range.

The RANGE has to be a setting available from the driver.

  1. Change emulation/working modes. (Not sure if applicable)

Only if the wheel has emulation modes made available by the driver.

  1. Change autocentering force strength.

Only if the driver has this setting.

  1. Change force feedback gain.

Only if the driver has this setting.

  1. Device configuration profiles.

This should work but with no settings it has no real use.

  1. Hardware performance testing. (Cannot run test as all buttons are on a different USB device, wheel base is a single axis)

I could change it so it accepts keys too.

As this device is using modified upstream pidff driver from here there is set gain, autocenter available in the driver itself.

Is there a need for udev rule like other devices are using ? Example:

# Cammus C5 Direct Drive Wheel
ACTION=="bind", SUBSYSTEM=="hid", ATTRS{idVendor}=="3416", ATTRS{idProduct}=="0301", DRIVER=="hid_simagic_ff", RUN+="/bin/sh -c 'cd %S%p; chmod 666 range gain spring_level damper_level friction_level autocenter'"

If Oversteer complains about permissions then yes. But I would put only the settings which are present. In this case, from your comment I guess it would be gain and autocenter.

# Cammus C5 Direct Drive Wheel
ACTION=="bind", SUBSYSTEM=="hid", ATTRS{idVendor}=="3416", ATTRS{idProduct}=="0301", DRIVER=="hid_simagic_ff", RUN+="/bin/sh -c 'cd %S%p; chmod 666 gain autocenter'"
Lawstorant commented 1 month ago

Cammus uses serial to change all these settings. We are not planning on adding serial communication handlers to pidff.

Boxflat uses serial to communicate with Moza wheels, and I'll add Cammus support there.