]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/types/robottype.idl
Add unified ORTE topic type for LIDAR scan data
[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_full;
54         boolean bat_mean;
55         boolean bat_low;
56         boolean bat_critical;
57         boolean alert_33;
58         boolean alert_50;
59         boolean alert_80;
60 };
61
62 struct robot_cmd {
63         boolean start_condition;
64 };
65
66 struct robot_switches {
67         octet team_color;
68         boolean strategy;
69         boolean home;
70 };
71
72 struct robot_bumpers {
73         boolean bumper_left;
74         boolean bumper_right;
75         boolean bumper_right_across;
76         boolean bumper_left_across;
77         boolean bumper_rear_left;
78         boolean bumper_rear_right;
79 };
80
81 struct can_msg {
82     octet data[8];
83     octet len;
84     octet id;
85 };
86
87 struct lidar_scan {
88         unsigned short lidar_type;
89         unsigned short data_lenght;
90         unsigned short data[681];
91 };
92
93 struct pos_short {
94         unsigned short left;
95         unsigned short right;
96 };
97
98 struct pos_octet {
99         octet left;
100         octet right;
101 };
102
103 // Actuators
104 struct cl_sensor_cmd {
105         octet bank_nbr;
106 };
107
108 struct cl_sensor_status {
109         boolean pattern_match;
110 };
111
112
113 /** Status sent from actuators */
114 struct lift_status {
115         unsigned short act_pos;
116         unsigned short response; // Equals to req_pos when the move is done
117         octet flags;             // Zero when everything OK, otherwise see CAN_LIFT_FLAG_*
118 };
119
120 struct match_time {
121         double time;
122 };
123
124 struct fsm_state {
125         char state_name[21];
126 };
127
128 module camera {
129         struct control {
130                 boolean on;
131                 octet color [3];
132   
133         };
134
135         typedef octet error;
136
137         // camera error state codes (bitwise disjuntive)
138         const error ERR_NO_VIDEO = 0x01;
139         const error ERR_NO_FRAME = 0x02;
140
141         struct result {
142                 octet x;
143                 octet y;
144                 double angle_deg;
145
146                 boolean data_valid;
147                 boolean target_valid;
148                 error error;
149         };
150 };
151
152 /** Command from display - see uoled.h/UDE_recieve_cmd_t */
153 struct display_cmd {
154     octet command;
155 };