]> git.tdb.fi Git - r2c2.git/blob - source/network/packets.h
Export AI control parameters over the network
[r2c2.git] / source / network / packets.h
1 #ifndef R2C2_NET_PACKETS_H_
2 #define R2C2_NET_PACKETS_H_
3
4 #include <string>
5
6 namespace R2C2 {
7
8 struct DriverStatePacket
9 {
10         char power;
11         char halt;
12 };
13
14 struct EmergencyPacket
15 {
16         std::string message;
17 };
18
19 struct TrainInfoPacket
20 {
21         unsigned address;
22         std::string loco_type;
23         std::string name;
24 };
25
26 struct TrainControlPacket
27 {
28         unsigned address;
29         std::string control;
30         float value;
31 };
32
33 struct TrainFunctionPacket
34 {
35         unsigned address;
36         unsigned functions;
37 };
38
39 struct TrainAIControlPacket
40 {
41         unsigned address;
42         float target_speed;
43         char reverse;
44 };
45
46 struct TrainStatusPacket
47 {
48         unsigned address;
49         std::string status;
50 };
51
52 struct RouteInfoPacket
53 {
54         std::string name;
55 };
56
57 struct TrainRoutePacket
58 {
59         unsigned address;
60         std::string route;
61 };
62
63 struct ErrorPacket
64 {
65         std::string message;
66 };
67
68 } // namespace R2C2
69
70 #endif