Page 1 of 1

General Understanding of GIMX

Posted: Sat Oct 21, 2017 12:03 pm
by Adun
Hi,

Yesterday i tried to play GT Sport on my new ps4.
Unfortunally my Logitech G27 is not working with ps4.

So i searched the internet and found is great project.
Poorly i have no idea how this works. All i understood is, that GIMX is simulating a ps4 compatible output from a connected PC compatible input device.

Now, how is the teensy board working (in this setup)? Does it some kind of emulate a (in my case G29) device input?
And what is the USB-to-Serial Adapter needed for?

I have some components at home and im not sure if i can build a GIMX adapter with them.
I got a Arduino UNO board, some basic electronic parts and a RasPi. And Ubunutu, Windows PCs.
Can i use my Arduino Uno board as Teensy board? My Arduino uno uses a atmega328p instead of atmega32u4, is that a Problem?
Can I instead use the second chip of my arduino (atmega16u2)

mfg
Simon

Re: General Understanding of GIMX

Posted: Mon Oct 23, 2017 3:49 pm
by Adun
Update:

I spent the last 3days understanding GIMX (building a adapter)

Please correct me if im saying anything wrong, but from what i understood its like this:
- G27 sends input to PC/RasPi
- Raspi transforms USB input into serial input.
- Raspi sends serial output over gpio uart pins
- Teensy / Arduino reads serial input and transforms it into a USB signal containing the G29 signature and the DS4 acknowledegment.
- Teensy / Arduino sends modified USB output to PS4

Can you help me fully understand?


PS: im currently trying to build a DIY USB adapter with a Arduino Uno and a Banana Pi (M1) i will give info if i have success with this.
I believe i was able to flash the ATmega16u2 usb controller chip the arduino is using as usb-serial-converter.
(The ATmega328p is not in use so far, i believe it cant be used, because its missing integrated USB handling)

Best Regards,
Simon

Re: General Understanding of GIMX

Posted: Tue Oct 24, 2017 9:43 am
by Matlo
Your understanding is correct.

To avoid any issue you should look for a board based on the atmega32u4 chip.
And make sure to convert the TX level of the AVR USB board to 3.3V.

Re: General Understanding of GIMX

Posted: Fri Nov 24, 2017 5:16 am
by Azhrei
So... I guess I’m missing something. Why is the Teensy board required at all when using a Pi? What is it doing that the Pi can’t do?

Sorry, I’m just not understanding what functionality the Teensy provides and thus why it’s required.

Any insight would be appreciated. I’ve scoured every page of the wiki, including the FAQ. They’re very specific about using a device with particular chipsets but I didn’t see any kind of high-level block diagram or similar.

Thanks!

Re: General Understanding of GIMX

Posted: Mon Nov 27, 2017 9:50 am
by Matlo
The Teensy can be programmed to behave as specific USB devices.

Re: General Understanding of GIMX

Posted: Mon Nov 27, 2017 3:45 pm
by Azhrei
Is that something the RPi can’t do for some reason? Why?

Re: General Understanding of GIMX

Posted: Mon Nov 27, 2017 9:37 pm
by Matlo
This is due to the USB spec that defines two roles, host and device.
It is not possible to be both at the same time (on the same port / bus).
The RPi has to be a host to host input devices.

Re: General Understanding of GIMX

Posted: Sat Dec 16, 2017 2:04 pm
by bluesign
AFAIK raspberry pi USB port, cannot be "slave" on B, B+ models.
I guess only Zero, A+ supporting slave mode technically, and probably complicated.

Re: General Understanding of GIMX

Posted: Sat Dec 16, 2017 11:57 pm
by Matlo
Yes, and most use cases require to have a USB host port.