lmirel / mfc

motion feedback controller

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mfc - motion feedback controller

this tool uses the native in-game telemetry shared via UDP/TCP from games to control a motion platform.
the following games are supported so far:

  • Assetto Corsa (PS4)
  • Codemaster's F1 (PS4) and Dirt Rally (PC)
  • Project Cars 2 (PS4)

the next thing it does, it uses the USB HID data exchanged between the steering wheel and the gaming console to 'guesstimate' how a motion platform SHOULD move as if it had telemetry available. it does its best and most of the times it manages well. keep in mind however that it guesses that and it relies heavily on the FFB and wheel data to do it.
supported wheels so far:
  • Thrustmaster T300RS for PS4
  • Logitech G92 for PS4
  • Fanatec Elite CSL for PS4

how this works

the MFC SERVER controls the motion platform drivers.
the MFC CLIENTS are programs that receive native telemetry data and sends it to the server (see list of games above).
the USB XTRACTOR is used to proxy between the steering wheel and the console to extract USB HID data.
the MFC XTRACTOR uses the USB HID data to generate game telemetry.
the two extractors are only needed if the games you play don't provide in-game telemetry via UDP/TCP. the USBXTRACTOR also requires an Arduino/Teensy atmega32u4 with custom firmware. this solution is based on Matlo's https://github.com/matlo/serialusb

the end result using the xtractors on a PS4 system looks something like this:
side view and back view

WiKi


Tested on a system using Raspberry PI2/3.

USE AT YOUR OWN RISK and Enjoy!

consider a small donation if you feel this helped you: https://paypal.me/lazarmirel

About

motion feedback controller

License:GNU General Public License v3.0


Languages

Language:C 93.2%Language:Makefile 2.5%Language:XSLT 1.8%Language:C++ 1.6%Language:Python 0.4%Language:HTML 0.2%Language:Shell 0.2%Language:Assembly 0.1%Language:CSS 0.1%Language:JavaScript 0.0%