]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/types/robottype.idl
cand, common, robofsm, types: change bumper rear to bumper rear left and bumper rear...
[eurobot/public.git] / src / types / robottype.idl
1 struct motion_irc {
2         long left;              // PXMC's actual position (pxms.ap)
3         long right;             // PXMC's actual position (pxms.ap)
4         octet seq;              // Sequence number from the last received CAN_CORR_TRIG
5 };
6
7 struct odo_data {
8         long left;              // PXMC's actual position (pxms.ap)
9         long right;             // PXMC's actual position (pxms.ap)
10 };
11
12 struct motion_speed {
13         short left;
14         short right;    
15 };
16
17 struct motion_status {
18         unsigned short err_left;
19         unsigned short err_right;
20 };
21
22 struct corr_trig {
23         octet seq;
24 };
25
26 struct corr_distances {
27         unsigned short t1;
28         unsigned short t2;
29         unsigned short t3;
30 };
31
32 struct robot_pos {
33         double x;
34         double y;
35         double phi;
36 };
37
38 struct pwr_voltage {
39         double voltage33;
40         double voltage50;
41         double voltage80;
42         double voltageBAT;
43 };
44
45 struct pwr_ctrl {
46         boolean voltage33;
47         boolean voltage50;
48         boolean voltage80;
49 };
50
51 struct pwr_alert {
52         octet value;
53         boolean bat_low;
54         boolean bat_critical;
55         boolean bat_bye;
56         boolean low_33;
57         boolean low_50;
58         boolean low_80;
59 };
60
61 struct robot_cmd {
62         boolean start_condition;
63 };
64
65 struct robot_switches {
66         octet team_color;
67         boolean strategy;
68 };
69
70 struct robot_bumpers {
71         boolean bumper_left;
72         boolean bumper_right;
73         boolean bumper_right_across;
74         boolean bumper_left_across;
75         boolean bumper_rear_left;
76         boolean bumper_rear_right;
77 };
78
79 struct can_msg {
80     octet data[8];
81     octet len;
82     octet id;
83 };
84
85 struct hokuyo_scan {
86     unsigned short data[681];
87 };
88
89 struct pos_short {
90         unsigned short left;
91         unsigned short right;
92 };
93
94 struct pos_octet {
95         octet left;
96         octet right;
97 };
98
99 // Actuators
100 struct jaws_cmd {
101         pos_short req_pos;
102         pos_octet speed;
103 };
104
105 struct lift_cmd {
106         unsigned short req_pos;
107         octet speed;
108         octet homing;
109 };
110
111
112 /** Status sent from actuators */
113 struct jaws_status {
114         pos_short act_pos;
115         pos_short response;
116         pos_octet flags;
117 };
118
119 struct lift_status {
120         unsigned short act_pos;
121         unsigned short response; // Equals to req_pos when the move is done
122         octet flags;             // Zero when everything OK, otherwise see CAN_LIFT_FLAG_*
123 };
124
125 // FIXME: What's this??? M.S.
126 struct binary_data {
127     octet data;
128 };
129
130 struct fsm_state {
131         char state_name[21];
132 };
133
134 module camera {
135         struct control {
136                 boolean on;
137         };
138
139         typedef octet error;
140
141         // camera error state codes (bitwise disjuntive)
142         const error ERR_NO_VIDEO = 0x01;
143         const error ERR_NO_FRAME = 0x02;
144
145         struct result {
146                 octet side;
147                 octet center;
148                 double sideDist;
149                 double centerDist;
150                 error error;
151         };
152 };
153
154 /** Command from display - see uoled.h/UDE_recieve_cmd_t */
155 struct display_cmd {
156     octet command;
157 };