UDP relay support 라는 언급이 있는데

[링크 : https://simtools.us/plugin/?varname=180&color=0e97dd]

 

포르자 쪽 보면 data out 이라고 해서 UDP Race Telemetry Data Out enable 이라는게 보인다.

[링크 : https://simtools.us/plugin/?varname=378&color=0e97dd]

 

그래서 게임 제작사 codemasters 와 telemetry로 검색하니 온갖 파서들이 다 나온다.

[링크 : https://github.com/raweceek-temeletry/f1-2021-udp]

[링크 : https://github.com/ozkar99/cm-telemetry]

[링크 : https://github.com/racehub-io/f1-telemetry-client]

 

[링크 : https://docs.simucube.com/Tuner/games/F1.html]

 

그러면.. 저걸 파싱할수 있으면 굳이 저 돈 들여서 프로그램을 안사도 된다인가?!

'모종의 음모 > force feedback' 카테고리의 다른 글

grid 2 motion port  (0) 2024.10.26
FFBchecker + Driving Force GT  (2) 2024.10.22
joyston air twister fx on linux  (0) 2024.10.21
driving force gt on linux  (0) 2024.10.21
simtools  (0) 2024.10.21
Posted by 구차니

비행기용 조이스틱인데 대충보기에는 참 평이한 구성으로 출력된다.

$ sudo evtest 

No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Lid Switch
/dev/input/event10: HDA Intel PCH Line
/dev/input/event11: HDA Intel PCH Dock Line Out
/dev/input/event12: HDA Intel PCH Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: Wacom Serial Penabled 2FG Touchscreen Pen
/dev/input/event15: Wacom Serial Penabled 2FG Touchscreen Finger
/dev/input/event16: 5-Axis,12-Button with POV 
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: PS/2 Generic Mouse
/dev/input/event5: SynPS/2 Synaptics TouchPad
/dev/input/event6: ST LIS3LV02DL Accelerometer
/dev/input/event7: HP WMI hotkeys
/dev/input/event8: Video Bus
/dev/input/event9: HDA Intel PCH Mic
Select the device event number [0-16]: 16
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x12bd product 0xa02f version 0x110
Input device name: "5-Axis,12-Button with POV "
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 288 (BTN_TRIGGER)
    Event code 289 (BTN_THUMB)
    Event code 290 (BTN_THUMB2)
    Event code 291 (BTN_TOP)
    Event code 292 (BTN_TOP2)
    Event code 293 (BTN_PINKIE)
    Event code 294 (BTN_BASE)
    Event code 295 (BTN_BASE2)
    Event code 296 (BTN_BASE3)
    Event code 297 (BTN_BASE4)
    Event code 298 (BTN_BASE5)
    Event code 299 (BTN_BASE6)
    Event code 300 (?)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 5 (ABS_RZ)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 6 (ABS_THROTTLE)
      Value      0
      Min        0
      Max      255
      Flat      15
    Event code 16 (ABS_HAT0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (ABS_HAT0Y)
      Value      0
      Min       -1
      Max        1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1729519360.492894, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519360.492894, type 3 (EV_ABS), code 6 (ABS_THROTTLE), value 127
Event: time 1729519360.492894, -------------- SYN_REPORT ------------
Event: time 1729519376.404629, type 3 (EV_ABS), code 2 (ABS_Z), value 1
Event: time 1729519376.404629, -------------- SYN_REPORT ------------
Event: time 1729519376.436627, type 3 (EV_ABS), code 2 (ABS_Z), value 5
Event: time 1729519376.436627, -------------- SYN_REPORT ------------
Event: time 1729519376.476618, type 3 (EV_ABS), code 2 (ABS_Z), value 8
Event: time 1729519376.476618, -------------- SYN_REPORT ------------
Event: time 1729519376.564670, type 3 (EV_ABS), code 2 (ABS_Z), value 11
Event: time 1729519376.564670, -------------- SYN_REPORT ------------
Event: time 1729519377.748662, type 3 (EV_ABS), code 2 (ABS_Z), value 5
Event: time 1729519377.748662, -------------- SYN_REPORT ------------
Event: time 1729519377.780707, type 3 (EV_ABS), code 2 (ABS_Z), value 0
Event: time 1729519377.780707, -------------- SYN_REPORT ------------
Event: time 1729519378.244729, type 3 (EV_ABS), code 0 (ABS_X), value 125
Event: time 1729519378.244729, -------------- SYN_REPORT ------------
Event: time 1729519378.276728, type 3 (EV_ABS), code 0 (ABS_X), value 118
Event: time 1729519378.276728, -------------- SYN_REPORT ------------
Event: time 1729519378.292704, type 3 (EV_ABS), code 0 (ABS_X), value 112
Event: time 1729519378.292704, -------------- SYN_REPORT ------------
Event: time 1729519378.324727, type 3 (EV_ABS), code 0 (ABS_X), value 105
Event: time 1729519378.324727, -------------- SYN_REPORT ------------
Event: time 1729519378.340660, type 3 (EV_ABS), code 0 (ABS_X), value 109
Event: time 1729519378.340660, -------------- SYN_REPORT ------------
Event: time 1729519378.500725, type 3 (EV_ABS), code 0 (ABS_X), value 112
Event: time 1729519378.500725, -------------- SYN_REPORT ------------
Event: time 1729519378.516727, type 3 (EV_ABS), code 0 (ABS_X), value 115
Event: time 1729519378.516727, -------------- SYN_REPORT ------------
Event: time 1729519378.532603, type 3 (EV_ABS), code 0 (ABS_X), value 125
Event: time 1729519378.532603, -------------- SYN_REPORT ------------
Event: time 1729519378.548647, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519378.548647, -------------- SYN_REPORT ------------
Event: time 1729519380.036592, type 3 (EV_ABS), code 0 (ABS_X), value 134
Event: time 1729519380.036592, -------------- SYN_REPORT ------------
Event: time 1729519380.052624, type 3 (EV_ABS), code 0 (ABS_X), value 144
Event: time 1729519380.052624, -------------- SYN_REPORT ------------
Event: time 1729519380.068580, type 3 (EV_ABS), code 0 (ABS_X), value 150
Event: time 1729519380.068580, -------------- SYN_REPORT ------------
Event: time 1729519380.164676, type 3 (EV_ABS), code 0 (ABS_X), value 144
Event: time 1729519380.164676, -------------- SYN_REPORT ------------
Event: time 1729519380.196695, type 3 (EV_ABS), code 0 (ABS_X), value 131
Event: time 1729519380.196695, -------------- SYN_REPORT ------------
Event: time 1729519380.212620, type 3 (EV_ABS), code 0 (ABS_X), value 127
Event: time 1729519380.212620, -------------- SYN_REPORT ------------
Event: time 1729519380.716688, type 3 (EV_ABS), code 1 (ABS_Y), value 121
Event: time 1729519380.716688, -------------- SYN_REPORT ------------
Event: time 1729519380.724588, type 3 (EV_ABS), code 1 (ABS_Y), value 115
Event: time 1729519380.724588, -------------- SYN_REPORT ------------
Event: time 1729519380.756619, type 3 (EV_ABS), code 1 (ABS_Y), value 102
Event: time 1729519380.756619, -------------- SYN_REPORT ------------
Event: time 1729519380.780616, type 3 (EV_ABS), code 1 (ABS_Y), value 86
Event: time 1729519380.780616, -------------- SYN_REPORT ------------
Event: time 1729519380.836605, type 3 (EV_ABS), code 1 (ABS_Y), value 89
Event: time 1729519380.836605, -------------- SYN_REPORT ------------
Event: time 1729519380.852619, type 3 (EV_ABS), code 1 (ABS_Y), value 96
Event: time 1729519380.852619, -------------- SYN_REPORT ------------
Event: time 1729519380.868581, type 3 (EV_ABS), code 1 (ABS_Y), value 102
Event: time 1729519380.868581, -------------- SYN_REPORT ------------
Event: time 1729519380.884619, type 3 (EV_ABS), code 1 (ABS_Y), value 105
Event: time 1729519380.884619, -------------- SYN_REPORT ------------
Event: time 1729519380.900619, type 3 (EV_ABS), code 1 (ABS_Y), value 121
Event: time 1729519380.900619, -------------- SYN_REPORT ------------
Event: time 1729519380.916570, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519380.916570, -------------- SYN_REPORT ------------
Event: time 1729519381.188653, type 3 (EV_ABS), code 1 (ABS_Y), value 141
Event: time 1729519381.188653, -------------- SYN_REPORT ------------
Event: time 1729519381.204673, type 3 (EV_ABS), code 1 (ABS_Y), value 157
Event: time 1729519381.204673, -------------- SYN_REPORT ------------
Event: time 1729519381.220616, type 3 (EV_ABS), code 1 (ABS_Y), value 176
Event: time 1729519381.220616, -------------- SYN_REPORT ------------
Event: time 1729519381.236686, type 3 (EV_ABS), code 1 (ABS_Y), value 179
Event: time 1729519381.236686, -------------- SYN_REPORT ------------
Event: time 1729519381.284615, type 3 (EV_ABS), code 1 (ABS_Y), value 185
Event: time 1729519381.284615, -------------- SYN_REPORT ------------
Event: time 1729519381.300681, type 3 (EV_ABS), code 1 (ABS_Y), value 189
Event: time 1729519381.300681, -------------- SYN_REPORT ------------
Event: time 1729519381.332672, type 3 (EV_ABS), code 1 (ABS_Y), value 182
Event: time 1729519381.332672, -------------- SYN_REPORT ------------
Event: time 1729519381.348636, type 3 (EV_ABS), code 1 (ABS_Y), value 163
Event: time 1729519381.348636, -------------- SYN_REPORT ------------
Event: time 1729519381.364569, type 3 (EV_ABS), code 1 (ABS_Y), value 157
Event: time 1729519381.364569, -------------- SYN_REPORT ------------
Event: time 1729519381.380562, type 3 (EV_ABS), code 1 (ABS_Y), value 134
Event: time 1729519381.380562, -------------- SYN_REPORT ------------
Event: time 1729519381.396569, type 3 (EV_ABS), code 1 (ABS_Y), value 127
Event: time 1729519381.396569, -------------- SYN_REPORT ------------
Event: time 1729519381.924653, type 3 (EV_ABS), code 5 (ABS_RZ), value 102
Event: time 1729519381.924653, -------------- SYN_REPORT ------------
Event: time 1729519381.948554, type 3 (EV_ABS), code 5 (ABS_RZ), value 77
Event: time 1729519381.948554, -------------- SYN_REPORT ------------
Event: time 1729519381.956595, type 3 (EV_ABS), code 5 (ABS_RZ), value 45
Event: time 1729519381.956595, -------------- SYN_REPORT ------------
Event: time 1729519381.972676, type 3 (EV_ABS), code 5 (ABS_RZ), value 32
Event: time 1729519381.972676, -------------- SYN_REPORT ------------
Event: time 1729519381.988661, type 3 (EV_ABS), code 5 (ABS_RZ), value 13
Event: time 1729519381.988661, -------------- SYN_REPORT ------------
Event: time 1729519382.004635, type 3 (EV_ABS), code 5 (ABS_RZ), value 0
Event: time 1729519382.004635, -------------- SYN_REPORT ------------
Event: time 1729519382.180676, type 3 (EV_ABS), code 5 (ABS_RZ), value 19
Event: time 1729519382.180676, -------------- SYN_REPORT ------------
Event: time 1729519382.196647, type 3 (EV_ABS), code 5 (ABS_RZ), value 57
Event: time 1729519382.196647, -------------- SYN_REPORT ------------
Event: time 1729519382.212566, type 3 (EV_ABS), code 5 (ABS_RZ), value 118
Event: time 1729519382.212566, -------------- SYN_REPORT ------------
Event: time 1729519382.228621, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519382.228621, -------------- SYN_REPORT ------------
Event: time 1729519382.692582, type 3 (EV_ABS), code 5 (ABS_RZ), value 131
Event: time 1729519382.692582, -------------- SYN_REPORT ------------
Event: time 1729519382.708594, type 3 (EV_ABS), code 5 (ABS_RZ), value 169
Event: time 1729519382.708594, -------------- SYN_REPORT ------------
Event: time 1729519382.724545, type 3 (EV_ABS), code 5 (ABS_RZ), value 201
Event: time 1729519382.724545, -------------- SYN_REPORT ------------
Event: time 1729519382.740618, type 3 (EV_ABS), code 5 (ABS_RZ), value 240
Event: time 1729519382.740618, -------------- SYN_REPORT ------------
Event: time 1729519382.756563, type 3 (EV_ABS), code 5 (ABS_RZ), value 255
Event: time 1729519382.756563, -------------- SYN_REPORT ------------
Event: time 1729519383.028663, type 3 (EV_ABS), code 5 (ABS_RZ), value 176
Event: time 1729519383.028663, -------------- SYN_REPORT ------------
Event: time 1729519383.052537, type 3 (EV_ABS), code 5 (ABS_RZ), value 127
Event: time 1729519383.052537, -------------- SYN_REPORT ------------
Event: time 1729519384.324643, type 3 (EV_ABS), code 16 (ABS_HAT0X), value -1
Event: time 1729519384.324643, -------------- SYN_REPORT ------------
Event: time 1729519384.500623, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729519384.500623, -------------- SYN_REPORT ------------
Event: time 1729519384.900614, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 1
Event: time 1729519384.900614, -------------- SYN_REPORT ------------
Event: time 1729519385.028587, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729519385.028587, -------------- SYN_REPORT ------------
Event: time 1729519385.732602, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value -1
Event: time 1729519385.732602, -------------- SYN_REPORT ------------
Event: time 1729519385.828630, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729519385.828630, -------------- SYN_REPORT ------------
Event: time 1729519386.148622, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 1
Event: time 1729519386.148622, -------------- SYN_REPORT ------------
Event: time 1729519386.292620, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729519386.292620, -------------- SYN_REPORT ------------
Event: time 1729519390.404480, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729519390.404480, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 1
Event: time 1729519390.404480, -------------- SYN_REPORT ------------
Event: time 1729519390.548563, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729519390.548563, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 0
Event: time 1729519390.548563, -------------- SYN_REPORT ------------
Event: time 1729519390.836563, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1729519390.836563, type 1 (EV_KEY), code 291 (BTN_TOP), value 1
Event: time 1729519390.836563, -------------- SYN_REPORT ------------
Event: time 1729519390.996562, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90004
Event: time 1729519390.996562, type 1 (EV_KEY), code 291 (BTN_TOP), value 0
Event: time 1729519390.996562, -------------- SYN_REPORT ------------
Event: time 1729519391.188532, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729519391.188532, type 1 (EV_KEY), code 292 (BTN_TOP2), value 1
Event: time 1729519391.188532, -------------- SYN_REPORT ------------
Event: time 1729519391.364552, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729519391.364552, type 1 (EV_KEY), code 292 (BTN_TOP2), value 0
Event: time 1729519391.364552, -------------- SYN_REPORT ------------
Event: time 1729519391.716501, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729519391.716501, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 1
Event: time 1729519391.716501, -------------- SYN_REPORT ------------
Event: time 1729519391.836545, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729519391.836545, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 0
Event: time 1729519391.836545, -------------- SYN_REPORT ------------
Event: time 1729519392.516539, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729519392.516539, type 1 (EV_KEY), code 294 (BTN_BASE), value 1
Event: time 1729519392.516539, -------------- SYN_REPORT ------------
Event: time 1729519392.700485, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729519392.700485, type 1 (EV_KEY), code 294 (BTN_BASE), value 0
Event: time 1729519392.700485, -------------- SYN_REPORT ------------
Event: time 1729519392.884502, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729519392.884502, type 1 (EV_KEY), code 295 (BTN_BASE2), value 1
Event: time 1729519392.884502, -------------- SYN_REPORT ------------
Event: time 1729519393.076535, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729519393.076535, type 1 (EV_KEY), code 295 (BTN_BASE2), value 0
Event: time 1729519393.076535, -------------- SYN_REPORT ------------
Event: time 1729519393.268530, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729519393.268530, type 1 (EV_KEY), code 296 (BTN_BASE3), value 1
Event: time 1729519393.268530, -------------- SYN_REPORT ------------
Event: time 1729519393.436531, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729519393.436531, type 1 (EV_KEY), code 296 (BTN_BASE3), value 0
Event: time 1729519393.436531, -------------- SYN_REPORT ------------
Event: time 1729519393.620525, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729519393.620525, type 1 (EV_KEY), code 297 (BTN_BASE4), value 1
Event: time 1729519393.620525, -------------- SYN_REPORT ------------
Event: time 1729519393.804518, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729519393.804518, type 1 (EV_KEY), code 297 (BTN_BASE4), value 0
Event: time 1729519393.804518, -------------- SYN_REPORT ------------
Event: time 1729519393.972522, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729519393.972522, type 1 (EV_KEY), code 298 (BTN_BASE5), value 1
Event: time 1729519393.972522, -------------- SYN_REPORT ------------
Event: time 1729519394.148515, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729519394.148515, type 1 (EV_KEY), code 298 (BTN_BASE5), value 0
Event: time 1729519394.148515, -------------- SYN_REPORT ------------
Event: time 1729519394.436515, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729519394.436515, type 1 (EV_KEY), code 299 (BTN_BASE6), value 1
Event: time 1729519394.436515, -------------- SYN_REPORT ------------
Event: time 1729519394.644514, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729519394.644514, type 1 (EV_KEY), code 299 (BTN_BASE6), value 0
Event: time 1729519394.644514, -------------- SYN_REPORT ------------

 

어.. 예전에 진동은 있었던 것 같은데(하단에 진동 on/off 스위치 존재)

써본적이 없나? 기억이 안나네..

$ sudo fftest 
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event0 opened
Features:
  * Absolute axes: 
    [00 00 00 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: 
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
  * Number of simultaneous effects: 0

Uploading effect #0 (Periodic sinusoidal) ... Error:: Function not implemented
Uploading effect #1 (Constant) ... Error: Function not implemented
Uploading effect #2 (Spring) ... Error: Function not implemented
Uploading effect #3 (Damper) ... Error: Function not implemented
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Function not implemented
Uploading effect #5 (Weak rumble, with light motor) ... Error: Function not implemented
Enter effect number, -1 to exit

'모종의 음모 > force feedback' 카테고리의 다른 글

FFBchecker + Driving Force GT  (2) 2024.10.22
codemaster telemetry  (5) 2024.10.22
driving force gt on linux  (0) 2024.10.21
simtools  (0) 2024.10.21
ffb direction on windows  (0) 2024.10.21
Posted by 구차니

별별 신기한게 많이 보이네..

$ sudo evtest 
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Lid Switch
/dev/input/event10: HDA Intel PCH Line
/dev/input/event11: HDA Intel PCH Dock Line Out
/dev/input/event12: HDA Intel PCH Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: Wacom Serial Penabled 2FG Touchscreen Pen
/dev/input/event15: Wacom Serial Penabled 2FG Touchscreen Finger
/dev/input/event16: Driving Force GT
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: PS/2 Generic Mouse
/dev/input/event5: SynPS/2 Synaptics TouchPad
/dev/input/event6: ST LIS3LV02DL Accelerometer
/dev/input/event7: HP WMI hotkeys
/dev/input/event8: Video Bus
/dev/input/event9: HDA Intel PCH Mic
Select the device event number [0-16]: 16
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x46d product 0xc29a version 0x111
Input device name: "Driving Force GT"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 288 (BTN_TRIGGER)
    Event code 289 (BTN_THUMB)
    Event code 290 (BTN_THUMB2)
    Event code 291 (BTN_TOP)
    Event code 292 (BTN_TOP2)
    Event code 293 (BTN_PINKIE)
    Event code 294 (BTN_BASE)
    Event code 295 (BTN_BASE2)
    Event code 296 (BTN_BASE3)
    Event code 297 (BTN_BASE4)
    Event code 298 (BTN_BASE5)
    Event code 299 (BTN_BASE6)
    Event code 300 (?)
    Event code 301 (?)
    Event code 302 (?)
    Event code 303 (BTN_DEAD)
    Event code 704 (BTN_TRIGGER_HAPPY1)
    Event code 705 (BTN_TRIGGER_HAPPY2)
    Event code 706 (BTN_TRIGGER_HAPPY3)
    Event code 707 (BTN_TRIGGER_HAPPY4)
    Event code 708 (BTN_TRIGGER_HAPPY5)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value   8132
      Min        0
      Max    16383
    Event code 1 (ABS_Y)
      Value      0
      Min        0
      Max      255
    Event code 2 (ABS_Z)
      Value      0
      Min        0
      Max      255
    Event code 16 (ABS_HAT0X)
      Value      0
      Min       -1
      Max        1
    Event code 17 (ABS_HAT0Y)
      Value      0
      Min       -1
      Max        1
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
  Event type 21 (EV_FF)
    Event code 82 (FF_CONSTANT)
    Event code 96 (FF_GAIN)
    Event code 97 (FF_AUTOCENTER)
Properties:
Testing ... (interrupt to exit)
Event: time 1729518696.162275, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729518696.162275, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 1
Event: time 1729518696.162275, -------------- SYN_REPORT ------------
Event: time 1729518696.274274, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90003
Event: time 1729518696.274274, type 1 (EV_KEY), code 290 (BTN_THUMB2), value 0
Event: time 1729518696.274274, -------------- SYN_REPORT ------------
Event: time 1729518699.998246, type 3 (EV_ABS), code 0 (ABS_X), value 8115
Event: time 1729518699.998246, -------------- SYN_REPORT ------------
Event: time 1729518700.738163, type 3 (EV_ABS), code 0 (ABS_X), value 8132
Event: time 1729518700.738163, -------------- SYN_REPORT ------------
Event: time 1729518700.980212, type 3 (EV_ABS), code 0 (ABS_X), value 8149
Event: time 1729518700.980212, -------------- SYN_REPORT ------------
Event: time 1729518704.836213, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729518704.836213, type 1 (EV_KEY), code 294 (BTN_BASE), value 1
Event: time 1729518704.836213, -------------- SYN_REPORT ------------
Event: time 1729518704.858207, type 3 (EV_ABS), code 0 (ABS_X), value 8166
Event: time 1729518704.858207, -------------- SYN_REPORT ------------
Event: time 1729518704.886179, type 3 (EV_ABS), code 0 (ABS_X), value 8183
Event: time 1729518704.886179, -------------- SYN_REPORT ------------
Event: time 1729518704.902084, type 3 (EV_ABS), code 0 (ABS_X), value 8200
Event: time 1729518704.902084, -------------- SYN_REPORT ------------
Event: time 1729518704.914081, type 3 (EV_ABS), code 0 (ABS_X), value 8217
Event: time 1729518704.914081, -------------- SYN_REPORT ------------
Event: time 1729518704.922077, type 3 (EV_ABS), code 0 (ABS_X), value 8234
Event: time 1729518704.922077, -------------- SYN_REPORT ------------
Event: time 1729518704.934138, type 3 (EV_ABS), code 0 (ABS_X), value 8251
Event: time 1729518704.934138, -------------- SYN_REPORT ------------
Event: time 1729518704.944202, type 3 (EV_ABS), code 0 (ABS_X), value 8267
Event: time 1729518704.944202, -------------- SYN_REPORT ------------
Event: time 1729518704.954084, type 3 (EV_ABS), code 0 (ABS_X), value 8284
Event: time 1729518704.954084, -------------- SYN_REPORT ------------
Event: time 1729518704.956124, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90007
Event: time 1729518704.956124, type 1 (EV_KEY), code 294 (BTN_BASE), value 0
Event: time 1729518704.956124, -------------- SYN_REPORT ------------
Event: time 1729518704.962152, type 3 (EV_ABS), code 0 (ABS_X), value 8301
Event: time 1729518704.962152, -------------- SYN_REPORT ------------
Event: time 1729518704.976205, type 3 (EV_ABS), code 0 (ABS_X), value 8318
Event: time 1729518704.976205, -------------- SYN_REPORT ------------
Event: time 1729518704.992190, type 3 (EV_ABS), code 0 (ABS_X), value 8335
Event: time 1729518704.992190, -------------- SYN_REPORT ------------
Event: time 1729518706.026082, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729518706.026082, type 1 (EV_KEY), code 295 (BTN_BASE2), value 1
Event: time 1729518706.026082, -------------- SYN_REPORT ------------
Event: time 1729518706.152088, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90008
Event: time 1729518706.152088, type 1 (EV_KEY), code 295 (BTN_BASE2), value 0
Event: time 1729518706.152088, -------------- SYN_REPORT ------------
Event: time 1729518707.628084, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729518707.628084, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 1
Event: time 1729518707.628084, -------------- SYN_REPORT ------------
Event: time 1729518707.824187, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90006
Event: time 1729518707.824187, type 1 (EV_KEY), code 293 (BTN_PINKIE), value 0
Event: time 1729518707.824187, -------------- SYN_REPORT ------------
Event: time 1729518709.588149, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729518709.588149, type 1 (EV_KEY), code 292 (BTN_TOP2), value 1
Event: time 1729518709.588149, -------------- SYN_REPORT ------------
Event: time 1729518709.734171, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90005
Event: time 1729518709.734171, type 1 (EV_KEY), code 292 (BTN_TOP2), value 0
Event: time 1729518709.734171, -------------- SYN_REPORT ------------
Event: time 1729518709.792140, type 3 (EV_ABS), code 0 (ABS_X), value 8318
Event: time 1729518709.792140, -------------- SYN_REPORT ------------
Event: time 1729518710.686167, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000e
Event: time 1729518710.686167, type 1 (EV_KEY), code 301 (?), value 1
Event: time 1729518710.686167, -------------- SYN_REPORT ------------
Event: time 1729518710.730137, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000e
Event: time 1729518710.730137, type 1 (EV_KEY), code 301 (?), value 0
Event: time 1729518710.730137, -------------- SYN_REPORT ------------
Event: time 1729518711.102131, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000d
Event: time 1729518711.102131, type 1 (EV_KEY), code 300 (?), value 1
Event: time 1729518711.102131, -------------- SYN_REPORT ------------
Event: time 1729518711.244157, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000d
Event: time 1729518711.244157, type 1 (EV_KEY), code 300 (?), value 0
Event: time 1729518711.244157, -------------- SYN_REPORT ------------
Event: time 1729518712.850072, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518712.850072, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 1
Event: time 1729518712.850072, -------------- SYN_REPORT ------------
Event: time 1729518712.852004, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518712.852004, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 0
Event: time 1729518712.852004, -------------- SYN_REPORT ------------
Event: time 1729518713.544146, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.544146, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 1
Event: time 1729518713.544146, -------------- SYN_REPORT ------------
Event: time 1729518713.546000, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.546000, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 0
Event: time 1729518713.546000, -------------- SYN_REPORT ------------
Event: time 1729518713.682041, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.682041, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 1
Event: time 1729518713.682041, -------------- SYN_REPORT ------------
Event: time 1729518713.683994, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.683994, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 0
Event: time 1729518713.683994, -------------- SYN_REPORT ------------
Event: time 1729518713.804115, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518713.804115, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 1
Event: time 1729518713.804115, -------------- SYN_REPORT ------------
Event: time 1729518713.806001, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518713.806001, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 0
Event: time 1729518713.806001, -------------- SYN_REPORT ------------
Event: time 1729518713.860044, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.860044, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 1
Event: time 1729518713.860044, -------------- SYN_REPORT ------------
Event: time 1729518713.862007, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90012
Event: time 1729518713.862007, type 1 (EV_KEY), code 705 (BTN_TRIGGER_HAPPY2), value 0
Event: time 1729518713.862007, -------------- SYN_REPORT ------------
Event: time 1729518714.276109, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518714.276109, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 1
Event: time 1729518714.276109, -------------- SYN_REPORT ------------
Event: time 1729518714.277997, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90011
Event: time 1729518714.277997, type 1 (EV_KEY), code 704 (BTN_TRIGGER_HAPPY1), value 0
Event: time 1729518714.277997, -------------- SYN_REPORT ------------
Event: time 1729518714.754005, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000f
Event: time 1729518714.754005, type 1 (EV_KEY), code 302 (?), value 1
Event: time 1729518714.754005, -------------- SYN_REPORT ------------
Event: time 1729518714.926134, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000f
Event: time 1729518714.926134, type 1 (EV_KEY), code 302 (?), value 0
Event: time 1729518714.926134, -------------- SYN_REPORT ------------
Event: time 1729518716.560121, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90010
Event: time 1729518716.560121, type 1 (EV_KEY), code 303 (BTN_DEAD), value 1
Event: time 1729518716.560121, -------------- SYN_REPORT ------------
Event: time 1729518716.702040, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90010
Event: time 1729518716.702040, type 1 (EV_KEY), code 303 (BTN_DEAD), value 0
Event: time 1729518716.702040, -------------- SYN_REPORT ------------
Event: time 1729518717.352114, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90013
Event: time 1729518717.352114, type 1 (EV_KEY), code 706 (BTN_TRIGGER_HAPPY3), value 1
Event: time 1729518717.352114, -------------- SYN_REPORT ------------
Event: time 1729518717.498036, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90013
Event: time 1729518717.498036, type 1 (EV_KEY), code 706 (BTN_TRIGGER_HAPPY3), value 0
Event: time 1729518717.498036, -------------- SYN_REPORT ------------
Event: time 1729518718.476030, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90014
Event: time 1729518718.476030, type 1 (EV_KEY), code 707 (BTN_TRIGGER_HAPPY4), value 1
Event: time 1729518718.476030, -------------- SYN_REPORT ------------
Event: time 1729518718.636103, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90014
Event: time 1729518718.636103, type 1 (EV_KEY), code 707 (BTN_TRIGGER_HAPPY4), value 0
Event: time 1729518718.636103, -------------- SYN_REPORT ------------
Event: time 1729518720.396088, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729518720.396088, type 1 (EV_KEY), code 298 (BTN_BASE5), value 1
Event: time 1729518720.396088, -------------- SYN_REPORT ------------
Event: time 1729518720.596057, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000b
Event: time 1729518720.596057, type 1 (EV_KEY), code 298 (BTN_BASE5), value 0
Event: time 1729518720.596057, -------------- SYN_REPORT ------------
Event: time 1729518720.812007, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729518720.812007, type 1 (EV_KEY), code 299 (BTN_BASE6), value 1
Event: time 1729518720.812007, -------------- SYN_REPORT ------------
Event: time 1729518720.961982, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000c
Event: time 1729518720.961982, type 1 (EV_KEY), code 299 (BTN_BASE6), value 0
Event: time 1729518720.961982, -------------- SYN_REPORT ------------
Event: time 1729518721.944075, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 1
Event: time 1729518721.944075, -------------- SYN_REPORT ------------
Event: time 1729518722.078071, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729518722.078071, -------------- SYN_REPORT ------------
Event: time 1729518722.685992, type 3 (EV_ABS), code 16 (ABS_HAT0X), value -1
Event: time 1729518722.685992, -------------- SYN_REPORT ------------
Event: time 1729518722.816069, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729518722.816069, -------------- SYN_REPORT ------------
Event: time 1729518723.020069, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value -1
Event: time 1729518723.020069, -------------- SYN_REPORT ------------
Event: time 1729518723.146065, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729518723.146065, -------------- SYN_REPORT ------------
Event: time 1729518723.456038, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 1
Event: time 1729518723.456038, -------------- SYN_REPORT ------------
Event: time 1729518723.490037, type 3 (EV_ABS), code 16 (ABS_HAT0X), value -1
Event: time 1729518723.490037, -------------- SYN_REPORT ------------
Event: time 1729518723.541976, type 3 (EV_ABS), code 16 (ABS_HAT0X), value 0
Event: time 1729518723.541976, -------------- SYN_REPORT ------------
Event: time 1729518723.594063, type 3 (EV_ABS), code 17 (ABS_HAT0Y), value 0
Event: time 1729518723.594063, -------------- SYN_REPORT ------------
Event: time 1729518724.824054, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90015
Event: time 1729518724.824054, type 1 (EV_KEY), code 708 (BTN_TRIGGER_HAPPY5), value 1
Event: time 1729518724.824054, -------------- SYN_REPORT ------------
Event: time 1729518725.010005, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90015
Event: time 1729518725.010005, type 1 (EV_KEY), code 708 (BTN_TRIGGER_HAPPY5), value 0
Event: time 1729518725.010005, -------------- SYN_REPORT ------------
Event: time 1729518725.300044, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729518725.300044, type 1 (EV_KEY), code 296 (BTN_BASE3), value 1
Event: time 1729518725.300044, -------------- SYN_REPORT ------------
Event: time 1729518725.472019, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90009
Event: time 1729518725.472019, type 1 (EV_KEY), code 296 (BTN_BASE3), value 0
Event: time 1729518725.472019, -------------- SYN_REPORT ------------
Event: time 1729518725.738049, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729518725.738049, type 1 (EV_KEY), code 297 (BTN_BASE4), value 1
Event: time 1729518725.738049, -------------- SYN_REPORT ------------
Event: time 1729518725.772019, type 3 (EV_ABS), code 0 (ABS_X), value 8335
Event: time 1729518725.772019, -------------- SYN_REPORT ------------
Event: time 1729518725.892048, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1729518725.892048, type 1 (EV_KEY), code 297 (BTN_BASE4), value 0
Event: time 1729518725.892048, -------------- SYN_REPORT ------------

 

조이스틱과는 다르게 꾸준한 진동은 안되고

상수(?) 진동만 되나.. 그러고 보니 연석 밟으면 휙 돌아가는 저항감이 있었지

우둘두둘한 길을 갈때 진동 효과가 있었나 기억이 안난다..

 

아무튼 fftest를 1번 눌러서 해보니 반시계 방향으로 약하게 회전한다.(잡으면 바로 멈추는 수준)

$ fftest /dev/input/event16
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event16 opened
Features:
  * Absolute axes: X, Y, Z, Hat 0 X, Hat 0 Y, 
    [07 00 03 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Constant, Gain, Autocenter
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 04 00 03 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... Error:: Invalid argument
Uploading effect #1 (Constant) ... OK (id 0)
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Invalid argument
Uploading effect #5 (Weak rumble, with light motor) ... Error: Invalid argument
Enter effect number, -1 to exit

'모종의 음모 > force feedback' 카테고리의 다른 글

codemaster telemetry  (5) 2024.10.22
joyston air twister fx on linux  (0) 2024.10.21
simtools  (0) 2024.10.21
ffb direction on windows  (0) 2024.10.21
ffb window api  (0) 2024.10.20
Posted by 구차니

레이싱 시뮬레이터 자작하는걸 보다 보니

dirt rally 2.0 에서 simtools 로 넘겨받은 데이터를 아두이노로 모터 제어하는데

simtools를 통해? 혹은 가상으로 기울기 등의 정보를 받는건가?

 

[링크 : https://www.youtube.com/watch?v=_-KJM5VysSg]

 

대충 찾아보니 플러그인은 유료, 커뮤니티 버전은 무료

[링크 : https://simtools.us/licenses/]

 

dirt rally / f1 / euro truck / 플심

정도가 내가 가지고 있거나 아는 것들인 듯.. 이걸 쓰려면 80$달러 현 시점 환율로 11만원이라.(1378원/1$)

[링크 : https://simtools.us/plugin_library/]

 

[링크 : https://simtools.us/]

[링크 : https://blog.naver.com/macjnc/220850144173]

[링크 : https://blog.naver.com/parkmini/222450193841]

'모종의 음모 > force feedback' 카테고리의 다른 글

joyston air twister fx on linux  (0) 2024.10.21
driving force gt on linux  (0) 2024.10.21
ffb direction on windows  (0) 2024.10.21
ffb window api  (0) 2024.10.20
fftest 소스코드와 설정 값  (0) 2024.10.13
Posted by 구차니

1축일 경우에는 별 문제가 안되는 것 같은데

2축일 경우에는 극좌표계, 카티젼 좌표 두가지로 제어를 해야 하나보다.

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee417536(v=vs.85)]

'모종의 음모 > force feedback' 카테고리의 다른 글

driving force gt on linux  (0) 2024.10.21
simtools  (0) 2024.10.21
ffb window api  (0) 2024.10.20
fftest 소스코드와 설정 값  (0) 2024.10.13
evtest 를 이용하여 진동패드 진동시키기  (0) 2024.10.12
Posted by 구차니

constant는 커브 돌때 핸들의 저항감이라면

periodic은 자갈밭에서 오는 진동인데

ramp 는 솔찍히 먼지 잘 와닫지 않는다.

Constant force
“A steady force in a single direction for example the resistance you feel when you’re turning into a corner.” – Microsoft.com

Ramp force
“A force that steadily increases or decreases in magnitude, for example, the resistance of the weight of the car and you transfer the weight of the chassis in a corner. A ramp force might be felt more strongly in a car with a lot of caster in the steering angle.” – Microsoft.com

Periodic effect
“A force that pulsates according to a defined wave pattern, for example, if you’ve damaged the car sometimes the simulator software will add a vibration through the steering wheel.” – Microsoft.com

[링크 : https://simracingcockpit.gg/setup-force-feedback/]

 

Constant force. A steady force in a single direction.
Ramp force. A force that steadily increases or decreases in magnitude.
Periodic effect. A force that pulsates according to a defined wave pattern.
Condition. A reaction to motion or position along an axis. Two examples are a friction effect that generates resistance to movement of the joystick, and a spring effect that pushes the stick back toward a certain position after it has been moved from that position.

[링크 : https://learn.microsoft.com/ko-kr/windows/uwp/gaming/racing-wheel-and-force-feedback]

'모종의 음모 > force feedback' 카테고리의 다른 글

simtools  (0) 2024.10.21
ffb direction on windows  (0) 2024.10.21
fftest 소스코드와 설정 값  (0) 2024.10.13
evtest 를 이용하여 진동패드 진동시키기  (0) 2024.10.12
ffbchecker 컴파일 및 설치  (0) 2024.10.12
Posted by 구차니

아래 소스를 보고 설정을 보니 조금 이해가 가는 느낌 0.1mg

/* download a periodic sinusoidal effect */
memset(&effects[0],0,sizeof(effects[0]));
effects[0].type = FF_PERIODIC;
effects[0].id = -1;
effects[0].u.periodic.waveform = FF_SINE;
effects[0].u.periodic.period = 100; /* 0.1 second */
effects[0].u.periodic.magnitude = 0x7fff; /* 0.5 * Maximum magnitude */
effects[0].u.periodic.offset = 0;
effects[0].u.periodic.phase = 0;
effects[0].direction = 0x4000; /* Along X axis */
effects[0].u.periodic.envelope.attack_length = 1000;
effects[0].u.periodic.envelope.attack_level = 0x7fff;
effects[0].u.periodic.envelope.fade_length = 1000;
effects[0].u.periodic.envelope.fade_level = 0x7fff;
effects[0].trigger.button = 0;
effects[0].trigger.interval = 0;
effects[0].replay.length = 20000;  /* 20 seconds */
effects[0].replay.delay = 1000;

/* download a constant effect */
effects[1].type = FF_CONSTANT;
effects[1].id = -1;
effects[1].u.constant.level = 0x2000; /* Strength : 25 % */
effects[1].direction = 0x6000; /* 135 degrees */
effects[1].u.constant.envelope.attack_length = 1000;
effects[1].u.constant.envelope.attack_level = 0x1000;
effects[1].u.constant.envelope.fade_length = 1000;
effects[1].u.constant.envelope.fade_level = 0x1000;
effects[1].trigger.button = 0;
effects[1].trigger.interval = 0;
effects[1].replay.length = 20000;  /* 20 seconds */
effects[1].replay.delay = 0;

/* download a condition spring effect */
effects[2].type = FF_SPRING;
effects[2].id = -1;
effects[2].u.condition[0].right_saturation = 0x7fff;
effects[2].u.condition[0].left_saturation = 0x7fff;
effects[2].u.condition[0].right_coeff = 0x2000;
effects[2].u.condition[0].left_coeff = 0x2000;
effects[2].u.condition[0].deadband = 0x0;
effects[2].u.condition[0].center = 0x0;
effects[2].u.condition[1] = effects[2].u.condition[0];
effects[2].trigger.button = 0;
effects[2].trigger.interval = 0;
effects[2].replay.length = 20000;  /* 20 seconds */
effects[2].replay.delay = 0;

/* download a condition damper effect */
effects[3].type = FF_DAMPER;
effects[3].id = -1;
effects[3].u.condition[0].right_saturation = 0x7fff;
effects[3].u.condition[0].left_saturation = 0x7fff;
effects[3].u.condition[0].right_coeff = 0x2000;
effects[3].u.condition[0].left_coeff = 0x2000;
effects[3].u.condition[0].deadband = 0x0;
effects[3].u.condition[0].center = 0x0;
effects[3].u.condition[1] = effects[3].u.condition[0];
effects[3].trigger.button = 0;
effects[3].trigger.interval = 0;
effects[3].replay.length = 20000;  /* 20 seconds */
effects[3].replay.delay = 0;

/* a strong rumbling effect */
effects[4].type = FF_RUMBLE;
effects[4].id = -1;
effects[4].u.rumble.strong_magnitude = 0x8000;
effects[4].u.rumble.weak_magnitude = 0;
effects[4].replay.length = 5000;
effects[4].replay.delay = 1000;

/* a weak rumbling effect */
effects[5].type = FF_RUMBLE;
effects[5].id = -1;
effects[5].u.rumble.strong_magnitude = 0;
effects[5].u.rumble.weak_magnitude = 0xc000;
effects[5].replay.length = 5000;
effects[5].replay.delay = 0;

[링크 : https://github.com/flosse/linuxconsole/blob/master/utils/fftest.c]

[링크 : https://www.kernel.org/doc/html/v5.2/input/ff.html] 리눅스 커널에서의 ffb 내용

 

weak/strong rumble 하려면 다 안넣어줘도 된다는 거군..

 

attack fade는 충격의 앞/뒤라고 보면 될 듯

[링크 : https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416225(v=vs.85)]

'모종의 음모 > force feedback' 카테고리의 다른 글

ffb direction on windows  (0) 2024.10.21
ffb window api  (0) 2024.10.20
evtest 를 이용하여 진동패드 진동시키기  (0) 2024.10.12
ffbchecker 컴파일 및 설치  (0) 2024.10.12
new-lg4ff 와 oversteer 설치 시도  (0) 2024.10.12
Posted by 구차니

force feedback과는 별개로 진동이 되는 녀석은 진동만 시킬수 있나 본데?

 

fftest /dev/input/event16
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event16 opened
Features:
  * Absolute axes: X, Y, Z, RX, RY, RZ, Hat 0 X, Hat 0 Y, 
    [3F 00 03 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Periodic, Rumble, Gain, 
    Force feedback periodic effects: Square, Triangle, Sine, 
    [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... Error: Invalid argument
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
Enter effect number, -1 to exit
Use effects 4 and 5 to test rumble effects:

Enter effect number, -1 to exit
4
Now Playing: Strong Rumble
Enter effect number, -1 to exit
5
Now Playing: Weak Rumble
Enter effect number, -1 to exit

[링크 : https://askubuntu.com/questions/1139960/how-to-enable-a-vibration-in-a-pc-gamepad-in-xubuntu-18-10]

 

evtest와는 별개라 설치를 해주어야 한다.

$ fftest
명령어 'fftest' 을(를) 찾을 수 없습니다. 그러나 다음을 통해 설치할 수 있습니다:
sudo apt install joystick

 

설치하고 해보니 권한이 부족하댄다 -_-

$ fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Open device file: Permission denied

 

그래서 sudo로 해주니 뜬금없이(?) event0를 붙여 버리네?

$ sudo fftest
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event0 opened
Features:
  * Absolute axes: 
    [00 00 00 00 00 00 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: 
    Force feedback periodic effects: 
    [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
  * Number of simultaneous effects: 0

Uploading effect #0 (Periodic sinusoidal) ... Error:: Function not implemented
Uploading effect #1 (Constant) ... Error: Function not implemented
Uploading effect #2 (Spring) ... Error: Function not implemented
Uploading effect #3 (Damper) ... Error: Function not implemented
Uploading effect #4 (Strong rumble, with heavy motor) ... Error: Function not implemented
Uploading effect #5 (Weak rumble, with light motor) ... Error: Function not implemented
Enter effect number, -1 to exit

 

그래서 0이 먼가 봤는데 어라.. sleep button.. 야이 -_-

$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Lid Switch
/dev/input/event10: HDA Intel PCH Line
/dev/input/event11: HDA Intel PCH Dock Line Out
/dev/input/event12: HDA Intel PCH Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: Wacom Serial Penabled 2FG Touchscreen Pen
/dev/input/event15: Wacom Serial Penabled 2FG Touchscreen Finger
/dev/input/event16: GreenAsia Inc.    USB Joystick     
/dev/input/event2: Power Button
/dev/input/event3: AT Translated Set 2 keyboard
/dev/input/event4: PS/2 Generic Mouse
/dev/input/event5: SynPS/2 Synaptics TouchPad
/dev/input/event6: HP WMI hotkeys
/dev/input/event7: ST LIS3LV02DL Accelerometer
/dev/input/event8: Video Bus
/dev/input/event9: HDA Intel PCH Mic
Select the device event number [0-16]: ^C

 

일반 사용자로 하니 지금 새로 추가된 조이스틱만 뜬다.

아무튼 이렇게 event 번호를 획득하고

$ evtest
No device specified, trying to scan all of /dev/input/event*
Not running as root, no devices may be available.
Available devices:
/dev/input/event16: GreenAsia Inc.    USB Joystick     
Select the device event number [0-16]:

 

fftest 뒤에 장치명을 붙여주면 된다니까

$ fftest --help
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Usage: fftest /dev/input/eventXX
Tests the force feedback driver

 

일반 사용자 권한으로 조이스틱을 연결하면 똭!

ok 뜨는게 0,4,5 뿐인데

먼가 진동이 오긴한다!

$ fftest /dev/input/event16
Force feedback test program.
HOLD FIRMLY YOUR WHEEL OR JOYSTICK TO PREVENT DAMAGES

Device /dev/input/event16 opened
Features:
  * Absolute axes: X, Y, Z, RZ, Hat 0 X, Hat 0 Y, Misc ,
    [27 00 03 00 00 01 00 00 ]
  * Relative axes: 
    [00 00 ]
  * Force feedback effects types: Periodic, Rumble, Gain, 
    Force feedback periodic effects: Square, Triangle, Sine, 
    [00 00 00 00 00 00 00 00 00 00 03 07 01 00 00 00 ]
  * Number of simultaneous effects: 16

Setting master gain to 75% ... OK
Uploading effect #0 (Periodic sinusoidal) ... OK (id 0)
Uploading effect #1 (Constant) ... Error: Invalid argument
Uploading effect #2 (Spring) ... Error: Invalid argument
Uploading effect #3 (Damper) ... Error: Invalid argument
Uploading effect #4 (Strong rumble, with heavy motor) ... OK (id 1)
Uploading effect #5 (Weak rumble, with light motor) ... OK (id 2)
Enter effect number, -1 to exit

 

 

'모종의 음모 > force feedback' 카테고리의 다른 글

ffb window api  (0) 2024.10.20
fftest 소스코드와 설정 값  (0) 2024.10.13
ffbchecker 컴파일 및 설치  (0) 2024.10.12
new-lg4ff 와 oversteer 설치 시도  (0) 2024.10.12
플심용 자작 시뮬레이터  (2) 2024.10.11
Posted by 구차니

qt로 되어서 빌드가 조금 귀찮았는데

문제는 인터넷 상에 문서가 별로 없어서

어떻게 써야지 핸들이 턱에 걸려서 휙~ 돌아가게 제어할수 있는지 모르겠다

 

 

qt 때문에 설치해야 할 패키지

$ sudo apt-get install qtbase5-dev

[링크 : https://askubuntu.com/questions/374755/what-package-do-i-need-to-build-a-qt-5-cmake-application]

 

빌드는 아래 명령으로 하면 된다.

$ git clone https://github.com/MadCatX/FFBChecker
$ cd FFBChecker
$ mkdir build
$ cd build
$ cmake ../ -DCMAKE_BUILD_TYPE=Release
$ make
$ ./FFBChecker

[링크 : https://github.com/MadCatX/FFBChecker]

 

+

Type을 periodic force로 하면, waveform에 따라서 하위 항목이 변하진 않는다.

설정값을 어떻게 넣어야 하나..

[링크 :https://vru.vibrationresearch.com/lesson/sine-test-control-parameters/]

Posted by 구차니

 

[링크 : https://github.com/berarma/new-lg4ff]

[링크 : https://github.com/berarma/oversteer]

 

$ git clone https://github.com/berarma/new-lg4ff.git
$ git clone https://github.com/berarma/oversteer.git
$ cd new-lg4ff/
$ make
$ sudo make install
$ cd../oversteer
$ sudo apt install python3 python3-gi python3-gi-cairo python3-pyudev python3-xdg python3-evdev gettext meson appstream-util desktop-file-utils python3-matplotlib python3-scipy
$ meson setup build
$ cd build
$ ninja install
$ oversteer

 

force feedback 항목이 궁금했는데

gain만 조정이 가능하고 별다른 진동생성은 안되는 것 같기도 하...다?

 

장치 연결

[   77.978347] usb 2-1.1: new full-speed USB device number 4 using ehci-pci
[   78.062096] usb 2-1.1: New USB device found, idVendor=046d, idProduct=c294, bcdDevice=13.27
[   78.062122] usb 2-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[   78.062130] usb 2-1.1: Product: Driving Force GT
[   78.098925] hid: raw HID events driver (C) Jiri Kosina
[   78.110749] usbcore: registered new interface driver usbhid
[   78.110757] usbhid: USB HID core driver
[   78.131441] input: Driving Force GT as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/0003:046D:C294.0001/input/input22
[   78.131592] logitech 0003:046D:C294.0001: input,hidraw0: USB HID v1.00 Joystick [Driving Force GT] on usb-0000:00:1d.0-1.1/input0
[   78.316051] usb 2-1.1: USB disconnect, device number 4
[   78.526300] usb 2-1.1: new full-speed USB device number 5 using ehci-pci
[   78.612544] usb 2-1.1: New USB device found, idVendor=046d, idProduct=c29a, bcdDevice=13.27
[   78.612570] usb 2-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[   78.612579] usb 2-1.1: Product: Driving Force GT
[   78.621082] input: Driving Force GT as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/0003:046D:C29A.0002/input/input23
[   78.622541] logitech 0003:046D:C29A.0002: input,hidraw0: USB HID v1.11 Joystick [Driving Force GT] on usb-0000:00:1d.0-1.1/input0
[   78.622611] logitech 0003:046D:C29A.0002: Force feedback support for Logitech Gaming Wheels

 

$ lsusb -t -v
/:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/3p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/6p, 480M
        ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
/:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=ehci-pci/3p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/8p, 480M
        ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
        |__ Port 001: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            ID 046d:c29a Logitech, Inc. 
        |__ Port 004: Dev 003, If 0, Class=Video, Driver=uvcvideo, 480M
            ID 04f2:b242 Chicony Electronics Co., Ltd 
        |__ Port 004: Dev 003, If 1, Class=Video, Driver=uvcvideo, 480M
            ID 04f2:b242 Chicony Electronics Co., Ltd 

 

oversteer 상에는 특별한(?) 게 활성화 되진 않는다.

Posted by 구차니