I myself made a GIMX adapter using Teensy 2 and the CP2102 module.
The firmware - 8.0(6.5)/EMUG29PS4/atmega32u4.hex
PS4
Code: Select all
global option -l with value `log.txt'
global option -c with value `LogitechG25_G29.xml'
controller #1: option -p with value `COM5'
now reading arguments for controller #2
grab flag is unset
status flag is set
subpos flag is set
force_updates flag is set
GIMX 8.0 x86_64
Windows 10 (or later) x64
Kernel version: 10.0 (19042)
GIMX adapter detected, controller type is: G29 PS4.
Firmware version: 8.0
Reset sent to the GIMX adapter.
Current baudrate: 500000 bps.
Trying baudrate: 2000000 bps.
Trying baudrate: 1000000 bps.
Trying baudrate: 500000 bps.
Using baudrate: 500000 bps.
found pass-through device 0x054c:0x09cc
rounding timer period 1000us to 991us
registered joystick 0 with name "PS4 Controller"
using default refresh period: 5.00ms
mouse 0 has name 'HID-совместимая мышь' and virtual id 0
mouse 1 has name 'HID-совместимая мышь' and virtual id 1
keyboard 0 has name 'Клавиатура HID' and virtual id 0
keyboard 1 has name 'Клавиатура HID' and virtual id 1
keyboard 2 has name 'Клавиатура HID' and virtual id 2
keyboard 3 has name 'Клавиатура HID' and virtual id 3
keyboard 4 has name 'Клавиатура HID' and virtual id 4
joystick 0 has name 'PS4 Controller' and virtual id 0
joystick 1 has name 'Logitech G25 Racing Wheel USB' and virtual id 0
Dump of C:\Users\nikit\AppData\Roaming/gimx/config/LogitechG25_G29.xml:
<?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_0" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="2"/>
</button>
<button id="abs_axis_1" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="0"/>
</button>
<button id="abs_axis_2" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="1"/>
</button>
<button id="abs_axis_3" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="19"/>
</button>
<button id="abs_axis_4" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="20"/>
</button>
<button id="abs_axis_5" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="21"/>
</button>
<button id="abs_axis_6" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="22"/>
</button>
<button id="abs_axis_7" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="15"/>
</button>
<button id="abs_axis_8" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="18"/>
</button>
<button id="abs_axis_9" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="17"/>
</button>
<button id="abs_axis_10" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="16"/>
</button>
<button id="abs_axis_11" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="5"/>
</button>
<button id="abs_axis_12" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="4"/>
</button>
<button id="abs_axis_15" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="3"/>
</button>
<button id="abs_axis_20" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="8"/>
</button>
<button id="abs_axis_21" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="9"/>
</button>
<button id="abs_axis_22" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="10"/>
</button>
<button id="abs_axis_23" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="11"/>
</button>
<button id="abs_axis_24" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="12"/>
</button>
<button id="abs_axis_25" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="13"/>
</button>
<button id="abs_axis_26" label="">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="button" id="14"/>
</button>
<button id="abs_axis_0" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="4"/>
</button>
<button id="abs_axis_1" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="6"/>
</button>
<button id="abs_axis_2" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="5"/>
</button>
<button id="abs_axis_3" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="11"/>
</button>
<button id="abs_axis_4" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="14"/>
</button>
<button id="abs_axis_5" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="12"/>
</button>
<button id="abs_axis_6" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="13"/>
</button>
<button id="abs_axis_7" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="3"/>
</button>
<button id="abs_axis_8" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="1"/>
</button>
<button id="abs_axis_9" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="0"/>
</button>
<button id="abs_axis_10" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="2"/>
</button>
<button id="abs_axis_11" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="9"/>
</button>
<button id="abs_axis_12" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="10"/>
</button>
<button id="abs_axis_15" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="7"/>
</button>
<button id="abs_axis_16" label="">
<device type="joystick" id="0" name="PS4 Controller"/>
<event type="button" id="8"/>
</button>
</button_map>
<axis_map>
<axis id="rel_axis_0" label="wheel">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="axis" id="0" dead_zone="0" multiplier="0.0039" exponent="1.00" shape=""/>
</axis>
<axis id="abs_axis_17" label="gas">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<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 G25 Racing Wheel USB"/>
<event type="axis" id="2" dead_zone="0" multiplier="0.008" exponent="1.00" shape=""/>
</axis>
<axis id="abs_axis_19" label="clutch">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="axis" id="4" dead_zone="0" multiplier="0.008" 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 G25 Racing Wheel USB"/>
<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 G25 Racing Wheel USB"/>
<event type="axis" id="2"/>
</correction>
<correction low_value="32767" low_coef="-8192" high_value="0" high_coef="0">
<device type="joystick" id="0" name="Logitech G25 Racing Wheel USB"/>
<event type="axis" id="4"/>
</correction>
</joystick_corrections_list>
</configuration>
</controller>
</root>Warning: macros are not available for: joystick PS4 Controller (0)
Haptic core has source haptic_source_lg for device 046d:c260
Haptic core has sink haptic_sink_lg for joystick 1 (Logitech G25 Racing Wheel USB)
FFB invert: no
FFB gain: constant=100 spring=100 damper=100
Press the key/button assigned to PS.
rounding timer period 5000us to 4959us
0 449.811319
0 452.964187, PS (255)
452.996417 debug packet received (size = 1 bytes)
0x31
Warning: skipping unsupported command DEFAULT_SPRING_ON
wheel range adjusted to 900 degrees
Warning: < skipping unsupported set leds commands
Warning: skipping unsupported command DEFAULT_SPRING_OFF
0 453.358121
0 453.987972, left (255)
0 454.133164
0 454.393103, left (255)
0 454.508371
0 454.813671, left (255)
0 454.893901
0 466.118194, right (255)
0 466.227880
0 466.747436, left (255)
0 466.927537
0 651.433674, right (255)
0 651.658126
0 651.852597, left (255)
0 652.012701
0 785.389695, right (255)
0 785.514364
0 785.898979, left (255)
0 786.063893
0 786.263362, right (255)
0 786.442877
0 786.602422, right (255)
0 786.747083
0 786.962010, right (255)
0 787.061755
0 787.306627, left (255)
0 787.416846
0 787.681099, left (255)
0 787.801287
0 788.036273, left (255)
0 788.150968
0 869.057374, right (255)
0 869.177501
0 869.616383, left (255)
0 869.755946
0 912.123098, left (255)
0 912.312589
0 912.626773, right (255)
0 912.741507
0 913.255438, left (255)
0 913.415572
0 913.785382, right (255)
0 913.860229
0 914.049676, right (255)
0 914.174387
0 921.370529, left (255)
0 921.515121
0 922.173414, left (255)
0 922.318000
0 1266873970.397770, right (255)
0 1266873970.522467
0 1266873971.002664, left (255)
0 1266873971.177725
0 1266873974.938828, right (255)
0 1266873975.098405
0 1266873975.712150, left (255)
0 1266873975.851539
0 1266873977.703520, right (255)
0 1266873977.843129
0 1266873978.177265, left (255)
0 1266873978.356753
0 1266873978.860746, right (255)
0 1266873979.000371
0 1266873979.264718, left (255)
0 1266873979.474156
0 1266873979.938930, left (255)
0 1266873980.109015
0 1266873980.363596, right (255)
0 1266873980.503242
0 1266873981.211276, left (255)
0 1266873981.365915
0 1266873981.775755, left (255)
0 1266873981.876010
0 1266873982.030534, left (255)
0 1266873982.075475
0 1266873982.200083, left (255)
0 1266873982.274879
0 1266873982.569150, left (255)
0 1266873982.663897
0 1266873982.744683, left (255)
0 1266873982.849400
0 1266873989.293487, left (255)
0 1266873989.373273
0 1266873989.492855, left (255)
0 1266873989.572638
0 1266873995.717714, PS (255)
0 1266873995.922645
0 1266873996.252268, options (255)
0 1266873996.426789
0 1266873996.721032, share (255)
0 1266873996.895579
0 1266873997.215228, l3 (255)
0 1266873997.439406
0 1266873998.586263, options (255)
0 1266873998.591192, options (255), PS (255)
0 1266873998.616190, options (255), PS (255), l3 (255)
0 1266873998.621158, share (255), options (255), PS (255), l3 (255)
0 1266873999.031148, share (255), PS (255), l3 (255)
0 1266873999.061115, PS (255), l3 (255)
0 1266873999.076077
Exiting
src/windows/gprio.c:105 restoreprocess: SetProcessAffinityMask failed with error: Отказано в доступе.
src/windows/gprio.c:105 restoreprocess: SetProcessAffinityMask failed with error: Отказано в доступе.
src/windows/gprio.c:105 restoreprocess: SetProcessAffinityMask failed with error: Отказано в доступе.
Sorry for my bed England:)