blob: 05db4344b801f62d6b7012015e0c8ea2ed8b1577 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#pragma once
#include "util.h"
#define PSI_TO_BAR 0.0689476f
struct TELEMETRY {
I32 race_on;
F32 rpm;
F32 rpm_max;
F32 rpm_idle;
U8 extended; // fields below valid (324-byte packet)
F32 speed_ms;
F32 pos_x, pos_y, pos_z;
F32 vel_x, vel_y, vel_z;
F32 power;
F32 boost_psi;
I32 gear; // 0 = R, 1..10, >= 11 = N
I32 accel, brake; // 0..255
I32 handbrake, clutch; // 0..255
I32 car_ordinal; // unique car id; changes on car swap
I32 drivetrain; // 0 FWD, 1 RWD, 2 AWD
F32 slip_ratio[4]; // FL FR RL RR
F32 combined_slip[4];
F32 tire_temp[4];
F32 racetime;
U32 racepos;
U32 lapnum;
F32 laptime;
I32 norm_driving_line;
I32 norm_ai_brake_diff;
F64 stamp;
};
class UDP_LISTENER {
public:
I32 fd;
UDP_LISTENER();
~UDP_LISTENER();
};
STAT udp_open( UDP_LISTENER* udp, I32 port );
void udp_parse( UDP_LISTENER* udp, TELEMETRY* t );
|