스텝모터 데이터 시트를 보는데

4.8V ~ 6.0V 입력가능하고

6.0V 일 경우 최대 800mA 를 소모한다. 생각외로.. 많이 먹네? 4.8W 라.. (역률 인지 먼지 이런건 모르니 패스)

아무튼 모터 두개를 동시에 풀로 돌린다고 가정하면

1.6A는 흘려주어야 한다는 건데.. 일반적인 보조배터리라면 5V 2A는 되니까

라즈베리 등을 작동 시키는데에만도 빠듯하다는 의미가 될 듯..

아무튼 60도에 0.15~0.19초

0.0025초/1도 3msec 라니 물리적으로는 상당히 빠른 편이라고 해줘야 하나?

 

 

[링크 : https://www.devicemart.co.kr/goods/view?no=11225]

'모종의 음모 > motion simulator' 카테고리의 다른 글

github 에 작성중인 코드 푸시!  (0) 2024.12.28
yaw roll pitch  (0) 2024.12.27
f1 2015 telemetry udp  (0) 2024.12.08
dirt rally 2.0 telemetry udp  (0) 2024.12.08
forza horizon 4 telemetry 수정  (0) 2024.12.07
Posted by 구차니

다시 프로그램 수정해서 받아보니 패킷의 길이가 시원하게 보여서 좋긴하네

nc는 패킷의 시작을 알 수 없어서 매번 아쉽다.

 

/YF로 나오는 녀석은 패킷의 거의 마지막 부분이었군

280 received, 343 sizeof(FORZA_DASH)

83 0A B0 42 28 0F 0C 42 BA 7F 8B 44 BA 7F 8B 44 
AB 05 3D C4 8C 0F 8B 40 C8 54 DA C3 46 BE 2F 40 
1B E5 B8 BF B2 5E CD 3C 4C 74 15 40 5A 9B 58 3F 
13 BE C8 BC 41 4D 08 3F E3 4A 08 3F 4D 98 0B BC 
49 B1 58 BF BB F3 D4 3F C8 41 A4 3F EA 88 DA 3F 
88 4C B0 3F 35 F8 B4 C1 FE 29 31 C1 D3 61 96 C1 
FA 6F DF C0 8A DD 30 C0 AE D2 30 C0 7A E2 30 C0 
4D D1 30 C0 00 00 00 00 00 00 00 80 00 00 00 00 
00 00 00 00 00 00 00 00 15 49 87 BB C1 3D D5 3D 
00 00 00 00 06 01 3B 45 00 00 00 00 00 00 80 41 
00 50 C3 48 00 50 C3 48 00 00 00 00 00 00 80 3F 
00 00 80 3F 96 3D 13 41 00 00 C8 42 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 BB 50 42 44 
E9 01 42 44 49 C5 54 44 9F EA 54 44 00 00 90 41 
00 00 90 41 00 00 90 41 00 00 90 41 00 00 80 40 
00 00 C6 42 40 AA A5 45 00 00 00 00 FF 2F 59 46 
00 80 3B 45 00 00 10 41 00 00 80 3F 00 00 00 00 
00 00 00 00 00 00 00 40 

 

280 바이트의 시작과 끝 매칭

$ nc -ul 20777 | hexdump -C
00150bd0  0f 3d a4 42 11 35 3c 42  1f 26 f0 44 1f 26 f0 44  |.=.B.5
00150be0  6a 66 35 c3 d3 e9 5b 40  5c bb 65 c4 d5 14 e5 40  |jf5...[@\.e....@|
00150bf0  31 da a3 40 9d d7 b3 bd  3d 12 a0 c0 2c 1f 31 3f  |1..@....=...,.1?|
00150c00  30 a1 52 ba bf d5 38 3f  59 cb 38 3f ef b2 a5 bc  |0.R...8?Y.8?....|
00150c10  ae 16 31 bf ca b0 41 40  1e 4d 4d 40 14 bb 72 40  |..1...A@.MM@..r@|
00150c20  13 8e 6b 40 d6 ed 1b 42  86 5f 09 43 04 a5 45 42  |..k@...B._.C..EB|
00150c30  02 81 3c 43 22 f3 e3 40  12 9d e5 40 f1 40 e4 40  |..
00150c40  34 af e5 40 00 00 00 00  f0 70 68 3d 00 00 00 00  |4..@.....ph=....|
00150c50  00 00 00 00 00 00 00 40  02 a4 0f be 13 8f 8d be  |.......@........|
00150c60  00 00 00 00 87 86 6d 45  00 00 00 00 00 00 80 41  |......mE.......A|
00150c70  00 50 c3 48 00 50 c3 48  00 00 00 00 00 00 80 3f  |.P.H.P.H.......?|
00150c80  00 00 80 3f 77 16 0f 41  00 00 c8 42 00 00 00 00  |...?w..A...B....|
00150c90  00 00 80 3f 98 68 2d 42  00 00 00 00 a2 1e 76 44  |...?.h-B......vD|
00150ca0  fc 37 76 44 37 e5 84 44  24 b4 84 44 00 00 90 41  |.7vD7..D$..D...A|
00150cb0  00 00 90 41 00 00 90 41  00 00 90 41 00 00 80 40  |...A...A...A...@|
00150cc0  00 00 c6 42 40 aa a5 45  00 00 00 00 ff 2f 59 46  |...B@..E..... /YF |
00150cd0  00 80 3b 45 00 00 10 41  00 00 80 3f 00 00 00 00  |..;E...A...?....|
00150ce0  00 00 00 00 00 00 00 40  97 45 a4 42 1c 46 3c 42  |.......@.E.B.F

'모종의 음모 > motion simulator' 카테고리의 다른 글

yaw roll pitch  (0) 2024.12.27
HS-311 스텝모터  (0) 2024.12.26
dirt rally 2.0 telemetry udp  (0) 2024.12.08
forza horizon 4 telemetry 수정  (0) 2024.12.07
forza telemetry  (0) 2024.12.02
Posted by 구차니

68byte 라서,17 개의 float 데이터 일 것 같은데 매칭되는게 없어 보이네?

 

가장 처음꺼는 timestamp 같은데

가장 마지막의 ToCA는 먼지 모르겠고..

float 형으로 해도 int 형으로 해도 먼가 의미를 지니는 패킷을 찾긴 쉽지 않네..

68 received, 343 sizeof(FORZA_DASH)

0D A9 01 00 90 B3 A2 3F EB B4 CA 3D 94 9B 23 BF 
1A BA 3B 40 2B 3A E4 3D E8 46 E5 3F A1 BE E9 BF 
7F 16 E1 3E ED 9A 23 C1 27 43 06 BF 64 1A 84 C0 
AA 38 EF BF 00 C3 E7 FA 0E 13 2C FE 00 2D A6 08 
54 6F 43 41 
--------------
108813 0.000000
1067627408 1.271105
1036694763 0.098978
-1088185452 -0.639093
1077656090 2.933234
1038367275 0.111439
1071990504 1.791226
-1075200351 -1.826130
1054938751 0.439625
-1054631187 -10.225324
-1090108633 -0.524462
-1065084316 -4.128222
-1074841430 -1.868917
-85474560 -601687822097128628961607183025307648.000000
-30665970 -57181538217263035746945707264998113280.000000
145108224 0.000000
1094938452 12.214680

[링크 : https://github.com/gabrielgouv/dirt-rally-telemetry-dashboard/blob/main/src/main/java/com/github/gabrielgouv/dr2td/model/TelemetryData.java]

[링크 : https://github.com/ozkar99/cm-telemetry/blob/master/src/dirt/rally2.rs]

[링크 : https://docs.google.com/spreadsheets/d/1eA518KHFowYw7tSMa-NxIFYpiWe5JXgVVQ_IMs7BVW0/edit?gid=0#gid=0]

'모종의 음모 > motion simulator' 카테고리의 다른 글

HS-311 스텝모터  (0) 2024.12.26
f1 2015 telemetry udp  (0) 2024.12.08
forza horizon 4 telemetry 수정  (0) 2024.12.07
forza telemetry  (0) 2024.12.02
forza horizon 4, 리눅스용 c언어 대시보드  (0) 2024.11.30
Posted by 구차니

빌드하려고 vs2022 부터 다시 깔고 쑈하긴 했는데

아무튼 기어가 올라오긴 한다.

 

서버는 자기 자신의 아이피를 넣고(0.0.0.0을 넣으면 되려나?) 포트를 게임에서 설정한대로 하면 끝

 

이 녀석의 구조체를 뜯어 봐야 겠구만?

[링크 : https://github.com/geeooff/forza-data-web]

 

 

다시 원점으로 돌아가서 하나하나 길이 맞추면서 보니까 먼가 12바이트가 추가되어 있었다.

01 00 00 00 // S32 IsRaceOn;

87 65 A8 14 // U32 TimestampMS;
FB 6F 14 46 // F32 EngineMaxRpm;
F8 FF 47 44 // F32 EngineIdleRpm;
D9 18 0A 45 // F32 CurrentEngineRpm;

C0 FC 1B BD // F32 AccelerationX;
90 AB 60 3D 
6C 00 D9 40 

88 EA A9 BD // F32 VelocityX;
E8 EF 9D BC 
83 62 9B 40 

5D F5 9C 3B // F32 AngularVelocityX;
16 7C 65 BC 
E9 09 D0 BC 

7E D0 B0 BF // F32 Yaw;
F2 E8 B1 BE 
AA F7 69 3E 

FA 31 DB 3E // F32 NormalizedSuspensionTravelFrontLeft
CE 72 B3 3E 
A4 DD F8 3E 
3F 6E 03 3F 

FB 1B 71 3F // F32 TireSlipRatioFrontLeft
07 85 59 3F 
A2 BE 10 3F 
4F 86 29 3F 

39 74 A3 41 // F32 WheelRotationSpeedFrontLeft
CC 09 8C 41 
BC CC 81 41 
C2 F8 85 41 

00 00 00 00 // S32 WheelOnRumbleStripFrontLeft
00 00 00 00 
00 00 00 00 
00 00 00 00 

00 00 00 00 // F32 WheelInPuddleDepthFrontLeft
00 00 00 00 
00 00 00 00 
00 00 00 00 

99 99 19 3F // F32 SurfaceRumbleFrontLeft
99 99 19 3F 
99 99 19 3F
99 99 19 3F

34 3F DD 3D // F32 TireSlipAngleFrontLeft
34 C6 E3 3D 
0F 9A 97 3D 
35 FA 99 3D 

B2 B0 72 3F  // F32 TireCombinedSlipFrontLeft
06 60 5B 3F 
DA FA 11 3F 
20 9D 2A 3F 

1E A2 B0 BB // F32 SuspensionTravelMetersFrontLeft
5C 44 3D BC 
00 E9 9A 3A 
80 C3 54 3B 

89 0D 00 00 // S32 CarOrdinal
04 00 00 00 // S32 CarClass
84 03 00 00 // S32 CarPerformanceIndex
02 00 00 00 // S32 DrivetrainType - // 0 = FWD, 1 = RWD, 2 = AWD

0C 00 00 00 // S32 NumCylinders
0D 00 00 00 // ?? 
00 00 00 00 // ??
00 00 00 00 // ??

EC C6 18 C4 // F32 PositionX; 
33 08 20 43 // F32 PositionY; 
40 A0 1C C5 // F32 PositionZ; 
A1 68 9B 40 // F32 Speed; 
F4 5F 03 48 // F32 Power; 
23 DF 11 44 // F32 Torque; 
20 4C 9C 42 // F32 TireTempFrontLeft; 
0D 43 9D 42 // F32 TireTempFrontRight; 
9B FD A9 42 // F32 TireTempRearLeft; 
9B FD A9 42 // F32 TireTempRearRight; 
00 00 00 00 // F32 Boost; 
00 00 80 3F // F32 Fuel; 
00 00 00 00 // F32 DistanceTraveled; 
00 00 00 00 // F32 BestLap; 
00 00 00 00 // F32 LastLap;
00 00 00 00 // F32 CurrentLap;
C8 AF FB 43 // F32 CurrentRaceTime;
00 00       // U16 LapNumber;
00          // U8 RacePosition;
FF          // U8 Accel;
00          // U8 Brake;
00          // U8 Clutch;
00          // U8 HandBrake;
01          // U8 Gear;
00          // S8 Steer;
00          // S8 NormalizedDrivingLine;
00          // S8 NormalizedAIBrakeDifference;
00          // ???

 

sled 구조체에서 Steer 이후에 24bit는 원래의 구조체와는 다른 것 같네

아무튼 아래와 같이 값들이 정상적으로 출력되는 것 확인!

 

소스코드

더보기
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <ncurses.h>

 

#define BUF_SIZE 500

 

typedef char S8;
typedef unsigned char U8;
typedef unsigned short U16;
typedef int S32;
typedef unsigned int U32;
typedef float F32;

 

typedef struct _sled_
{
// = 1 when race is on. = 0 when in menus/race stopped …
S32 IsRaceOn;

 

// Can overflow to 0 eventually
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;

 

// In the car's local space; X = pitch, Y = yaw, Z = roll
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;

 

F32 Yaw;
F32 Pitch;
F32 Roll;

 

// Suspension travel normalized: 0.0f = max stretch; 1.0 = max compression
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;

 

// Tire normalized slip ratio, = 0 means 100% grip and |ratio| > 1.0 means loss of grip.
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;

 

// Wheels rotation speed radians/sec.
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;

 

// = 1 when wheel is on rumble strip, = 0 when off.
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;

 

// = from 0 to 1, where 1 is the deepest puddle
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;

 

// Non-dimensional surface rumble values passed to controller force feedback
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;

 

// Tire normalized slip angle, = 0 means 100% grip and |angle| > 1.0 means loss of grip.
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;

 

// Tire normalized combined slip, = 0 means 100% grip and |slip| > 1.0 means loss of grip.
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;

 

// Actual suspension travel in meters
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;

 

// Unique ID of the car make/model
S32 CarOrdinal;

 

// Between 0 (D -- worst cars) and 7 (X class -- best cars) inclusive
S32 CarClass;

 

// Between 100 (worst car) and 999 (best car) inclusive
S32 CarPerformanceIndex;

 

// 0 = FWD, 1 = RWD, 2 = AWD
S32 DrivetrainType;

 

// Number of cylinders in the engine
S32 NumCylinders;
} __attribute__((packed)) FORZA_SLED;

 

typedef struct _dash_
{
// = 1 when race is on. = 0 when in menus/race stopped …
S32 IsRaceOn;

 

// Can overflow to 0 eventually
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;

 

// In the car's local space; X = pitch, Y = yaw, Z = roll
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;

 

F32 Yaw;
F32 Pitch;
F32 Roll;

 

// Suspension travel normalized: 0.0f = max stretch; 1.0 = max compression
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;

 

// Tire normalized slip ratio, = 0 means 100% grip and |ratio| > 1.0 means loss of grip.
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;

 

// Wheels rotation speed radians/sec.
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;

 

// = 1 when wheel is on rumble strip, = 0 when off.
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;

 

// = from 0 to 1, where 1 is the deepest puddle
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;

 

// Non-dimensional surface rumble values passed to controller force feedback
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;

 

// Tire normalized slip angle, = 0 means 100% grip and |angle| > 1.0 means loss of grip.
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;

 

// Tire normalized combined slip, = 0 means 100% grip and |slip| > 1.0 means loss of grip.
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;

 

// Actual suspension travel in meters
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;

 

// Unique ID of the car make/model
S32 CarOrdinal;

 

// Between 0 (D -- worst cars) and 7 (X class -- best cars) inclusive
S32 CarClass;

 

// Between 100 (worst car) and 999 (best car) inclusive
S32 CarPerformanceIndex;

 

// 0 = FWD, 1 = RWD, 2 = AWD
S32 DrivetrainType;

 

// Number of cylinders in the engine
S32 NumCylinders;

 

S32 reserved1;
S32 reserved2;
S32 reserved3;

 

// add for DASH
F32 PositionX;
F32 PositionY;
F32 PositionZ;
F32 Speed;
F32 Power;
F32 Torque;
F32 TireTempFrontLeft;
F32 TireTempFrontRight;
F32 TireTempRearLeft;
F32 TireTempRearRight;
F32 Boost;
F32 Fuel;
F32 DistanceTraveled;
F32 BestLap;
F32 LastLap;
F32 CurrentLap;
F32 CurrentRaceTime;
U16 LapNumber;
U8 RacePosition;
U8 Accel;
U8 Brake;
U8 Clutch;
U8 HandBrake;
U8 Gear;
S8 Steer;
S8 NormalizedDrivingLine;
S8 NormalizedAIBrakeDifference;

 

F32 TireWearFrontLeft;
F32 TireWearFrontRight;
F32 TireWearRearLeft;
F32 TireWearRearRight;

 

// ID for track
S32 TrackOrdinal;
} __attribute__((packed)) FORZA_DASH;

 

int last_raceon = 0;
void parse_forza_dbg(unsigned char *message)
{
int row = 0;
FORZA_DASH forza;
memcpy(&forza, message, sizeof(FORZA_DASH));

 

for(int i = 0; i < 324; i++)
{
if(i % 16 == 0)
printf("\n");
printf("%02X ",message[i]);
}
printf("\n");

 

printf("NumCylinders %d\n", forza.NumCylinders);
 
printf("PositionX %f\n", forza.PositionX);
printf("PositionY %f\n", forza.PositionY);
printf("PositionZ %f\n", forza.PositionZ);

 

printf("speed %f\n", forza.Speed);

 

printf("clutch %d\n", forza.Clutch);
printf("brake %d\n", forza.Brake);
printf("accel %d\n", forza.Accel);
printf("HandBrake %d\n", forza.HandBrake);
}

 

void parse_forza(unsigned char *message)
{
int row = 0;
FORZA_DASH forza;
memcpy(&forza, message, sizeof(FORZA_DASH));

 

static unsigned int pack_cnt = 0;

 

if(last_raceon != forza.IsRaceOn)
{
clear();
last_raceon = forza.IsRaceOn;
}

 

if(forza.IsRaceOn)
{
mvprintw(row++, 0, "let's fly %d\n",pack_cnt++);

 

mvprintw(row++, 0, "RPM %.0f / %.0f", forza.CurrentEngineRpm, forza.EngineMaxRpm);

 

mvprintw(row++, 0, "acc X %f", forza.AccelerationX);
mvprintw(row++, 0, "acc Y %f", forza.AccelerationY);
mvprintw(row++, 0, "acc Z %f", forza.AccelerationZ);

 

mvprintw(row++, 0, "vel X %f", forza.VelocityX);
mvprintw(row++, 0, "vel Y %f", forza.VelocityY);
mvprintw(row++, 0, "vel Z %f", forza.VelocityZ);

 

mvprintw(row++, 0, "ang vel X %f", forza.AngularVelocityX);
mvprintw(row++, 0, "ang vel Y %f", forza.AngularVelocityY);
mvprintw(row++, 0, "ang vel Z %f", forza.AngularVelocityZ);
 
mvprintw(row++, 0, "yaw %f", forza.Yaw);
mvprintw(row++, 0, "roll %f", forza.Pitch);
mvprintw(row++, 0, "pitch %f", forza.Roll);

 

mvprintw(row++, 0, "CarOrdinal %5d", forza.CarOrdinal);
mvprintw(row++, 0, "CarClass %5d", forza.CarClass);
mvprintw(row++, 0, "CarPerformanceIndex %5d", forza.CarPerformanceIndex);
mvprintw(row++, 0, "DrivetrainType %5d", forza.DrivetrainType);
mvprintw(row++, 0, "NumCylinders %5d", forza.NumCylinders);

 

mvprintw(row++, 0, "clutch[%3d] brake[%3d] accel[%3d] handbrake[%3d] gear[%2d] Steer[%3d]"
, forza.Clutch
, forza.Brake
, forza.Accel
, forza.HandBrake
, forza.Gear
, forza.Steer
);

 

mvprintw(row++, 0, "Speed[%5.0f] Power[%7.0f] Torque[%5.0f] Boost[%5.0f] Fuel[%5.0f]"
, forza.Speed
, forza.Power
, forza.Torque
, forza.Boost
, forza.Fuel
);

 

mvprintw(row++, 0, "Position %f , %f , %f"
, forza.PositionX
, forza.PositionY
, forza.PositionZ
);
}
else mvprintw(row++, 0, "pause");

 

refresh();
}

 

void error_handling(char *message);

 

int main(int argc, char *argv[]){
int serv_sock;
char message[BUF_SIZE];
int str_len;
socklen_t clnt_adr_sz;

 

struct sockaddr_in serv_adr, clnt_adr;

 

printf("%d sizeof(FORZA_SLED)\n", sizeof(FORZA_SLED));
printf("%d sizeof(FORZA_DASH)\n", sizeof(FORZA_DASH));

 

if(argc!=2){
printf("Usage:%s <port>\n", argv[0]);
exit(1);
}

 

serv_sock = socket(PF_INET, SOCK_DGRAM, 0);
if(serv_sock == -1)
error_handling("UDP socket creation error");

 

memset(&serv_adr, 0, sizeof(serv_adr));
serv_adr.sin_family=AF_INET;
serv_adr.sin_addr.s_addr=htonl(INADDR_ANY);
serv_adr.sin_port=htons(atoi(argv[1]));

 

if(bind(serv_sock, (struct sockaddr*)&serv_adr, sizeof(serv_adr)) == -1)
error_handling("bind() error");
 
initscr();

 

while(1){
clnt_adr_sz = sizeof(clnt_adr);
str_len = recvfrom(serv_sock, message, BUF_SIZE, 0, (struct sockaddr*)&clnt_adr, &clnt_adr_sz);
message[str_len] = 0x00;
// printf("%d received [%s]\n", str_len, message);
// printf("%d received, %d sizeof(FORZA_DASH)\n", str_len, sizeof(FORZA_DASH));
parse_forza(message);
// parse_forza_dbg(message);
sendto(serv_sock, message, str_len, 0, (struct sockaddr*)&clnt_adr, clnt_adr_sz);
}
close(serv_sock);
return 0;
}

 

void error_handling(char *message){
fputs(message, stderr);
fputc('\n', stderr);

 

endwin();
exit(1);
}




'모종의 음모 > motion simulator' 카테고리의 다른 글

f1 2015 telemetry udp  (0) 2024.12.08
dirt rally 2.0 telemetry udp  (0) 2024.12.08
forza telemetry  (0) 2024.12.02
forza horizon 4, 리눅스용 c언어 대시보드  (0) 2024.11.30
forza horizon 4 data format  (0) 2024.11.20
Posted by 구차니

node.js 이동경로  3d로 그리기 등

[링크 : https://github.com/austinbaccus/forza-telemetry/]

 

c#, 텍스트

[링크 : https://github.com/geeooff/forza-data-web]

 

M5Stack-CoreS3 기반

Horizon은 324 byte?

 if (packet.length() > 310 && packet.length() < 332) // packet length now 331 for motorsport?
                         {                                                   // Check we have a correctly-sized Forza packet. Note Horizon packets are 324 bytes, Motorsport packets are 311 bytes
                             if (packet.length() == 324)
                             {
                                //  USBSerial.println("Got Horizon packet");
                             }
                            else
                             { // Motorsport packet
                             }
                         }

[링크 : https://github.com/richstokes/Forza-TCS/tree/master]

 

python

[링크 : https://github.com/nettrom/forza_motorsport]

 

golang, 웹기반

[링크 : https://github.com/richstokes/Forza-data-tools]

Posted by 구차니

324 바이트를 받고 있고

데이터 포맷이 맞는지 모르겠지만 일단은 pause / racing은 확실한데..

가속도 값이 저게 맞나..?

324 received
let's fly
acc X 10.054599
acc Y -0.817630
acc Z 2.089930
vel X -6.518519
vel Y -0.198055
vel Z 17.591864
yaw   -2.862235
roll  -0.191706
pitch 0.158119

 

packed 하지 않으면 아래 사이즈

232 sizeof(FORZA_SLED)
332 sizeof(FORZA_DASH)

 

packed 하면 아래 사이즈

232 sizeof(FORZA_SLED)
331 sizeof(FORZA_DASH)

 

forza horizon 은 sled 보단 dash 구조체 인가?

구조체 두개를 비교해보니, 실린더 수까진 동일하고 그 이후로 추가 데이터가 들어온다.

그렇다면.. 가속도가 맞다는건데.. 도대체(?) 왜 기어랑은 브레이크는 값이 왜 안들어 올까!

[링크 : https://support.forzamotorsport.net/hc/en-us/articles/21742934024211-Forza-Motorsport-Data-Out-Documentation]

 

리눅스 / ncurses / c 니까 어디든 쉽게 이식은 가능하겠지?

 

소스코드

더보기
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#include <ncurses.h>

 

#define BUF_SIZE 500

 

typedef char S8;
typedef unsigned char U8;
typedef unsigned short U16;
typedef int S32;
typedef unsigned int U32;
typedef float F32;

 

typedef struct _sled_
{
// = 1 when race is on. = 0 when in menus/race stopped …
S32 IsRaceOn;

 

// Can overflow to 0 eventually
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;

 

// In the car's local space; X = pitch, Y = yaw, Z = roll
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;

 

F32 Yaw;
F32 Pitch;
F32 Roll;

 

// Suspension travel normalized: 0.0f = max stretch; 1.0 = max compression
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;

 

// Tire normalized slip ratio, = 0 means 100% grip and |ratio| > 1.0 means loss of grip.
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;

 

// Wheels rotation speed radians/sec.
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;

 

// = 1 when wheel is on rumble strip, = 0 when off.
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;

 

// = from 0 to 1, where 1 is the deepest puddle
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;

 

// Non-dimensional surface rumble values passed to controller force feedback
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;

 

// Tire normalized slip angle, = 0 means 100% grip and |angle| > 1.0 means loss of grip.
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;

 

// Tire normalized combined slip, = 0 means 100% grip and |slip| > 1.0 means loss of grip.
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;

 

// Actual suspension travel in meters
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;

 

// Unique ID of the car make/model
S32 CarOrdinal;

 

// Between 0 (D -- worst cars) and 7 (X class -- best cars) inclusive
S32 CarClass;

 

// Between 100 (worst car) and 999 (best car) inclusive
S32 CarPerformanceIndex;

 

// 0 = FWD, 1 = RWD, 2 = AWD
S32 DrivetrainType;

 

// Number of cylinders in the engine
S32 NumCylinders;
} __attribute__((packed)) FORZA_SLED;

 

typedef struct _dash_
{
// = 1 when race is on. = 0 when in menus/race stopped …
S32 IsRaceOn;

 

// Can overflow to 0 eventually
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;

 

// In the car's local space; X = right, Y = up, Z = forward
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;

 

// In the car's local space; X = pitch, Y = yaw, Z = roll
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;

 

F32 Yaw;
F32 Pitch;
F32 Roll;

 

// Suspension travel normalized: 0.0f = max stretch; 1.0 = max compression
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;

 

// Tire normalized slip ratio, = 0 means 100% grip and |ratio| > 1.0 means loss of grip.
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;

 

// Wheels rotation speed radians/sec.
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;

 

// = 1 when wheel is on rumble strip, = 0 when off.
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;

 

// = from 0 to 1, where 1 is the deepest puddle
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;

 

// Non-dimensional surface rumble values passed to controller force feedback
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;

 

// Tire normalized slip angle, = 0 means 100% grip and |angle| > 1.0 means loss of grip.
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;

 

// Tire normalized combined slip, = 0 means 100% grip and |slip| > 1.0 means loss of grip.
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;

 

// Actual suspension travel in meters
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;

 

// Unique ID of the car make/model
S32 CarOrdinal;

 

// Between 0 (D -- worst cars) and 7 (X class -- best cars) inclusive
S32 CarClass;

 

// Between 100 (worst car) and 999 (best car) inclusive
S32 CarPerformanceIndex;

 

// 0 = FWD, 1 = RWD, 2 = AWD
S32 DrivetrainType;

 

// Number of cylinders in the engine
S32 NumCylinders;

 

// add for DASH
F32 PositionX;
F32 PositionY;
F32 PositionZ;
F32 Speed;
F32 Power;
F32 Torque;
F32 TireTempFrontLeft;
F32 TireTempFrontRight;
F32 TireTempRearLeft;
F32 TireTempRearRight;
F32 Boost;
F32 Fuel;
F32 DistanceTraveled;
F32 BestLap;
F32 LastLap;
F32 CurrentLap;
F32 CurrentRaceTime;
U16 LapNumber;
U8 RacePosition;
U8 Accel;
U8 Brake;
U8 Clutch;
U8 HandBrake;
U8 Gear;
S8 Steer;
S8 NormalizedDrivingLine;
S8 NormalizedAIBrakeDifference;

 

F32 TireWearFrontLeft;
F32 TireWearFrontRight;
F32 TireWearRearLeft;
F32 TireWearRearRight;

 

// ID for track
S32 TrackOrdinal;
} __attribute__((packed)) FORZA_DASH;

 

int last_raceon = 0;
void parse_forza(char *message)
{
int row = 0;
FORZA_DASH forza;
memcpy(&forza, message, sizeof(FORZA_DASH));

 

static unsigned int pack_cnt = 0;

 

if(last_raceon != forza.IsRaceOn)
{
clear();
last_raceon = forza.IsRaceOn;
}

 

if(forza.IsRaceOn)
{
mvprintw(row++, 0, "let's fly %d\n",pack_cnt++);

 

mvprintw(row++, 0, "RPM %f / %f", forza.CurrentEngineRpm, forza.EngineMaxRpm);

 

mvprintw(row++, 0, "acc X %f", forza.AccelerationX);
mvprintw(row++, 0, "acc Y %f", forza.AccelerationY);
mvprintw(row++, 0, "acc Z %f", forza.AccelerationZ);

 

mvprintw(row++, 0, "vel X %f", forza.VelocityX);
mvprintw(row++, 0, "vel Y %f", forza.VelocityY);
mvprintw(row++, 0, "vel Z %f", forza.VelocityZ);

 

mvprintw(row++, 0, "ang vel X %f", forza.AngularVelocityX);
mvprintw(row++, 0, "ang vel Y %f", forza.AngularVelocityY);
mvprintw(row++, 0, "ang vel Z %f", forza.AngularVelocityZ);
 
mvprintw(row++, 0, "yaw %f", forza.Yaw);
mvprintw(row++, 0, "roll %f", forza.Pitch);
mvprintw(row++, 0, "pitch %f", forza.Roll);



mvprintw(row++, 0, "CarOrdinal %d", forza.CarOrdinal);
mvprintw(row++, 0, "CarClass %d", forza.CarClass);
mvprintw(row++, 0, "CarPerformanceIndex %d", forza.CarPerformanceIndex);
mvprintw(row++, 0, "DrivetrainType %d", forza.DrivetrainType);
mvprintw(row++, 0, "NumCylinders %d", forza.NumCylinders);

 

mvprintw(row++, 0, "clutch[%d] brake[%d] accel[%d] handbrake[%d] gear[%d]"
, forza.Clutch
, forza.Brake
, forza.Accel
, forza.HandBrake
, forza.Gear);

 

}
else mvprintw(row++, 0, "pause");

 

refresh();
}

 

void error_handling(char *message);

 

int main(int argc, char *argv[]){
int serv_sock;
char message[BUF_SIZE];
int str_len;
socklen_t clnt_adr_sz;

 

struct sockaddr_in serv_adr, clnt_adr;

 

printf("%d sizeof(FORZA_SLED)\n", sizeof(FORZA_SLED));
printf("%d sizeof(FORZA_DASH)\n", sizeof(FORZA_DASH));

 

if(argc!=2){
printf("Usage:%s <port>\n", argv[0]);
exit(1);
}

 

serv_sock = socket(PF_INET, SOCK_DGRAM, 0);
if(serv_sock == -1)
error_handling("UDP socket creation error");

 

memset(&serv_adr, 0, sizeof(serv_adr));
serv_adr.sin_family=AF_INET;
serv_adr.sin_addr.s_addr=htonl(INADDR_ANY);
serv_adr.sin_port=htons(atoi(argv[1]));

 

if(bind(serv_sock, (struct sockaddr*)&serv_adr, sizeof(serv_adr)) == -1)
error_handling("bind() error");
 
initscr();

 

while(1){
clnt_adr_sz = sizeof(clnt_adr);
str_len = recvfrom(serv_sock, message, BUF_SIZE, 0, (struct sockaddr*)&clnt_adr, &clnt_adr_sz);
message[str_len] = 0x00;
// printf("%d received [%s]\n", str_len, message);
// printf("%d received, %d sizeof(FORZA_SLED)\n", str_len, sizeof(FORZA_SLED));
parse_forza(message);
sendto(serv_sock, message, str_len, 0, (struct sockaddr*)&clnt_adr, clnt_adr_sz);
}
close(serv_sock);
return 0;
}

 

void error_handling(char *message){
fputs(message, stderr);
fputc('\n', stderr);

 

endwin();
exit(1);
}

'모종의 음모 > motion simulator' 카테고리의 다른 글

forza horizon 4 telemetry 수정  (0) 2024.12.07
forza telemetry  (0) 2024.12.02
forza horizon 4 data format  (0) 2024.11.20
dirt rally 2.0 motion data  (0) 2024.11.03
F1 2015 motion data  (0) 2024.11.03
Posted by 구차니

forza horizon 4 켜기 전에 미리 udp 를 수신하게 하고 기다렸는데

데이터포맷 버전등은 없어서 조금 실망(!)

0x144 (324 byte) 가 하나의 데이터 패킷 이려나?

00000000  00 00 00 00 8e 27 4a 1a  00 00 00 00 00 00 00 00  |.....'J.........|
00000010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000140  00 00 00 00 00 00 00 00  cc 27 4a 1a 00 00 00 00  |.........'J.....|
00000150  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000280  00 00 00 00 00 00 00 00  00 00 00 00 dc 27 4a 1a  |.............'J.|
00000290  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

 

*
0005d9e0  f0 32 11 3a fe 1b 11 3a  9b 9c 1d 3a 98 9d 1d 3a  |.2.:...:...:...:|
0005d9f0  13 3d 11 3a 83 1d 11 3a  df 9d 1d 3a d3 9d 1d 3a  |.=.:...:...:...:|
0005da00  00 f6 25 3a 00 02 23 3a  00 1c 30 ba 00 4c 34 ba  |..%:..#:..0..L4.|
0005da10  f8 04 00 00 04 00 00 00  56 03 00 00 02 00 00 00  |........V.......|
0005da20  04 00 00 00 20 00 00 00  00 00 00 00 00 00 00 00  |.... ...........|
0005da30  9a 15 2c c5 d1 f4 ae 43  0a 2d 88 c5 b7 bc 97 39  |..,....C.-.....9|
0005da40  5d 4a 8c 45 8b cc 47 42  52 42 f2 42 52 42 f2 42  |]J.E..GBRB.BRB.B|
0005da50  6e 42 f2 42 6e 42 f2 42  69 66 30 c1 00 00 80 3f  |nB.BnB.Bif0....?|
0005da60  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0005da70  62 99 88 3c 00 00 00 ff  00 00 00 01 7f 00 00 00  |b..<............|
0005da80  01 00 00 00 a2 91 4a 1a  fb cf 04 46 f8 ff 47 44  |......J....F..GD|
0005da90  99 3a 7c 44 18 d6 8b 34  62 cf 83 ba 5b c6 8e 37  |.:|D...4b...[..7|
0005daa0  67 55 96 3a fc c4 1c b9  3d 48 1f b9 b9 01 85 b9  |gU.:....=H......|
0005dab0  ee f2 ad b7 9a b7 4f bb  76 86 df bf 68 23 80 3c  |......O.v...h#.<|
0005dac0  c0 4a 05 b8 6e 99 d6 3e  c6 a1 d6 3e 45 12 d6 3e  |.J..n..>...>E..>|
0005dad0  20 19 d6 3e 7a 0d 2b 36  b4 ec 48 b6 9b 9b cf 36  | ..>z.+6..H....6|
0005dae0  3c 8e 80 36 81 4b 1c b9  2b bd 93 b9 11 80 b4 37  |<..6.K..+......7|
0005daf0  05 98 f3 b8 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0005db00  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0005db20  00 00 00 00 92 31 95 3a  d0 c8 94 3a e5 42 a7 3a  |.....1.:...:.B.:|
0005db30  32 47 a7 3a aa 31 95 3a  f2 c8 94 3a 66 43 a7 3a  |2G.:.1.:...:fC.:|
0005db40  63 47 a7 3a 00 d6 23 3a  00 a6 26 3a 00 a6 31 ba  |cG.:..#:..&:..1.|
0005db50  00 60 2f ba f8 04 00 00  04 00 00 00 56 03 00 00  |.`/.........V...|
0005db60  02 00 00 00 04 00 00 00  20 00 00 00 00 00 00 00  |........ .......|
0005db70  00 00 00 00 9a 15 2c c5  d1 f4 ae 43 0a 2d 88 c5  |......,....C.-..|
0005db80  40 e8 98 3a 61 c1 21 46  65 8c c8 42 04 3f f2 42  |@..:a.!Fe..B.?.B|
0005db90  04 3f f2 42 1e 3f f2 42  1e 3f f2 42 69 66 30 c1  |.?.B.?.B.?.Bif0.|
0005dba0  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 00  |...?............|
0005dbb0  00 00 00 00 e6 9b 08 3d  00 00 00 ff 00 00 00 01  |.......=........|
0005dbc0  7f 00 00 00 01 00 00 00  b2 91 4a 1a fb cf 04 46  |..........J....F|
0005dbd0  f8 ff 47 44 fb 85 98 44  67 b4 5a 36 a3 f7 e6 bc  |..GD...Dg.Z6....|
0005dbe0  f3 ae e7 39 df 32 25 3b  65 de ea b9 cd bf 66 b9  |...9.2%;e.....f.|
0005dbf0  44 58 6b b9 35 28 63 b8  9a 64 bb bb 7c 86 df bf  |DXk.5(c..d..|...|
0005dc00  09 1b 80 3c 00 aa e5 b8  bf 85 d6 3e 39 b5 d6 3e  |...<.......>9..>|
0005dc10  89 04 d6 3e 08 3e d6 3e  e0 45 89 b7 c3 36 fe b7  |...>.>.>.E...6..|
0005dc20  80 f4 ba 36 5a b5 0a b6  fb 85 e3 b9 d5 72 1e ba  |...6Z........r..|
0005dc30  6a b1 61 b9 b0 2f c4 b9  00 00 00 00 00 00 00 00  |j.a../..........|
0005dc40  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*

 

forza sports 7 포맷은 링크를 참조하고, 타입별로 정리해보니 다르거나 추가된게 있거나.. 인가?

138 * sizeof(int) = 552
1 * sizeof(short) = 2
9 * sizeof(char) = 18

552 + 2 + 18 = 572

 

그게 아니라면 sled 구조만 봐야 하는걸지도?

58 * sizeof(int) = 232.. 머지?!

S32 IsRaceOn;
U32 TimestampMS;
F32 EngineMaxRpm;
F32 EngineIdleRpm;
F32 CurrentEngineRpm;
F32 AccelerationX;
F32 AccelerationY;
F32 AccelerationZ;
F32 VelocityX;
F32 VelocityY;
F32 VelocityZ;
F32 AngularVelocityX;
F32 AngularVelocityY;
F32 AngularVelocityZ;
F32 Yaw;
F32 Pitch;
F32 Roll;
F32 NormalizedSuspensionTravelFrontLeft;
F32 NormalizedSuspensionTravelFrontRight;
F32 NormalizedSuspensionTravelRearLeft;
F32 NormalizedSuspensionTravelRearRight;
F32 TireSlipRatioFrontLeft;
F32 TireSlipRatioFrontRight;
F32 TireSlipRatioRearLeft;
F32 TireSlipRatioRearRight;
F32 WheelRotationSpeedFrontLeft;
F32 WheelRotationSpeedFrontRight;
F32 WheelRotationSpeedRearLeft;
F32 WheelRotationSpeedRearRight;
S32 WheelOnRumbleStripFrontLeft;
S32 WheelOnRumbleStripFrontRight;
S32 WheelOnRumbleStripRearLeft;
S32 heelOnRumbleStripRearRight;
F32 WheelInPuddleDepthFrontLeft;
F32 WheelInPuddleDepthFrontRight;
F32 WheelInPuddleDepthRearLeft;
F32 WheelInPuddleDepthRearRight;
F32 SurfaceRumbleFrontLeft;
F32 SurfaceRumbleFrontRight;
F32 SurfaceRumbleRearLeft;
F32 SurfaceRumbleRearRight;
F32 TireSlipAngleFrontLeft;
F32 TireSlipAngleFrontRight;
F32 TireSlipAngleRearLeft;
F32 TireSlipAngleRearRight;
F32 TireCombinedSlipFrontLeft;
F32 TireCombinedSlipFrontRight;
F32 TireCombinedSlipRearLeft;
F32 TireCombinedSlipRearRight;
F32 SuspensionTravelMetersFrontLeft;
F32 SuspensionTravelMetersFrontRight;
F32 SuspensionTravelMetersRearLeft;
F32 SuspensionTravelMetersRearRight;
S32 CarOrdinal;
S32 CarClass;
S32 CarPerformanceIndex;
S32 DrivetrainType;
S32 NumCylinders;

[링크 : https://support.forzamotorsport.net/hc/en-us/articles/21742934024211-Forza-Motorsport-Data-Out-Documentation]

 

.net 컴파일러가 필요하긴 한데.. 나중에 돌려보고 분석해보는게 빠르려나?

forza horizon 4는 sled와 dash 그리고 문서화 되지 않은 extra 일부만 존재하는 듯.

[링크 : https://github.com/geeooff/forza-data-web/blob/main/README.md]

'모종의 음모 > motion simulator' 카테고리의 다른 글

forza telemetry  (0) 2024.12.02
forza horizon 4, 리눅스용 c언어 대시보드  (0) 2024.11.30
dirt rally 2.0 motion data  (0) 2024.11.03
F1 2015 motion data  (0) 2024.11.03
F1 2012 motion data  (0) 2024.11.03
Posted by 구차니

메뉴에는 없어서 실행하고나서 파일을 찾으니 보인다.

아래는 기본 설정

<motion_platform>
<dbox enabled="true" />
<udp enabled="false" extradata="0" ip="127.0.0.1" port="20777" delay="1" />
<custom_udp enabled="false" filename="packet_data.xml" ip="127.0.0.1" port="20777" delay="1" />
<fanatec enabled="true" pedalVibrationScale="1.0" wheelVibrationScale="1.0" ledTrueForGearsFalseForSpeed="true" />
</motion_platform>

 

dbox는 끄고 udp만 true로 바꾸고 해보면

<motion_platform>
<dbox enabled="false" />
<udp enabled="true" extradata="0" ip="192.168.219.24" port="20777" delay="1" />
<custom_udp enabled="false" filename="packet_data.xml" ip="127.0.0.1" port="20777" delay="1" />
<fanatec enabled="true" pedalVibrationScale="1.0" wheelVibrationScale="1.0" ledTrueForGearsFalseForSpeed="true" />
</motion_platform>

 

얘도 ToCA가 반복되네.  F1 2012랑 동일한 프로콜인가?

$ nc -ul 20777 | hexdump -C
000550b0  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
000550c0  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
000550d0  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
000550e0  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
000550f0  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055100  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055110  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055120  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055130  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055140  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
00055150  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
00055160  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
00055170  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
00055180  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
00055190  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000551a0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
000551b0  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
000551c0  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
000551d0  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
000551e0  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
000551f0  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055200  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055210  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055220  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055230  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055240  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055250  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
00055260  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
00055270  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
00055280  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
00055290  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000552a0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000552b0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
000552c0  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
000552d0  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
000552e0  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
000552f0  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055300  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055310  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055320  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055330  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055340  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055350  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055360  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
00055370  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
00055380  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
00055390  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
000553a0  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000553b0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000553c0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
000553d0  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
000553e0  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
000553f0  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
00055400  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055410  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055420  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055430  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055440  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055450  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055460  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055470  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
00055480  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
00055490  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
000554a0  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
000554b0  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000554c0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000554d0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
000554e0  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
000554f0  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
00055500  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
00055510  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055520  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055530  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055540  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055550  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055560  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055570  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055580  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
00055590  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
000555a0  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
000555b0  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
000555c0  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000555d0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000555e0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
000555f0  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
00055600  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
00055610  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
00055620  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055630  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055640  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055650  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055660  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055670  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055680  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
00055690  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
000556a0  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
000556b0  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
000556c0  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
000556d0  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000556e0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
000556f0  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
00055700  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
00055710  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
00055720  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
00055730  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055740  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055750  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055760  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055770  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055780  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
00055790  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
000557a0  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|
000557b0  54 6f 43 41 18 b3 01 00  4c b2 7c 3b d6 d1 a1 ba  |ToCA....L.|;....|
000557c0  2f 1d c2 3a 6a dd 99 3f  6d 00 94 bc c1 77 27 bc  |/..:j..?m....w'.|
000557d0  ff 80 49 b9 0c 35 91 bd  14 5b 8c bc 7a 1a 10 bb  |..I..5...[..z...|
000557e0  a6 dd 1e bb 17 8b d8 ba  80 b7 38 fb 85 ad ff ff  |..........8.....|
000557f0  70 93 d1 08 54 6f 43 41  18 b3 01 00 4c b2 7c 3b  |p...ToCA....L.|;|
00055800  d6 d1 a1 ba 2f 1d c2 3a  6a dd 99 3f 6d 00 94 bc  |..../..:j..?m...|
00055810  c1 77 27 bc ff 80 49 b9  0c 35 91 bd 14 5b 8c bc  |.w'...I..5...[..|
00055820  7a 1a 10 bb a6 dd 1e bb  17 8b d8 ba 80 b7 38 fb  |z.............8.|
00055830  85 ad ff ff 70 93 d1 08  54 6f 43 41 18 b3 01 00  |....p...ToCA....|
00055840  4c b2 7c 3b d6 d1 a1 ba  2f 1d c2 3a 6a dd 99 3f  |L.|;..../..:j..?|
00055850  6d 00 94 bc c1 77 27 bc  ff 80 49 b9 0c 35 91 bd  |m....w'...I..5..|
00055860  14 5b 8c bc 7a 1a 10 bb  a6 dd 1e bb 17 8b d8 ba  |.[..z...........|
00055870  80 b7 38 fb 85 ad ff ff  70 93 d1 08 54 6f 43 41  |..8.....p...ToCA|
00055880  18 b3 01 00 4c b2 7c 3b  d6 d1 a1 ba 2f 1d c2 3a  |....L.|;..../..:|
00055890  6a dd 99 3f 6d 00 94 bc  c1 77 27 bc ff 80 49 b9  |j..?m....w'...I.|
000558a0  0c 35 91 bd 14 5b 8c bc  7a 1a 10 bb a6 dd 1e bb  |.5...[..z.......|
000558b0  17 8b d8 ba 80 b7 38 fb  85 ad ff ff 70 93 d1 08  |......8.....p...|

 

+

2024.12.08

악셀이나 브레이크를 잡아도 먼가 바뀌는 플래그가 안보이고 ToCA가 가장 마지막 데이터네.. 머지?

68바이트.. 작다!

6C DB 00 00 A9 C3 99 3D 78 7C 5C 3D 43 29 0D 3D 
0E B2 89 3F C6 CC EB 3C 27 65 18 BD 3F 1B FE 3F 
AF 34 DE BF 37 FB 44 40 2C BF E6 C0 38 E7 7B 40 
44 3D 24 3D 88 7D D7 FB 74 43 33 00 50 4F CB 08 
54 6F 43 41 

'모종의 음모 > motion simulator' 카테고리의 다른 글

forza horizon 4, 리눅스용 c언어 대시보드  (0) 2024.11.30
forza horizon 4 data format  (0) 2024.11.20
F1 2015 motion data  (0) 2024.11.03
F1 2012 motion data  (0) 2024.11.03
dirt showdown motion data  (0) 2024.11.03
Posted by 구차니

XML 구조가 다르다? 수정을 했는데 잘 되려나?

수정 전

<motion>
<dbox enabled="true" />
<udp enabled="false" ip=" 127.0.0.1 " port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
</motion>

 

수정 후

<motion>
<dbox enabled="false" />
<udp enabled="true" ip="192.168.219.24" port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
<udp enabled="false" ip="127.0.0.1" port="20777" />
</motion>

 

/YF 가 주기적으로 나온다.

$ nc -ul 20777 | hexdump -C
00150b70  00 00 c8 42 00 00 00 00  00 00 80 3f 98 68 2d 42  |...B.......?.h-B|
00150b80  00 00 00 00 bc 36 76 44  19 50 76 44 c7 f3 84 44  |.....6vD.PvD...D|
00150b90  ad c2 84 44 00 00 90 41  00 00 90 41 00 00 90 41  |...D...A...A...A|
00150ba0  00 00 90 41 00 00 80 40  00 00 c6 42 40 aa a5 45  |...A...@...B@..E|
00150bb0  00 00 00 00 ff 2f 59 46  00 80 3b 45 00 00 10 41  |...../YF..;E...A|
00150bc0  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 40  |...?...........@|
00150bd0  0f 3d a4 42 11 35 3c 42  1f 26 f0 44 1f 26 f0 44  |.=.B.5<B.&.D.&.D|
00150be0  6a 66 35 c3 d3 e9 5b 40  5c bb 65 c4 d5 14 e5 40  |jf5...[@\.e....@|
00150bf0  31 da a3 40 9d d7 b3 bd  3d 12 a0 c0 2c 1f 31 3f  |1..@....=...,.1?|
00150c00  30 a1 52 ba bf d5 38 3f  59 cb 38 3f ef b2 a5 bc  |0.R...8?Y.8?....|
00150c10  ae 16 31 bf ca b0 41 40  1e 4d 4d 40 14 bb 72 40  |..1...A@.MM@..r@|
00150c20  13 8e 6b 40 d6 ed 1b 42  86 5f 09 43 04 a5 45 42  |..k@...B._.C..EB|
00150c30  02 81 3c 43 22 f3 e3 40  12 9d e5 40 f1 40 e4 40  |..<C"..@...@.@.@|
00150c40  34 af e5 40 00 00 00 00  f0 70 68 3d 00 00 00 00  |4..@.....ph=....|
00150c50  00 00 00 00 00 00 00 40  02 a4 0f be 13 8f 8d be  |.......@........|
00150c60  00 00 00 00 87 86 6d 45  00 00 00 00 00 00 80 41  |......mE.......A|
00150c70  00 50 c3 48 00 50 c3 48  00 00 00 00 00 00 80 3f  |.P.H.P.H.......?|
00150c80  00 00 80 3f 77 16 0f 41  00 00 c8 42 00 00 00 00  |...?w..A...B....|
00150c90  00 00 80 3f 98 68 2d 42  00 00 00 00 a2 1e 76 44  |...?.h-B......vD|
00150ca0  fc 37 76 44 37 e5 84 44  24 b4 84 44 00 00 90 41  |.7vD7..D$..D...A|
00150cb0  00 00 90 41 00 00 90 41  00 00 90 41 00 00 80 40  |...A...A...A...@|
00150cc0  00 00 c6 42 40 aa a5 45  00 00 00 00 ff 2f 59 46  |...B@..E..... /YF |
00150cd0  00 80 3b 45 00 00 10 41  00 00 80 3f 00 00 00 00  |..;E...A...?....|
00150ce0  00 00 00 00 00 00 00 40  97 45 a4 42 1c 46 3c 42  |.......@.E.B.F<B|
00150cf0  3f 26 f0 44 3f 26 f0 44  86 50 35 c3 68 d1 5b 40  |?&.D?&.D.P5.h.[@|
00150d00  ac c0 65 c4 95 e0 e4 40  3b 37 a4 40 75 30 b7 bd  |..e....@;7.@u0..|
00150d10  8f 67 9f c0 6f 38 31 3f  d6 f0 46 bb 41 bd 38 3f  |.g..o81?..F.A.8?|
00150d20  01 b1 38 3f 1a c7 a5 bc  42 32 31 bf 81 f2 3e 40  |..8?....B21...>@|
00150d30  32 b7 03 40 da 90 81 40  e8 70 2c 40 68 a4 24 c0  |2..@...@.p,@h.$.|
00150d40  8a 02 8a c2 21 14 76 41  93 bd 6c c2 6d 1e e4 40  |....!.vA..l.m..@|
00150d50  f8 ab df 40 b2 52 e4 40  39 8c e5 40 00 00 00 00  |...@.R.@9..@....|
00150d60  f0 70 68 3d 00 00 00 00  00 00 00 00 00 00 00 40  |.ph=...........@|
00150d70  0c 7a 0f be 40 3a 1b bd  00 00 00 00 2d 19 6b 45  |.z..@:......-.kE|
00150d80  00 00 00 00 00 00 80 41  00 50 c3 48 00 50 c3 48  |.......A.P.H.P.H|
00150d90  00 00 00 00 00 00 80 3f  00 00 80 3f 77 16 0f 41  |.......?...?w..A|
00150da0  00 00 c8 42 00 00 00 00  00 00 80 3f 98 68 2d 42  |...B.......?.h-B|
00150db0  00 00 00 00 86 06 76 44  dd 1f 76 44 a6 d6 84 44  |......vD..vD...D|
00150dc0  9a a5 84 44 00 00 90 41  00 00 90 41 00 00 90 41  |...D...A...A...A|
00150dd0  00 00 90 41 00 00 80 40  00 00 c6 42 40 aa a5 45  |...A...@...B@..E|
00150de0  00 00 00 00 ff 2f 59 46  00 80 3b 45 00 00 10 41  |..... /YF ..;E...A|
00150df0  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 40  |...?...........@|
00150e00  1e 4e a4 42 2c 57 3c 42  5a 26 f0 44 5a 26 f0 44  |.N.B,W<BZ&.DZ&.D|
00150e10  c7 3a 35 c3 ca b1 5b 40  02 c6 65 c4 29 b2 e4 40  |.:5...[@..e.)..@|
00150e20  ca 2e a3 40 cc 3f ed bd  8d 2f a0 c0 e3 4a 31 3f  |...@.?.../...J1?|
00150e30  a0 63 9e 39 36 ac 38 3f  c4 a2 38 3f 96 2e a6 bc  |.c.96.8?..8?....|
00150e40  42 41 31 bf 5d de 9c 3f  19 b3 40 40 cd dd c1 3f  |BA1.]..?..@@...?|
00150e50  75 a0 72 40 2b 11 d3 c2  d4 cd 64 42 0b 23 18 c3  |u.r@+.....dB.#..|
00150e60  f8 a9 83 42 6b b8 d9 40  0f 3f e5 40 2d 16 e4 40  |...Bk..@.?.@-..@|
00150e70  e0 55 e5 40 00 00 00 00  e0 f0 5b 3d 00 00 00 00  |.U.@......[=....|
00150e80  00 00 00 00 00 00 00 40  b6 7c 7a 3e fa 70 12 bd  |.......@.|z>.p..|
00150e90  00 00 00 00 26 9e 68 45  00 00 00 00 00 00 80 41  |....&.hE.......A|
00150ea0  00 50 c3 48 00 50 c3 48  00 00 00 00 00 00 80 3f  |.P.H.P.H.......?|
00150eb0  00 00 80 3f 77 16 0f 41  00 00 c8 42 00 00 00 00  |...?w..A...B....|
00150ec0  00 00 80 3f 98 68 2d 42  00 00 00 00 70 ee 75 44  |...?.h-B....p.uD|
00150ed0  c4 07 76 44 19 c8 84 44  14 97 84 44 00 00 90 41  |..vD...D...D...A|
00150ee0  00 00 90 41 00 00 90 41  00 00 90 41 00 00 80 40  |...A...A...A...@|
00150ef0  00 00 c6 42 40 aa a5 45  00 00 00 00 ff 2f 59 46  |...B@..E...../YF|
00150f00  00 80 3b 45 00 00 10 41  00 00 80 3f 00 00 00 00  |..;E...A...?....|
00150f10  00 00 00 00 00 00 00 40  a4 56 a4 42 3b 68 3c 42  |.......@.V.B;h<B|
00150f20  6f 26 f0 44 6f 26 f0 44  4c 25 35 c3 ce 9d 5b 40  |o&.Do&.DL%5...[@|
00150f30  57 cb 65 c4 06 4c e3 40  f1 47 a1 40 3b 0c 96 bd  |W.e..L.@.G.@;...|
00150f40  76 25 a0 c0 42 61 31 3f  54 70 7d 3b 12 96 38 3f  |v%..Ba1?Tp};..8?|
00150f50  3c 90 38 3f c6 80 a6 bc  81 54 31 bf a0 1e d0 3f  |<.8?.....T1....?|
00150f60  85 f8 3f 40 8e 39 2f 40  af a1 64 40 f4 65 c0 41  |..?@.9/@..d@.e.A|
00150f70  a6 1a 2f bf 70 f4 92 42  7c 27 52 c1 9c 98 e2 40  |../.p..B|'R....@|
00150f80  04 b5 e3 40 fd b8 e2 40  9a e8 e3 40 00 00 00 00  |...@...@...@....|
00150f90  d0 70 57 3d 00 00 00 00  00 00 00 00 00 00 00 40  |.pW=...........@|
00150fa0  88 93 7b 3e 27 b4 8b be  00 00 00 00 89 28 6c 45  |..{>'........(lE|
00150fb0  00 00 00 00 00 00 80 41  00 50 c3 48 00 50 c3 48  |.......A.P.H.P.H|
00150fc0  00 00 00 00 00 00 80 3f  00 00 80 3f 77 16 0f 41  |.......?...?w..A|
00150fd0  00 00 c8 42 00 00 00 00  00 00 80 3f 98 68 2d 42  |...B.......?.h-B|
00150fe0  00 00 00 00 6b d6 75 44  bc ef 75 44 96 b9 84 44  |....k.uD..uD...D|
00150ff0  98 88 84 44 00 00 90 41  00 00 90 41 00 00 90 41  |...D...A...A...A|
00151000  00 00 90 41 00 00 80 40  00 00 c6 42 40 aa a5 45  |...A...@...B@..E|
00151010  00 00 00 00 ff 2f 59 46  00 80 3b 45 00 00 10 41  |...../YF..;E...A|
00151020  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 40  |...?...........@|
00151030  2b 5f a4 42 47 79 3c 42  87 26 f0 44 87 26 f0 44  |+_.BGy<B.&.D.&.D|
00151040  d4 0f 35 c3 b3 7f 5b 40  a7 d0 65 c4 65 ce e2 40  |..5...[@..e.e..@|
00151050  f6 27 a1 40 93 fb e1 bd  af 8d 9f c0 4c 77 31 3f  |.'.@........Lw1?|
00151060  27 91 da 3b 63 7f 38 3f  f3 7c 38 3f 2f 22 a5 bc  |'..;c.8?.|8?/"..|
00151070  ba 68 31 bf 43 d0 97 3f  59 3d fa 3f 8a 9f 1c 40  |.h1.C..?Y=.?...@|
00151080  2e 95 18 40 da 51 d3 c1  26 e5 7a c2 30 a0 8b c1  |...@.Q..&.z.0...|
00151090  25 b5 8e c2 35 9c e1 40  00 8c e2 40 68 4c e2 40  |%...5..@...@hL.@|
001510a0  71 88 e3 40 00 00 00 00  d0 70 53 3d 00 00 00 00  |q..@.....pS=....|
001510b0  00 00 00 00 00 00 00 40  65 5d 82 bd f2 db ba bd  |.......@e]......|
001510c0  00 00 00 00 02 31 6b 45  00 00 00 00 00 00 80 41  |.....1kE.......A|
001510d0  00 50 c3 48 00 50 c3 48  00 00 00 00 00 00 80 3f  |.P.H.P.H.......?|
001510e0  00 00 80 3f 77 16 0f 41  00 00 c8 42 00 00 00 00  |...?w..A...B....|
001510f0  00 00 80 3f 98 68 2d 42  00 00 00 00 6b be 75 44  |...?.h-B....k.uD|
00151100  b9 d7 75 44 16 ab 84 44  1f 7a 84 44 00 00 90 41  |..uD...D.z.D...A|
00151110  00 00 90 41 00 00 90 41  00 00 90 41 00 00 80 40  |...A...A...A...@|
00151120  00 00 c6 42 40 aa a5 45  00 00 00 00 ff 2f 59 46  |...B@..E...../YF|
00151130  00 80 3b 45 00 00 10 41  00 00 80 3f 00 00 00 00  |..;E...A...?....|
00151140  00 00 00 00 00 00 00 40  b3 67 a4 42 55 8a 3c 42  |.......@.g.BU.<B|
00151150  a9 26 f0 44 a9 26 f0 44  11 fa 34 c3 55 63 5b 40  |.&.D.&.D..4.Uc[@|
00151160  e5 d5 65 c4 58 bc e2 40  e0 40 a3 40 68 ce d4 bd  |..e.X..@.@.@h...|
00151170  4b 4f 9d c0 43 96 31 3f  70 5c 16 3b d0 63 38 3f  |KO..C.1?p\.;.c8?|
00151180  7c 5c 38 3f b0 be a4 bc  02 8b 31 bf 73 f9 84 40  ||\8?......1.s..@|
00151190  75 56 b9 3e 90 ac a9 40  81 da a0 3e 18 34 32 43  |uV.>...@...>.42C|
001511a0  fa 33 bf c2 98 57 2b 43  71 72 f8 c2 73 38 e2 40  |.3...W+Cqr..s8.@|
001511b0  0c bf dd 40 e4 1a e2 40  71 88 e3 40 00 00 00 00  |...@...@q..@....|
001511c0  d0 70 53 3d 00 00 00 00  00 00 00 00 00 00 00 40  |.pS=...........@|
001511d0  9e 51 16 bf 2a 02 1c bc  00 00 00 00 d2 e1 67 45  |.Q..*.........gE|
001511e0  00 00 00 00 00 00 80 41  00 50 c3 48 00 50 c3 48  |.......A.P.H.P.H|
001511f0  00 00 00 00 00 00 80 3f  00 00 80 3f 77 16 0f 41  |.......?...?w..A|
00151200  00 00 c8 42 00 00 00 00  00 00 80 3f 98 68 2d 42  |...B.......?.h-B|
00151210  00 00 00 00 6b a6 75 44  b6 bf 75 44 96 9c 84 44  |....k.uD..uD...D|
00151220  a6 6b 84 44 00 00 90 41  00 00 90 41 00 00 90 41  |.k.D...A...A...A|
00151230  00 00 90 41 00 00 80 40  00 00 c6 42 40 aa a5 45  |...A...@...B@..E|
00151240  00 00 00 00 ff 2f 59 46  00 80 3b 45 00 00 10 41  |...../YF..;E...A|
00151250  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 40  |...?...........@|
00151260  3a 70 a4 42 65 9b 3c 42  d5 26 f0 44 d5 26 f0 44  |:p.Be.<B.&.D.&.D|
00151270  32 e4 34 c3 1d 51 5b 40  0d db 65 c4 61 9c e1 40  |2.4..Q[@..e.a..@|
00151280  64 26 a4 40 8c be 88 bd  6a c2 9a c0 88 ad 31 3f  |d&.@....j.....1?|
00151290  e6 a3 a1 bb c7 4d 38 3f  2b 40 38 3f 4c a6 a5 bc  |.....M8?+@8?L...|
001512a0  7e a9 31 bf 27 87 8a 40  5b cc 30 3f 07 6f a5 40  |~.1.'..@[.0?.o.@|
001512b0  e7 b0 9c 3f 7a b7 26 41  fc d8 9d 41 53 97 fe c0  |...?z.&A...AS...|
001512c0  78 8a 5a 42 1c 8f e0 40  13 3a e2 40 17 cd e0 40  |x.ZB...@.:.@...@|
001512d0  26 63 e2 40 00 00 00 00  d0 70 57 3d 00 00 00 00  |&c.@.....pW=....|
001512e0  00 00 00 00 00 00 00 40  99 27 f0 be 8e f6 60 be  |.......@.'....`.|
001512f0  00 00 00 00 3f 75 6a 45  00 00 00 00 00 00 80 41  |....?ujE.......A|
00151300  00 50 c3 48 00 50 c3 48  00 00 00 00 00 00 80 3f  |.P.H.P.H.......?|
00151310  00 00 80 3f 77 16 0f 41  00 00 c8 42 00 00 00 00  |...?w..A...B....|
00151320  00 00 80 3f 98 68 2d 42  00 00 00 00 79 8e 75 44  |...?.h-B....y.uD|
00151330  c0 a7 75 44 1e 8e 84 44  35 5d 84 44 00 00 90 41  |..uD...D5].D...A|
00151340  00 00 90 41 00 00 90 41  00 00 90 41 00 00 80 40  |...A...A...A...@|
00151350  00 00 c6 42 40 aa a5 45  00 00 00 00 ff 2f 59 46  |...B@..E...../YF|
00151360  00 80 3b 45 00 00 10 41  00 00 80 3f 00 00 00 00  |..;E...A...?....|
00151370  00 00 00 00 00 00 00 40  c2 78 a4 42 73 ac 3c 42  |.......@.x.Bs.<B|
00151380  fd 26 f0 44 fd 26 f0 44  71 ce 34 c3 e3 59 5b 40  |.&.D.&.Dq.4..Y[@|
00151390  38 e0 65 c4 c0 17 e1 40  59 2a a3 40 d8 a4 03 3d  |8.e....@Y*.@...=|
001513a0  a6 0e 9b c0 a5 bd 31 3f  20 6e 30 bc 57 39 38 3f  |......1? n0.W98?|
001513b0  43 28 38 3f 86 23 a7 bc  2c c1 31 bf 97 92 77 40  |C(8?.#..,.1...w@|
001513c0  da 6c 5d 40 24 d6 93 40  30 aa 9b 40 cb 25 dd c1  |.l]@$..@0..@.%..|
001513d0  97 2a 26 43 2d fe 03 c2  04 72 5a 43 b5 f0 df 40  |.*&C-....rZC...@|
001513e0  4d 98 e1 40 e1 4b e0 40  7e bb e1 40 00 00 00 00  |M..@.K.@~..@....|
001513f0  e0 f0 5f 3d 00 00 00 00  00 00 00 00 00 00 00 40  |.._=...........@|
00151400  35 6b 36 3e 94 98 dd bd  00 00 00 00 f2 98 69 45  |5k6>..........iE|
00151410  00 00 00 00 00 00 80 41  00 50 c3 48 00 50 c3 48  |.......A.P.H.P.H|
00151420  00 00 00 00 00 00 80 3f  00 00 80 3f 77 16 0f 41  |.......?...?w..A|
00151430  00 00 c8 42 00 00 00 00  00 00 80 3f 98 68 2d 42  |...B.......?.h-B|
00151440  00 00 00 00 8b 76 75 44  ce 8f 75 44 a9 7f 84 44  |.....vuD..uD...D|
00151450  c7 4e 84 44 00 00 90 41  00 00 90 41 00 00 90 41  |.N.D...A...A...A|
00151460  00 00 90 41 00 00 80 40  00 00 c6 42 40 aa a5 45  |...A...@...B@..E|
00151470  00 00 00 00 ff 2f 59 46  00 80 3b 45 00 00 10 41  |...../YF..;E...A|
00151480  00 00 80 3f 00 00 00 00  00 00 00 00 00 00 00 40  |...?...........@|

'모종의 음모 > motion simulator' 카테고리의 다른 글

forza horizon 4 data format  (0) 2024.11.20
dirt rally 2.0 motion data  (0) 2024.11.03
F1 2012 motion data  (0) 2024.11.03
dirt showdown motion data  (0) 2024.11.03
grid 2 핸들 설정 실패  (0) 2024.11.03
Posted by 구차니

xml은 특별한건 없다.

 

ToCA가 반복적으로 보인다. Dirt rally 2.0이랑 동일한 프로콜인가?

$ nc -ul 20777 | hexdump -C
00186fd0  ad 44 f8 bc a4 0a cb 3f  67 3f ff bf 61 d1 aa bf  |.D.....?g?..a...|
00186fe0  71 42 d8 3c 42 3a 79 41  d1 33 6f 41 9f 21 7a be  |qB.<B:yA.3oA.!z.|
00186ff0  14 b7 da 01 5a cd 50 ff  fa 4c 06 00 54 6f 43 41  |....Z.P..L..ToCA|
00187000  6a e8 05 00 00 00 00 00  00 00 00 00 00 00 00 00  |j...............|
00187010  a8 90 4e bf 5f 4e f8 bc  8d 0c cb 3f fa 5f f4 bf  |..N._N.....?._..|
00187020  60 f9 a6 bf 2c 72 0d bf  90 bd 78 41 b1 de 6e 41  |`...,r....xA..nA|
00187030  0f eb 7a be f0 f6 da 01  aa 0a 51 ff 00 4c 06 00  |..z.......Q..L..|
00187040  54 6f 43 41 79 e8 05 00  00 00 00 00 00 00 00 00  |ToCAy...........|
00187050  00 00 00 00 e3 7d 4e bf  f3 56 f8 bc d8 0e cb 3f  |.....}N..V.....?|
00187060  f4 57 e0 bf 3b 72 ae bf  c8 31 d3 be 9d 4b 78 41  |.W..;r...1...KxA|
00187070  d3 89 6e 41 0c 05 7d be  00 33 db 01 5a 44 51 ff  |..nA..}..3..ZDQ.|
00187080  13 4b 06 00 54 6f 43 41  88 e8 05 00 00 00 00 00  |.K..ToCA........|
00187090  00 00 00 00 00 00 00 00  8c 6d 4e bf 45 79 f8 bc  |.........mN.Ey..|
001870a0  a8 0f cb 3f 09 06 df bf  a8 f6 b4 bf 3b f1 e9 be  |...?........;...|
001870b0  8a db 77 41 82 31 6e 41  bc 12 80 be 54 6e db 01  |..wA.1nA....Tn..|
001870c0  5c 7d 51 ff 26 4a 06 00  54 6f 43 41 94 e8 05 00  |\}Q.&J..ToCA....|
001870d0  00 00 00 00 00 00 00 00  00 00 00 00 3b 63 4e bf  |............;cN.|
001870e0  ce ad f8 bc 41 0f cb 3f  e4 d3 e4 bf 82 38 c0 bf  |....A..?.....8..|
001870f0  56 2f 72 3d b2 8e 77 41  e2 f1 6d 41 d6 c6 80 be  |V/r=..wA..mA....|
00187100  3a 98 db 01 a1 a5 51 ff  7c 49 06 00 54 6f 43 41  |:.....Q.|I..ToCA|
00187110  a0 e8 05 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00187120  77 59 4e bf 43 f6 f8 bc  5a 0e cb 3f b8 8a d8 bf  |wYN.C...Z..?....|
00187130  29 9f b7 bf 21 81 0f bf  ad 40 77 41 79 af 6d 41  |)...!....@wAy.mA|
00187140  3e 4f 84 be 5c c4 db 01  0b d0 51 ff c6 48 06 00  |>O..\.....Q..H..|
00187150  54 6f 43 41 ab e8 05 00  00 00 00 00 00 00 00 00  |ToCA............|
00187160  00 00 00 00 6b 50 4e bf  7f 54 f9 bc 3c 0d cb 3f  |....kPN..T..<..?|
00187170  95 b1 da bf a8 98 c1 bf  18 16 3d be a0 ee 76 41  |..........=...vA|
00187180  a1 67 6d 41 67 d2 84 be  08 f2 db 01 f0 fb 51 ff  |.gmAg.........Q.|
00187190  07 48 06 00 54 6f 43 41  b6 e8 05 00 00 00 00 00  |.H..ToCA........|
001871a0  00 00 00 00 00 00 00 00  66 48 4e bf af b3 f9 bc  |........fHN.....|
001871b0  ed 0a cb 3f 43 a9 d6 bf  cf c4 c8 bf 19 40 14 bd  |...?C........@..|
001871c0  4c 9e 76 41 cc 1f 6d 41  52 ba 86 be 94 1f dc 01  |L.vA..mAR.......|
001871d0  ba 27 52 ff 46 47 06 00  54 6f 43 41 c0 e8 05 00  |.'R.FG..ToCA....|
001871e0  00 00 00 00 00 00 00 00  00 00 00 00 b6 41 4e bf  |.............AN.|
001871f0  5f 3c fa bc 89 06 cb 3f  53 93 e9 bf 3b 72 cd bf  |_<.....?S...;r..|
00187200  40 39 52 bf 56 4f 76 41  60 d9 6c 41 7d 99 8a be  |@9R.VOvA`.lA}...|
00187210  aa 4a dc 01 27 51 52 ff  8b 46 06 00 54 6f 43 41  |.J..'QR..F..ToCA|
00187220  ca e8 05 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00187230  47 3c 4e bf be 3d fb bc  54 fe ca 3f 00 fe cc bf  |G<N..=..T..?....|
00187240  99 aa dc bf 97 a8 a3 be  54 0b 76 41 04 8f 6c 41  |........T.vA..lA|
00187250  ad 49 8d be d6 73 dc 01  bc 78 52 ff d3 45 06 00  |.I...s...xR..E..|
00187260  54 6f 43 41 d4 e8 05 00  00 00 00 00 00 00 00 00  |ToCA............|
00187270  00 00 00 00 ec 37 4e bf  2f ac fc bc cf f2 ca 3f  |.....7N./......?|
00187280  bf 6b bc bf 8e 50 cb bf  c3 c6 31 bf 8b cb 75 41  |.k...P....1...uA|
00187290  76 48 6c 41 e0 28 91 be  fe 9b dc 01 58 9f 52 ff  |vHlA.(......X.R.|
001872a0  1b 45 06 00 54 6f 43 41  e0 e8 05 00 00 00 00 00  |.E..ToCA........|
001872b0  00 00 00 00 00 00 00 00  28 34 4e bf ed 48 fe bc  |........(4N..H..|
001872c0  ae e6 ca 3f 8f 29 d9 bf  d9 5d cf bf 01 bb 1b 3f  |...?.)...].....?|
001872d0  06 82 75 41 74 01 6c 41  45 6c 8f be e6 c4 dc 01  |..uAt.lAEl......|
001872e0  ab c6 52 ff 5f 44 06 00  54 6f 43 41 ea e8 05 00  |..R._D..ToCA....|
001872f0  00 00 00 00 00 00 00 00  00 00 00 00 e2 30 4e bf  |.............0N.|
00187300  f1 c9 ff bc ad dc ca 3f  cc af d5 bf 26 79 c8 bf  |.......?....&y..|
00187310  b2 e7 0c 3f b7 39 75 41  4a bd 6b 41 63 c2 8d be  |...?.9uAJ.kAc...|
00187320  c0 ee dc 01 e6 ee 52 ff  a0 43 06 00 54 6f 43 41  |......R..C..ToCA|
00187330  f4 e8 05 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00187340  63 2e 4e bf 56 80 00 bd  3d d6 ca 3f 37 29 d7 bf  |c.N.V...=..?7)..|
00187350  c4 8d c2 bf 82 bd 82 3e  82 f1 74 41 57 7c 6b 41  |.......>..tAW|kA|
00187360  11 e0 8b be 2a 18 dd 01  b5 16 53 ff e6 42 06 00  |....*.....S..B..|
00187370  54 6f 43 41 ff e8 05 00  00 00 00 00 00 00 00 00  |ToCA............|
00187380  00 00 00 00 72 2c 4e bf  09 eb 00 bd d8 d3 ca 3f  |....r,N........?|
00187390  f7 8a db bf 22 95 bc bf  49 52 12 3f 3d a6 74 41  |...."...IR.?=.tA|
001873a0  40 3c 6b 41 e8 f2 88 be  b8 41 dd 01 a8 3e 53 ff  |@<kA.....A...>S.|

'모종의 음모 > motion simulator' 카테고리의 다른 글

dirt rally 2.0 motion data  (0) 2024.11.03
F1 2015 motion data  (0) 2024.11.03
dirt showdown motion data  (0) 2024.11.03
grid 2 핸들 설정 실패  (0) 2024.11.03
forza horizon 4 - UDP telemetry  (2) 2024.11.03
Posted by 구차니