Revision 1840
Added james and ben's hunter prey code.
trunk/code/behaviors/hunter_prey/john/hunter_prey.map | ||
---|---|---|
1 |
Archive member included because of file (symbol) |
|
2 |
|
|
3 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
4 |
hunter_prey.o (wl_set_channel) |
|
5 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
6 |
hunter_prey.o (wl_basic_do_default) |
|
7 |
../../../../code/lib/bin/libwireless.a(xbee.o) |
|
8 |
../../../../code/lib/bin/libwireless.a(wireless.o) (xbee_get_packet) |
|
9 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
10 |
hunter_prey.o (bom_get_max) |
|
11 |
../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
12 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (digital_output) |
|
13 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
14 |
hunter_prey.o (dragonfly_init) |
|
15 |
../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
16 |
hunter_prey.o (get_robotid) |
|
17 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
18 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) (encoders_init) |
|
19 |
../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
20 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) (lcd_init) |
|
21 |
../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
22 |
hunter_prey.o (orb1_set_color) |
|
23 |
../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
24 |
hunter_prey.o (motors_init) |
|
25 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
26 |
hunter_prey.o (range_read_distance) |
|
27 |
../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
28 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) (usb_init) |
|
29 |
../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
30 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) (spi_init) |
|
31 |
../../../../code/lib/bin/libdragonfly.a(time.o) |
|
32 |
hunter_prey.o (delay_ms) |
|
33 |
../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
34 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) (analog_init) |
|
35 |
../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
36 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) (buzzer_init) |
|
37 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
38 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (__divmodhi4) |
|
39 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
40 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (__divmodsi4) |
|
41 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
42 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o (exit) |
|
43 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
44 |
hunter_prey.o (__do_clear_bss) |
|
45 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
46 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (__ashldi3) |
|
47 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
48 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (__divdi3) |
|
49 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
50 |
../../../../code/lib/bin/libdragonfly.a(bom.o) (__moddi3) |
|
51 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
52 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) (__mulsi3) |
|
53 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
54 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) (__udivmodhi4) |
|
55 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
56 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) (__udivmodsi4) |
|
57 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
58 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) (__prologue_saves__) |
|
59 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
60 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) (__epilogue_restores__) |
|
61 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
62 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) (__clz_tab) |
|
63 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
64 |
../../../../code/lib/bin/libdragonfly.a(serial.o) (memcpy_P) |
|
65 |
|
|
66 |
Allocating common symbols |
|
67 |
Common symbol size file |
|
68 |
|
|
69 |
pwm_buffer 0x27 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
70 |
orb_values 0x6 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
71 |
data_ready 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
72 |
data_length 0x2 hunter_prey.o |
|
73 |
packet_data 0x2 hunter_prey.o |
|
74 |
right_data 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
75 |
left_data_buf 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
76 |
left_data_array 0x5c ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
77 |
left_data_idx 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
78 |
right_dx 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
79 |
current_packet 0x8 hunter_prey.o |
|
80 |
timecount 0x4 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
81 |
encoder_buf_index 0x1 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
82 |
right_data_array 0x5c ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
83 |
left_dx 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
84 |
send_buffer 0x2 hunter_prey.o |
|
85 |
right_data_idx 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
86 |
right_data_buf 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
87 |
arrival_buf 0x80 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
88 |
left_data 0x2 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
89 |
an_val 0x21 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
90 |
wl_basic_group_handler |
|
91 |
0xa hunter_prey.o |
|
92 |
|
|
93 |
Memory Configuration |
|
94 |
|
|
95 |
Name Origin Length Attributes |
|
96 |
text 0x0000000000000000 0x0000000000020000 xr |
|
97 |
data 0x0000000000800060 0x000000000000ffa0 rw !x |
|
98 |
eeprom 0x0000000000810000 0x0000000000010000 rw !x |
|
99 |
fuse 0x0000000000820000 0x0000000000000400 rw !x |
|
100 |
lock 0x0000000000830000 0x0000000000000400 rw !x |
|
101 |
signature 0x0000000000840000 0x0000000000000400 rw !x |
|
102 |
*default* 0x0000000000000000 0xffffffffffffffff |
|
103 |
|
|
104 |
Linker script and memory map |
|
105 |
|
|
106 |
Address of section .data set to 0x800100 |
|
107 |
LOAD /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
108 |
LOAD hunter_prey.o |
|
109 |
LOAD /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libm.a |
|
110 |
LOAD ../../../../code/lib/bin/libwireless.a |
|
111 |
LOAD ../../../../code/lib/bin/libdragonfly.a |
|
112 |
LOAD /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a |
|
113 |
LOAD /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a |
|
114 |
LOAD /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a |
|
115 |
|
|
116 |
.hash |
|
117 |
*(.hash) |
|
118 |
|
|
119 |
.dynsym |
|
120 |
*(.dynsym) |
|
121 |
|
|
122 |
.dynstr |
|
123 |
*(.dynstr) |
|
124 |
|
|
125 |
.gnu.version |
|
126 |
*(.gnu.version) |
|
127 |
|
|
128 |
.gnu.version_d |
|
129 |
*(.gnu.version_d) |
|
130 |
|
|
131 |
.gnu.version_r |
|
132 |
*(.gnu.version_r) |
|
133 |
|
|
134 |
.rel.init |
|
135 |
*(.rel.init) |
|
136 |
|
|
137 |
.rela.init |
|
138 |
*(.rela.init) |
|
139 |
|
|
140 |
.rel.text |
|
141 |
*(.rel.text) |
|
142 |
*(.rel.text.*) |
|
143 |
*(.rel.gnu.linkonce.t*) |
|
144 |
|
|
145 |
.rela.text |
|
146 |
*(.rela.text) |
|
147 |
*(.rela.text.*) |
|
148 |
*(.rela.gnu.linkonce.t*) |
|
149 |
|
|
150 |
.rel.fini |
|
151 |
*(.rel.fini) |
|
152 |
|
|
153 |
.rela.fini |
|
154 |
*(.rela.fini) |
|
155 |
|
|
156 |
.rel.rodata |
|
157 |
*(.rel.rodata) |
|
158 |
*(.rel.rodata.*) |
|
159 |
*(.rel.gnu.linkonce.r*) |
|
160 |
|
|
161 |
.rela.rodata |
|
162 |
*(.rela.rodata) |
|
163 |
*(.rela.rodata.*) |
|
164 |
*(.rela.gnu.linkonce.r*) |
|
165 |
|
|
166 |
.rel.data |
|
167 |
*(.rel.data) |
|
168 |
*(.rel.data.*) |
|
169 |
*(.rel.gnu.linkonce.d*) |
|
170 |
|
|
171 |
.rela.data |
|
172 |
*(.rela.data) |
|
173 |
*(.rela.data.*) |
|
174 |
*(.rela.gnu.linkonce.d*) |
|
175 |
|
|
176 |
.rel.ctors |
|
177 |
*(.rel.ctors) |
|
178 |
|
|
179 |
.rela.ctors |
|
180 |
*(.rela.ctors) |
|
181 |
|
|
182 |
.rel.dtors |
|
183 |
*(.rel.dtors) |
|
184 |
|
|
185 |
.rela.dtors |
|
186 |
*(.rela.dtors) |
|
187 |
|
|
188 |
.rel.got |
|
189 |
*(.rel.got) |
|
190 |
|
|
191 |
.rela.got |
|
192 |
*(.rela.got) |
|
193 |
|
|
194 |
.rel.bss |
|
195 |
*(.rel.bss) |
|
196 |
|
|
197 |
.rela.bss |
|
198 |
*(.rela.bss) |
|
199 |
|
|
200 |
.rel.plt |
|
201 |
*(.rel.plt) |
|
202 |
|
|
203 |
.rela.plt |
|
204 |
*(.rela.plt) |
|
205 |
|
|
206 |
.text 0x0000000000000000 0x63c4 |
|
207 |
*(.vectors) |
|
208 |
.vectors 0x0000000000000000 0x8c /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
209 |
0x0000000000000000 __vectors |
|
210 |
0x0000000000000000 __vector_default |
|
211 |
*(.vectors) |
|
212 |
*(.progmem.gcc*) |
|
213 |
*(.progmem*) |
|
214 |
.progmem.data 0x000000000000008c 0x1e0 ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
215 |
.progmem.data 0x000000000000026c 0x90 ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
216 |
0x00000000000002fc . = ALIGN (0x2) |
|
217 |
0x00000000000002fc __trampolines_start = . |
|
218 |
*(.trampolines) |
|
219 |
.trampolines 0x00000000000002fc 0x0 linker stubs |
|
220 |
*(.trampolines*) |
|
221 |
0x00000000000002fc __trampolines_end = . |
|
222 |
*(.jumptables) |
|
223 |
*(.jumptables*) |
|
224 |
*(.lowtext) |
|
225 |
*(.lowtext*) |
|
226 |
0x00000000000002fc __ctors_start = . |
|
227 |
*(.ctors) |
|
228 |
0x00000000000002fc __ctors_end = . |
|
229 |
0x00000000000002fc __dtors_start = . |
|
230 |
*(.dtors) |
|
231 |
0x00000000000002fc __dtors_end = . |
|
232 |
SORT(*)(.ctors) |
|
233 |
SORT(*)(.dtors) |
|
234 |
*(.init0) |
|
235 |
.init0 0x00000000000002fc 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
236 |
0x00000000000002fc __init |
|
237 |
*(.init0) |
|
238 |
*(.init1) |
|
239 |
*(.init1) |
|
240 |
*(.init2) |
|
241 |
.init2 0x00000000000002fc 0xc /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
242 |
*(.init2) |
|
243 |
*(.init3) |
|
244 |
*(.init3) |
|
245 |
*(.init4) |
|
246 |
.init4 0x0000000000000308 0x1a /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
247 |
0x0000000000000308 __do_copy_data |
|
248 |
.init4 0x0000000000000322 0x10 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
249 |
0x0000000000000322 __do_clear_bss |
|
250 |
*(.init4) |
|
251 |
*(.init5) |
|
252 |
*(.init5) |
|
253 |
*(.init6) |
|
254 |
*(.init6) |
|
255 |
*(.init7) |
|
256 |
*(.init7) |
|
257 |
*(.init8) |
|
258 |
*(.init8) |
|
259 |
*(.init9) |
|
260 |
.init9 0x0000000000000332 0x8 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
261 |
*(.init9) |
|
262 |
*(.text) |
|
263 |
.text 0x000000000000033a 0x4 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
264 |
0x000000000000033a __vector_22 |
|
265 |
0x000000000000033a __vector_28 |
|
266 |
0x000000000000033a __vector_1 |
|
267 |
0x000000000000033a __vector_32 |
|
268 |
0x000000000000033a __vector_34 |
|
269 |
0x000000000000033a __vector_24 |
|
270 |
0x000000000000033a __vector_12 |
|
271 |
0x000000000000033a __bad_interrupt |
|
272 |
0x000000000000033a __vector_6 |
|
273 |
0x000000000000033a __vector_31 |
|
274 |
0x000000000000033a __vector_3 |
|
275 |
0x000000000000033a __vector_23 |
|
276 |
0x000000000000033a __vector_25 |
|
277 |
0x000000000000033a __vector_11 |
|
278 |
0x000000000000033a __vector_13 |
|
279 |
0x000000000000033a __vector_19 |
|
280 |
0x000000000000033a __vector_7 |
|
281 |
0x000000000000033a __vector_27 |
|
282 |
0x000000000000033a __vector_5 |
|
283 |
0x000000000000033a __vector_33 |
|
284 |
0x000000000000033a __vector_4 |
|
285 |
0x000000000000033a __vector_9 |
|
286 |
0x000000000000033a __vector_2 |
|
287 |
0x000000000000033a __vector_29 |
|
288 |
0x000000000000033a __vector_8 |
|
289 |
0x000000000000033a __vector_14 |
|
290 |
0x000000000000033a __vector_10 |
|
291 |
0x000000000000033a __vector_18 |
|
292 |
0x000000000000033a __vector_20 |
|
293 |
.text 0x000000000000033e 0x3d8 hunter_prey.o |
|
294 |
0x000000000000033e main |
|
295 |
.text 0x0000000000000716 0x2e0 ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
296 |
0x0000000000000724 wl_register_packet_group |
|
297 |
0x000000000000074a wl_unregister_packet_group |
|
298 |
0x0000000000000786 wl_do |
|
299 |
0x0000000000000900 wl_send_pan_packet |
|
300 |
0x000000000000091e wl_send_global_packet |
|
301 |
0x000000000000093e wl_send_robot_to_robot_packet |
|
302 |
0x0000000000000958 wl_send_robot_to_robot_global_packet |
|
303 |
0x0000000000000974 wl_get_xbee_id |
|
304 |
0x000000000000097a wl_get_channel |
|
305 |
0x0000000000000980 wl_set_channel |
|
306 |
0x0000000000000986 wl_get_pan |
|
307 |
0x000000000000098c wl_set_pan |
|
308 |
0x0000000000000992 wl_terminate |
|
309 |
0x00000000000009c2 wl_init |
|
310 |
.text 0x00000000000009f6 0x102 ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
311 |
0x00000000000009f6 wl_basic_packet_receive_handler |
|
312 |
0x0000000000000a1a wl_basic_do_default |
|
313 |
0x0000000000000a52 wl_basic_send_global_packet |
|
314 |
0x0000000000000a6a wl_basic_send_robot_packet |
|
315 |
0x0000000000000a8e wl_basic_register_handler |
|
316 |
0x0000000000000ac4 wl_basic_init |
|
317 |
0x0000000000000aee wl_basic_init_default |
|
318 |
.text 0x0000000000000af8 0x794 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
319 |
0x0000000000000af8 __vector_30 |
|
320 |
0x0000000000000b62 xbee_get_packet |
|
321 |
0x0000000000000dc6 xbee_get_pan_id |
|
322 |
0x0000000000000dd0 xbee_get_channel |
|
323 |
0x0000000000000dda xbee_get_address |
|
324 |
0x0000000000000efc xbee_set_channel |
|
325 |
0x0000000000000f40 xbee_set_pan_id |
|
326 |
0x0000000000000f74 xbee_reset |
|
327 |
0x0000000000000fa4 xbee_terminate |
|
328 |
0x0000000000000fb2 xbee_send_packet |
|
329 |
0x0000000000001102 xbee_lib_init |
|
330 |
.text 0x000000000000128c 0xbac ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
331 |
0x000000000000128c bom_get |
|
332 |
0x000000000000129c bom_get_max |
|
333 |
0x00000000000012d4 bom_get_max10 |
|
334 |
0x0000000000001766 bom_off |
|
335 |
0x0000000000001790 bom_on |
|
336 |
0x00000000000017ba bom_set_leds |
|
337 |
0x0000000000001816 bom_init |
|
338 |
0x00000000000018b2 bom_refresh |
|
339 |
0x00000000000019ce get_max_bom |
|
340 |
0x0000000000001a0e bom_print_usb |
|
341 |
0x0000000000001b3e bom_get_norm_vector |
|
342 |
0x0000000000001ce2 bom_get_vector |
|
343 |
.text 0x0000000000001e38 0x590 ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
344 |
0x0000000000001e38 digital_input |
|
345 |
0x0000000000001f7a digital_pull_up |
|
346 |
0x0000000000002064 digital_output |
|
347 |
0x000000000000229c button1_read |
|
348 |
0x00000000000022c2 button1_click |
|
349 |
0x0000000000002308 button2_read |
|
350 |
0x0000000000002332 button2_click |
|
351 |
0x0000000000002378 button2_wait |
|
352 |
0x00000000000023a0 button1_wait |
|
353 |
.text 0x00000000000023c8 0xec ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
354 |
0x00000000000023c8 flash_red |
|
355 |
0x0000000000002428 dragonfly_init |
|
356 |
.text 0x00000000000024b4 0xb6 ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
357 |
0x00000000000024b4 eeprom_put_byte |
|
358 |
0x00000000000024c8 eeprom_get_byte |
|
359 |
0x00000000000024de get_robotid |
|
360 |
0x000000000000251a get_bom_type |
|
361 |
.text 0x000000000000256a 0x562 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
362 |
0x000000000000256a encoder_read |
|
363 |
0x000000000000258e encoder_get_x |
|
364 |
0x00000000000025b2 encoder_get_dx |
|
365 |
0x00000000000025d6 encoder_rst_dx |
|
366 |
0x00000000000025f2 encoder_get_tc |
|
367 |
0x00000000000025fc encoder_rst_tc |
|
368 |
0x000000000000260e encoder_wait |
|
369 |
0x0000000000002628 encoder_recv |
|
370 |
0x00000000000028e0 left_data_at |
|
371 |
0x00000000000028fe right_data_at |
|
372 |
0x000000000000291c get_dx |
|
373 |
0x00000000000029e4 encoder_get_v |
|
374 |
0x0000000000002a3a encoders_init |
|
375 |
0x0000000000002aae encoder_recv_complete |
|
376 |
.text 0x0000000000002acc 0x1a8 ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
377 |
0x0000000000002acc lcd_clear_screen |
|
378 |
0x0000000000002af6 lcd_putc |
|
379 |
0x0000000000002b26 lcd_puts |
|
380 |
0x0000000000002b40 lcd_gotoxy |
|
381 |
0x0000000000002b58 lcd_puti |
|
382 |
0x0000000000002c02 lcd_putbyte |
|
383 |
0x0000000000002c0a lcd_init |
|
384 |
.text 0x0000000000002c74 0x82e ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
385 |
0x0000000000002c74 __vector_16 |
|
386 |
0x0000000000002d4e __vector_15 |
|
387 |
0x0000000000003106 orb_n_set |
|
388 |
0x0000000000003142 orb1_set |
|
389 |
0x0000000000003172 orb2_set |
|
390 |
0x00000000000031a2 orb_set |
|
391 |
0x00000000000031de orbs_set |
|
392 |
0x0000000000003222 orb_n_set_color |
|
393 |
0x000000000000327e orb1_set_color |
|
394 |
0x00000000000032cc orb2_set_color |
|
395 |
0x000000000000331a orb_set_color |
|
396 |
0x0000000000003368 orbs_set_color |
|
397 |
0x0000000000003422 orb_enable_timer |
|
398 |
0x000000000000342e orb_disable_timer |
|
399 |
0x0000000000003436 orb_set_mode |
|
400 |
0x0000000000003460 orb_init_binary |
|
401 |
0x000000000000347e orb_init_pwm |
|
402 |
0x000000000000349c orb_init |
|
403 |
.text 0x00000000000034a2 0x96 ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
404 |
0x00000000000034a2 motors_init |
|
405 |
0x00000000000034c6 motor_l_set |
|
406 |
0x00000000000034f6 motor_r_set |
|
407 |
0x0000000000003526 motor1_set |
|
408 |
0x000000000000352c motor2_set |
|
409 |
0x0000000000003532 motors_off |
|
410 |
.text 0x0000000000003538 0x38c ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
411 |
0x0000000000003538 linearize_distance |
|
412 |
0x000000000000355c get_range_index |
|
413 |
0x00000000000035a6 butter_filter |
|
414 |
0x0000000000003752 butter_init |
|
415 |
0x0000000000003776 range_read_distance |
|
416 |
0x000000000000379e range_read_filtered_distance |
|
417 |
0x000000000000382e butter_task |
|
418 |
0x000000000000388a range_init |
|
419 |
0x00000000000038a0 range_init_filter |
|
420 |
.text 0x00000000000038c4 0x252 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
421 |
0x00000000000038c4 usb_init |
|
422 |
0x00000000000038e0 xbee_init |
|
423 |
0x000000000000390a usb_putc |
|
424 |
0x0000000000003916 xbee_putc |
|
425 |
0x000000000000392a usb_puts |
|
426 |
0x0000000000003942 usb_getc |
|
427 |
0x000000000000394c xbee_getc |
|
428 |
0x000000000000395c usb_getc_nb |
|
429 |
0x0000000000003974 xbee_getc_nb |
|
430 |
0x0000000000003992 usb_puti |
|
431 |
0x0000000000003a30 hex_digit |
|
432 |
0x0000000000003a44 usb_puth16 |
|
433 |
0x0000000000003aa2 usb_puth8 |
|
434 |
0x0000000000003acc usb_puts_P |
|
435 |
.text 0x0000000000003b16 0xbc ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
436 |
0x0000000000003b16 spi_init |
|
437 |
0x0000000000003b3e spi_transfer |
|
438 |
0x0000000000003b4a __vector_17 |
|
439 |
.text 0x0000000000003bd2 0x108 ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
440 |
0x0000000000003bd2 delay_ms |
|
441 |
0x0000000000003be8 rtc_init |
|
442 |
0x0000000000003c28 rtc_get |
|
443 |
0x0000000000003c34 rtc_reset |
|
444 |
0x0000000000003c3e __vector_26 |
|
445 |
.text 0x0000000000003cda 0x32e ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
446 |
0x0000000000003cda analog_init |
|
447 |
0x0000000000003d4c analog8 |
|
448 |
0x0000000000003d70 analog10 |
|
449 |
0x0000000000003d92 analog_start_loop |
|
450 |
0x0000000000003db0 analog_stop_loop |
|
451 |
0x0000000000003dbe analog_loop_status |
|
452 |
0x0000000000003dca analog_get8 |
|
453 |
0x0000000000003e12 analog_get10 |
|
454 |
0x0000000000003e76 wheel |
|
455 |
0x0000000000003e7e set_adc_mux |
|
456 |
0x0000000000003ea0 __vector_21 |
|
457 |
.text 0x0000000000004008 0x6a ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
458 |
0x0000000000004008 buzzer_init |
|
459 |
0x000000000000400a buzzer_set_val |
|
460 |
0x0000000000004014 buzzer_set_freq |
|
461 |
0x0000000000004048 buzzer_off |
|
462 |
0x0000000000004052 buzzer_chirp |
|
463 |
.text 0x0000000000004072 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
464 |
.text 0x0000000000004072 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
465 |
.text 0x0000000000004072 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
466 |
.text 0x0000000000004072 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
467 |
.text 0x0000000000004072 0xfe /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
468 |
0x0000000000004072 __ashldi3 |
|
469 |
.text 0x0000000000004170 0x1050 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
470 |
0x0000000000004170 __divdi3 |
|
471 |
.text 0x00000000000051c0 0x107a /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
472 |
0x00000000000051c0 __moddi3 |
|
473 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
474 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
475 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
476 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
477 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
478 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
479 |
.text 0x000000000000623a 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
480 |
0x000000000000623a . = ALIGN (0x2) |
|
481 |
*(.text.*) |
|
482 |
.text.libgcc 0x000000000000623a 0x26 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
483 |
0x000000000000623a __divmodhi4 |
|
484 |
0x000000000000623a _div |
|
485 |
.text.libgcc 0x0000000000006260 0x36 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
486 |
0x0000000000006260 __divmodsi4 |
|
487 |
.text.libgcc 0x0000000000006296 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
488 |
.text.libgcc 0x0000000000006296 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
489 |
.text.libgcc 0x0000000000006296 0x3e /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
490 |
0x0000000000006296 __mulsi3 |
|
491 |
.text.libgcc 0x00000000000062d4 0x28 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
492 |
0x00000000000062d4 __udivmodhi4 |
|
493 |
.text.libgcc 0x00000000000062fc 0x44 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
494 |
0x00000000000062fc __udivmodsi4 |
|
495 |
.text.libgcc 0x0000000000006340 0x38 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
496 |
0x0000000000006340 __prologue_saves__ |
|
497 |
.text.libgcc 0x0000000000006378 0x36 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
498 |
0x0000000000006378 __epilogue_restores__ |
|
499 |
.text.avr-libc |
|
500 |
0x00000000000063ae 0x12 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
501 |
0x00000000000063ae memcpy_P |
|
502 |
0x00000000000063c0 . = ALIGN (0x2) |
|
503 |
*(.fini9) |
|
504 |
.fini9 0x00000000000063c0 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
505 |
0x00000000000063c0 exit |
|
506 |
0x00000000000063c0 _exit |
|
507 |
*(.fini9) |
|
508 |
*(.fini8) |
|
509 |
*(.fini8) |
|
510 |
*(.fini7) |
|
511 |
*(.fini7) |
|
512 |
*(.fini6) |
|
513 |
*(.fini6) |
|
514 |
*(.fini5) |
|
515 |
*(.fini5) |
|
516 |
*(.fini4) |
|
517 |
*(.fini4) |
|
518 |
*(.fini3) |
|
519 |
*(.fini3) |
|
520 |
*(.fini2) |
|
521 |
*(.fini2) |
|
522 |
*(.fini1) |
|
523 |
*(.fini1) |
|
524 |
*(.fini0) |
|
525 |
.fini0 0x00000000000063c0 0x4 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
526 |
*(.fini0) |
|
527 |
0x00000000000063c4 _etext = . |
|
528 |
|
|
529 |
.data 0x0000000000800100 0x1b2 load address 0x00000000000063c4 |
|
530 |
0x0000000000800100 PROVIDE (__data_start, .) |
|
531 |
*(.data) |
|
532 |
.data 0x0000000000800100 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
533 |
.data 0x0000000000800100 0x0 hunter_prey.o |
|
534 |
.data 0x0000000000800100 0x0 ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
535 |
.data 0x0000000000800100 0x0 ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
536 |
.data 0x0000000000800100 0x30 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
537 |
.data 0x0000000000800130 0x56 ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
538 |
.data 0x0000000000800186 0x0 ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
539 |
.data 0x0000000000800186 0x0 ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
540 |
.data 0x0000000000800186 0x0 ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
541 |
.data 0x0000000000800186 0x0 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
542 |
.data 0x0000000000800186 0x6 ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
543 |
.data 0x000000000080018c 0xd ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
544 |
0x000000000080018c orb_mask |
|
545 |
0x0000000000800192 enable_orb_pwm |
|
546 |
0x0000000000800193 pwm_read_buffer |
|
547 |
0x0000000000800195 pwm_write_buffer |
|
548 |
0x0000000000800197 pwm_free_buffer |
|
549 |
.data 0x0000000000800199 0x0 ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
550 |
.data 0x0000000000800199 0x0 ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
551 |
.data 0x0000000000800199 0x17 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
552 |
.data 0x00000000008001b0 0x0 ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
553 |
.data 0x00000000008001b0 0x2 ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
554 |
.data 0x00000000008001b2 0x0 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
555 |
.data 0x00000000008001b2 0x0 ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
556 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
557 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
558 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
559 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
560 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
561 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
562 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
563 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
564 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
565 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
566 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
567 |
.data 0x00000000008001b2 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
568 |
.data 0x00000000008001b2 0x100 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
569 |
0x00000000008001b2 __clz_tab |
|
570 |
.data 0x00000000008002b2 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
571 |
*(.data*) |
|
572 |
*(.rodata) |
|
573 |
*(.rodata*) |
|
574 |
*(.gnu.linkonce.d*) |
|
575 |
0x00000000008002b2 . = ALIGN (0x2) |
|
576 |
0x00000000008002b2 _edata = . |
|
577 |
0x00000000008002b2 PROVIDE (__data_end, .) |
|
578 |
|
|
579 |
.bss 0x00000000008002b2 0x338 |
|
580 |
0x00000000008002b2 PROVIDE (__bss_start, .) |
|
581 |
*(.bss) |
|
582 |
.bss 0x00000000008002b2 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
583 |
.bss 0x00000000008002b2 0x0 hunter_prey.o |
|
584 |
.bss 0x00000000008002b2 0xa2 ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
585 |
.bss 0x0000000000800354 0x0 ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
586 |
.bss 0x0000000000800354 0x78 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
587 |
0x0000000000800354 buffer_last |
|
588 |
0x0000000000800356 buffer_first |
|
589 |
.bss 0x00000000008003cc 0x2b ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
590 |
.bss 0x00000000008003f7 0x0 ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
591 |
.bss 0x00000000008003f7 0x0 ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
592 |
.bss 0x00000000008003f7 0x0 ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
593 |
.bss 0x00000000008003f7 0x0 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
594 |
.bss 0x00000000008003f7 0x0 ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
595 |
.bss 0x00000000008003f7 0x3 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
596 |
0x00000000008003f7 pwm_page_flip |
|
597 |
0x00000000008003f8 current_pwm_channel |
|
598 |
0x00000000008003f9 orb_lock |
|
599 |
.bss 0x00000000008003fa 0x0 ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
600 |
.bss 0x00000000008003fa 0x2a ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
601 |
.bss 0x0000000000800424 0x0 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
602 |
.bss 0x0000000000800424 0x5 ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
603 |
.bss 0x0000000000800429 0x6 ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
604 |
.bss 0x000000000080042f 0x6 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
605 |
0x000000000080042f adc_loop_status |
|
606 |
0x0000000000800431 adc_sig_stop_loop |
|
607 |
0x0000000000800433 adc_current_port |
|
608 |
.bss 0x0000000000800435 0x0 ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
609 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
610 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
611 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
612 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
613 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
614 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
615 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
616 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
617 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
618 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
619 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
620 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
621 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
622 |
.bss 0x0000000000800435 0x0 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
623 |
*(.bss*) |
|
624 |
*(COMMON) |
|
625 |
COMMON 0x0000000000800435 0x18 hunter_prey.o |
|
626 |
0x0000000000800435 data_length |
|
627 |
0x0000000000800437 packet_data |
|
628 |
0x0000000000800439 current_packet |
|
629 |
0x0000000000800441 send_buffer |
|
630 |
0x0000000000800443 wl_basic_group_handler |
|
631 |
COMMON 0x000000000080044d 0x80 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
632 |
0x000000000080044d arrival_buf |
|
633 |
COMMON 0x00000000008004cd 0xcf ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
634 |
0x00000000008004cd data_ready |
|
635 |
0x00000000008004cf right_data |
|
636 |
0x00000000008004d1 left_data_buf |
|
637 |
0x00000000008004d3 left_data_array |
|
638 |
0x000000000080052f left_data_idx |
|
639 |
0x0000000000800531 right_dx |
|
640 |
0x0000000000800533 timecount |
|
641 |
0x0000000000800537 encoder_buf_index |
|
642 |
0x0000000000800538 right_data_array |
|
643 |
0x0000000000800594 left_dx |
|
644 |
0x0000000000800596 right_data_idx |
|
645 |
0x0000000000800598 right_data_buf |
|
646 |
0x000000000080059a left_data |
|
647 |
COMMON 0x000000000080059c 0x2d ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
648 |
0x000000000080059c pwm_buffer |
|
649 |
0x00000000008005c3 orb_values |
|
650 |
COMMON 0x00000000008005c9 0x21 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
651 |
0x00000000008005c9 an_val |
|
652 |
0x00000000008005ea PROVIDE (__bss_end, .) |
|
653 |
0x00000000000063c4 __data_load_start = LOADADDR (.data) |
|
654 |
0x0000000000006576 __data_load_end = (__data_load_start + SIZEOF (.data)) |
|
655 |
|
|
656 |
.noinit 0x00000000008005ea 0x0 |
|
657 |
0x00000000008005ea PROVIDE (__noinit_start, .) |
|
658 |
*(.noinit*) |
|
659 |
0x00000000008005ea PROVIDE (__noinit_end, .) |
|
660 |
0x00000000008005ea _end = . |
|
661 |
0x00000000008005ea PROVIDE (__heap_start, .) |
|
662 |
|
|
663 |
.eeprom 0x0000000000810000 0x0 |
|
664 |
*(.eeprom*) |
|
665 |
0x0000000000810000 __eeprom_end = . |
|
666 |
|
|
667 |
.fuse |
|
668 |
*(.fuse) |
|
669 |
*(.lfuse) |
|
670 |
*(.hfuse) |
|
671 |
*(.efuse) |
|
672 |
|
|
673 |
.lock |
|
674 |
*(.lock*) |
|
675 |
|
|
676 |
.signature |
|
677 |
*(.signature*) |
|
678 |
|
|
679 |
.stab 0x0000000000000000 0x77f4 |
|
680 |
*(.stab) |
|
681 |
.stab 0x0000000000000000 0x750 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
682 |
.stab 0x0000000000000750 0xffc ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
683 |
0x1008 (size before relaxing) |
|
684 |
.stab 0x000000000000174c 0x8d0 ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
685 |
0xa80 (size before relaxing) |
|
686 |
.stab 0x000000000000201c 0x4e0 ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
687 |
0x798 (size before relaxing) |
|
688 |
.stab 0x00000000000024fc 0x444 ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
689 |
0x600 (size before relaxing) |
|
690 |
.stab 0x0000000000002940 0xce4 ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
691 |
0xea0 (size before relaxing) |
|
692 |
.stab 0x0000000000003624 0x768 ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
693 |
0x9cc (size before relaxing) |
|
694 |
.stab 0x0000000000003d8c 0x11e8 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
695 |
0x14d0 (size before relaxing) |
|
696 |
.stab 0x0000000000004f74 0x48c ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
697 |
0x648 (size before relaxing) |
|
698 |
.stab 0x0000000000005400 0x768 ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
699 |
0x9d8 (size before relaxing) |
|
700 |
.stab 0x0000000000005b68 0x960 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
701 |
0xbd0 (size before relaxing) |
|
702 |
.stab 0x00000000000064c8 0x330 ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
703 |
0x51c (size before relaxing) |
|
704 |
.stab 0x00000000000067f8 0x3f0 ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
705 |
0x5b8 (size before relaxing) |
|
706 |
.stab 0x0000000000006be8 0x840 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
707 |
0xac8 (size before relaxing) |
|
708 |
.stab 0x0000000000007428 0x348 ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
709 |
0x504 (size before relaxing) |
|
710 |
.stab 0x0000000000007770 0x84 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
711 |
0x90 (size before relaxing) |
|
712 |
|
|
713 |
.stabstr 0x0000000000000000 0x220c |
|
714 |
*(.stabstr) |
|
715 |
.stabstr 0x0000000000000000 0x220c /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
716 |
|
|
717 |
.stab.excl |
|
718 |
*(.stab.excl) |
|
719 |
|
|
720 |
.stab.exclstr |
|
721 |
*(.stab.exclstr) |
|
722 |
|
|
723 |
.stab.index |
|
724 |
*(.stab.index) |
|
725 |
|
|
726 |
.stab.indexstr |
|
727 |
*(.stab.indexstr) |
|
728 |
|
|
729 |
.comment |
|
730 |
*(.comment) |
|
731 |
|
|
732 |
.debug |
|
733 |
*(.debug) |
|
734 |
|
|
735 |
.line |
|
736 |
*(.line) |
|
737 |
|
|
738 |
.debug_srcinfo |
|
739 |
*(.debug_srcinfo) |
|
740 |
|
|
741 |
.debug_sfnames |
|
742 |
*(.debug_sfnames) |
|
743 |
|
|
744 |
.debug_aranges |
|
745 |
*(.debug_aranges) |
|
746 |
|
|
747 |
.debug_pubnames |
|
748 |
*(.debug_pubnames) |
|
749 |
|
|
750 |
.debug_info |
|
751 |
*(.debug_info) |
|
752 |
*(.gnu.linkonce.wi.*) |
|
753 |
|
|
754 |
.debug_abbrev |
|
755 |
*(.debug_abbrev) |
|
756 |
|
|
757 |
.debug_line |
|
758 |
*(.debug_line) |
|
759 |
|
|
760 |
.debug_frame |
|
761 |
*(.debug_frame) |
|
762 |
|
|
763 |
.debug_str |
|
764 |
*(.debug_str) |
|
765 |
|
|
766 |
.debug_loc |
|
767 |
*(.debug_loc) |
|
768 |
|
|
769 |
.debug_macinfo |
|
770 |
*(.debug_macinfo) |
|
771 |
OUTPUT(hunter_prey.elf elf32-avr) |
|
772 |
LOAD linker stubs |
|
773 |
|
|
774 |
Cross Reference Table |
|
775 |
|
|
776 |
Symbol File |
|
777 |
__ashldi3 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
778 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
779 |
__bad_interrupt /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
780 |
__bss_end /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
781 |
__bss_start /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
782 |
__clz_tab /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
783 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
784 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
785 |
__data_end /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
786 |
__data_load_start /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
787 |
__data_start /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
788 |
__divdi3 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
789 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
790 |
__divmodhi4 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
791 |
../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
792 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
793 |
../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
794 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
795 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
796 |
__divmodsi4 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
797 |
../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
798 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
799 |
__do_clear_bss /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clear_bss.o) |
|
800 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
801 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
802 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
803 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
804 |
../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
805 |
../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
806 |
../../../../code/lib/bin/libdragonfly.a(time.o) |
|
807 |
../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
808 |
../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
809 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
810 |
../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
811 |
../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
812 |
../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
813 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
814 |
../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
815 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
816 |
../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
817 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
818 |
../../../../code/lib/bin/libwireless.a(xbee.o) |
|
819 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
820 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
821 |
hunter_prey.o |
|
822 |
__do_copy_data /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
823 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_clz.o) |
|
824 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
825 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
826 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_ashldi3.o) |
|
827 |
../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
828 |
../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
829 |
../../../../code/lib/bin/libdragonfly.a(time.o) |
|
830 |
../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
831 |
../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
832 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
833 |
../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
834 |
../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
835 |
../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
836 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
837 |
../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
838 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
839 |
../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
840 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
841 |
../../../../code/lib/bin/libwireless.a(xbee.o) |
|
842 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
843 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
844 |
hunter_prey.o |
|
845 |
__epilogue_restores__ /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_epilogue.o) |
|
846 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
847 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
848 |
__heap_end /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
849 |
__init /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
850 |
__moddi3 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
851 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
852 |
__mulsi3 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_mulsi3.o) |
|
853 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
854 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
855 |
__prologue_saves__ /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_prologue.o) |
|
856 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
857 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
858 |
__stack /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
859 |
__udivmodhi4 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodhi4.o) |
|
860 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
861 |
__udivmodsi4 /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_udivmodsi4.o) |
|
862 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_moddi3.o) |
|
863 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divdi3.o) |
|
864 |
/usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodsi4.o) |
|
865 |
__vector_1 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
866 |
__vector_10 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
867 |
__vector_11 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
868 |
__vector_12 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
869 |
__vector_13 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
870 |
__vector_14 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
871 |
__vector_15 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
872 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
873 |
__vector_16 ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
874 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
875 |
__vector_17 ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
876 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
877 |
__vector_18 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
878 |
__vector_19 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
879 |
__vector_2 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
880 |
__vector_20 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
881 |
__vector_21 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
882 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
883 |
__vector_22 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
884 |
__vector_23 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
885 |
__vector_24 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
886 |
__vector_25 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
887 |
__vector_26 ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
888 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
889 |
__vector_27 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
890 |
__vector_28 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
891 |
__vector_29 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
892 |
__vector_3 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
893 |
__vector_30 ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
894 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
895 |
__vector_31 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
896 |
__vector_32 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
897 |
__vector_33 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
898 |
__vector_34 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
899 |
__vector_4 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
900 |
__vector_5 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
901 |
__vector_6 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
902 |
__vector_7 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
903 |
__vector_8 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
904 |
__vector_9 /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
905 |
__vector_default /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
906 |
__vectors /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
907 |
_div /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_divmodhi4.o) |
|
908 |
_exit /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
909 |
adc_current_port ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
910 |
adc_loop_status ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
911 |
adc_sig_stop_loop ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
912 |
an_val ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
913 |
analog10 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
914 |
analog8 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
915 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
916 |
analog_get10 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
917 |
analog_get8 ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
918 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
919 |
analog_init ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
920 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
921 |
analog_loop_status ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
922 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
923 |
analog_start_loop ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
924 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
925 |
analog_stop_loop ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
926 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
927 |
arrival_buf ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
928 |
bom_get ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
929 |
bom_get_max ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
930 |
hunter_prey.o |
|
931 |
bom_get_max10 ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
932 |
bom_get_norm_vector ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
933 |
bom_get_vector ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
934 |
bom_init ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
935 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
936 |
bom_off ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
937 |
hunter_prey.o |
|
938 |
bom_on ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
939 |
hunter_prey.o |
|
940 |
bom_print_usb ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
941 |
bom_refresh ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
942 |
hunter_prey.o |
|
943 |
bom_set_leds ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
944 |
buffer_first ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
945 |
buffer_last ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
946 |
butter_filter ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
947 |
butter_init ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
948 |
butter_task ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
949 |
button1_click ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
950 |
button1_read ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
951 |
button1_wait ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
952 |
button2_click ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
953 |
button2_read ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
954 |
hunter_prey.o |
|
955 |
button2_wait ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
956 |
buzzer_chirp ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
957 |
buzzer_init ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
958 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
959 |
buzzer_off ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
960 |
buzzer_set_freq ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
961 |
buzzer_set_val ../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
962 |
current_packet ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
963 |
hunter_prey.o |
|
964 |
current_pwm_channel ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
965 |
data_length hunter_prey.o |
|
966 |
data_ready ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
967 |
delay_ms ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
968 |
../../../../code/lib/bin/libdragonfly.a(buzzer.o) |
|
969 |
../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
970 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
971 |
../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
972 |
hunter_prey.o |
|
973 |
digital_input ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
974 |
digital_output ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
975 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
976 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
977 |
digital_pull_up ../../../../code/lib/bin/libdragonfly.a(dio.o) |
|
978 |
dragonfly_init ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
979 |
hunter_prey.o |
|
980 |
eeprom_get_byte ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
981 |
eeprom_put_byte ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
982 |
enable_orb_pwm ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
983 |
encoder_buf_index ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
984 |
encoder_get_dx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
985 |
encoder_get_tc ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
986 |
encoder_get_v ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
987 |
encoder_get_x ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
988 |
encoder_read ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
989 |
encoder_recv ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
990 |
encoder_recv_complete ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
991 |
encoder_rst_dx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
992 |
encoder_rst_tc ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
993 |
encoder_wait ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
994 |
encoders_init ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
995 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
996 |
exit /usr/lib/gcc/avr/4.3.4/avr51/libgcc.a(_exit.o) |
|
997 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
998 |
flash_red ../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
999 |
get_bom_type ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
1000 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1001 |
get_dx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1002 |
get_max_bom ../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
1003 |
get_range_index ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1004 |
get_robotid ../../../../code/lib/bin/libdragonfly.a(eeprom.o) |
|
1005 |
hunter_prey.o |
|
1006 |
hex_digit ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1007 |
hunter_prey_tagged hunter_prey.o |
|
1008 |
lcd_clear_screen ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1009 |
lcd_gotoxy ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1010 |
lcd_init ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1011 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1012 |
lcd_putbyte ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1013 |
lcd_putc ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1014 |
lcd_puti ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1015 |
lcd_puts ../../../../code/lib/bin/libdragonfly.a(lcd.o) |
|
1016 |
left_data ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1017 |
left_data_array ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1018 |
left_data_at ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1019 |
left_data_buf ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1020 |
left_data_idx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1021 |
left_dx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1022 |
linearize_distance ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1023 |
main hunter_prey.o |
|
1024 |
/usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/crtm128.o |
|
1025 |
memcpy_P /usr/lib/gcc/avr/4.3.4/../../../avr/lib/avr51/libc.a(memcpy_P.o) |
|
1026 |
../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1027 |
motor1_set ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1028 |
motor2_set ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1029 |
motor_l_set ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1030 |
hunter_prey.o |
|
1031 |
motor_r_set ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1032 |
hunter_prey.o |
|
1033 |
motors_init ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1034 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1035 |
hunter_prey.o |
|
1036 |
motors_off ../../../../code/lib/bin/libdragonfly.a(motor.o) |
|
1037 |
hunter_prey.o |
|
1038 |
orb1_set ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1039 |
orb1_set_color ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1040 |
hunter_prey.o |
|
1041 |
orb2_set ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1042 |
orb2_set_color ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1043 |
hunter_prey.o |
|
1044 |
orb_disable_timer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1045 |
orb_enable_timer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1046 |
orb_init ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1047 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1048 |
hunter_prey.o |
|
1049 |
orb_init_binary ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1050 |
orb_init_pwm ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1051 |
orb_lock ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1052 |
orb_mask ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1053 |
orb_n_set ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1054 |
orb_n_set_color ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1055 |
orb_set ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1056 |
orb_set_color ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1057 |
hunter_prey.o |
|
1058 |
orb_set_mode ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1059 |
orb_values ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1060 |
orbs_set ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1061 |
orbs_set_color ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1062 |
packet_data hunter_prey.o |
|
1063 |
pwm_buffer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1064 |
pwm_free_buffer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1065 |
pwm_page_flip ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1066 |
pwm_read_buffer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1067 |
pwm_write_buffer ../../../../code/lib/bin/libdragonfly.a(lights.o) |
|
1068 |
range_init ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1069 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1070 |
range_init_filter ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1071 |
range_read_distance ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1072 |
hunter_prey.o |
|
1073 |
range_read_filtered_distance ../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1074 |
right_data ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1075 |
right_data_array ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1076 |
right_data_at ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1077 |
right_data_buf ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1078 |
right_data_idx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1079 |
right_dx ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1080 |
rtc_get ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
1081 |
hunter_prey.o |
|
1082 |
rtc_init ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
1083 |
../../../../code/lib/bin/libdragonfly.a(rangefinder.o) |
|
1084 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1085 |
hunter_prey.o |
|
1086 |
rtc_reset ../../../../code/lib/bin/libdragonfly.a(time.o) |
|
1087 |
hunter_prey.o |
|
1088 |
send_buffer hunter_prey.o |
|
1089 |
set_adc_mux ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
1090 |
spi_init ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
1091 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1092 |
spi_transfer ../../../../code/lib/bin/libdragonfly.a(spi.o) |
|
1093 |
../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1094 |
timecount ../../../../code/lib/bin/libdragonfly.a(encoders.o) |
|
1095 |
usb_getc ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1096 |
usb_getc_nb ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1097 |
usb_init ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1098 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1099 |
usb_putc ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1100 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
1101 |
usb_puth16 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1102 |
usb_puth8 ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1103 |
usb_puti ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1104 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
1105 |
usb_puts ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1106 |
../../../../code/lib/bin/libdragonfly.a(bom.o) |
|
1107 |
usb_puts_P ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1108 |
wheel ../../../../code/lib/bin/libdragonfly.a(analog.o) |
|
1109 |
wl_basic_do_default ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1110 |
hunter_prey.o |
|
1111 |
wl_basic_group_handler ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1112 |
hunter_prey.o |
|
1113 |
wl_basic_init ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1114 |
wl_basic_init_default ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1115 |
hunter_prey.o |
|
1116 |
wl_basic_packet_receive_handler ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1117 |
wl_basic_register_handler ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1118 |
wl_basic_send_global_packet ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1119 |
hunter_prey.o |
|
1120 |
wl_basic_send_robot_packet ../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1121 |
wl_do ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1122 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1123 |
wl_get_channel ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1124 |
wl_get_pan ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1125 |
wl_get_xbee_id ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1126 |
wl_init ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1127 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1128 |
wl_register_packet_group ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1129 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1130 |
wl_send_global_packet ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1131 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1132 |
wl_send_pan_packet ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1133 |
wl_send_robot_to_robot_global_packet ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1134 |
../../../../code/lib/bin/libwireless.a(wl_basic.o) |
|
1135 |
wl_send_robot_to_robot_packet ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1136 |
wl_set_channel ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1137 |
hunter_prey.o |
|
1138 |
wl_set_pan ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1139 |
wl_terminate ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1140 |
wl_unregister_packet_group ../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1141 |
xbee_get_address ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1142 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1143 |
xbee_get_channel ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1144 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1145 |
xbee_get_packet ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1146 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1147 |
xbee_get_pan_id ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1148 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1149 |
xbee_getc ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1150 |
xbee_getc_nb ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1151 |
xbee_init ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1152 |
../../../../code/lib/bin/libdragonfly.a(dragonfly_lib.o) |
|
1153 |
hunter_prey.o |
|
1154 |
xbee_lib_init ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1155 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1156 |
xbee_putc ../../../../code/lib/bin/libdragonfly.a(serial.o) |
|
1157 |
../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1158 |
xbee_reset ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1159 |
xbee_send_packet ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1160 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1161 |
xbee_set_channel ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1162 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1163 |
xbee_set_pan_id ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1164 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
|
1165 |
xbee_terminate ../../../../code/lib/bin/libwireless.a(xbee.o) |
|
1166 |
../../../../code/lib/bin/libwireless.a(wireless.o) |
trunk/code/behaviors/hunter_prey/john/main.c | ||
---|---|---|
1 |
/* |
|
2 |
* Hunter-Prey main.c File - Implementation of Hunter-Prey behavior which |
|
3 |
* uses finite state machines to manage the behavior. A top level |
|
4 |
* state machine controls the high level behavior switches between |
|
5 |
* "hunter" and "prey" and manages the wireless communication. Two |
|
6 |
* additional state machines control the behavior of the robot when |
|
7 |
* it is in "prey" mode and when it is in "hunter" mode. |
|
8 |
* |
|
9 |
* Author: John Sexton, Colony Project, CMU Robotics Club |
|
10 |
*/ |
|
11 |
|
|
12 | 1 |
#include <dragonfly_lib.h> |
13 | 2 |
#include <wl_basic.h> |
14 | 3 |
#include "hunter_prey.h" |
15 |
#include "encoders.h" |
|
16 | 4 |
|
17 |
#define WL_CHANNEL 24 |
|
5 |
#define WL_CHANNEL 12 |
|
6 |
#define HUNTER 3 |
|
7 |
#define PREY 1 |
|
8 |
#define PREHUNTER 2 |
|
9 |
#define PREPREY 0 |
|
10 |
#define WAITING 4 |
|
18 | 11 |
|
19 |
#define BACK_THRESHOLD -1000 |
|
20 |
#define TURN_DIST 1024 |
|
21 |
#define IR_DIST_THRESHOLD 150 |
|
22 |
#define WAIT_DELAY_MS 2000 |
|
23 |
|
|
24 |
/* State Macros */ |
|
25 |
|
|
26 |
/* Top Level FSM States */ |
|
27 |
#define TOP_INIT 0 |
|
28 |
#define TOP_HUNTER_HUNT 1 |
|
29 |
#define TOP_HUNTER_TAG 2 |
|
30 |
#define TOP_HUNTER_PURSUE 3 |
|
31 |
#define TOP_PREY_AVOID 4 |
|
32 |
#define TOP_HUNTER_WAIT 5 |
|
33 |
#define TOP_ERROR 6 |
|
34 |
|
|
35 |
/* Hunter FSM States */ |
|
36 |
#define HUNTER_SPIRAL 0 |
|
37 |
#define HUNTER_CHASE 1 |
|
38 |
|
|
39 |
/* Prey FSM States */ |
|
40 |
#define PREY_START_BACK 0 |
|
41 |
#define PREY_BACKING 1 |
|
42 |
#define PREY_TURN 2 |
|
43 |
#define PREY_AVOID 3 |
|
44 |
|
|
45 |
|
|
46 |
/* Function prototype declarations */ |
|
47 |
int hunter_FSM(int, int, int); |
|
48 |
int prey_FSM(int); |
|
49 |
|
|
50 | 12 |
/* Variables used to receive packets */ |
51 | 13 |
unsigned char* packet_data; |
52 | 14 |
int data_length; |
... | ... | |
59 | 21 |
|
60 | 22 |
/* Initialize dragonfly board */ |
61 | 23 |
dragonfly_init(ALL_ON); |
62 |
xbee_init(); |
|
63 |
encoders_init(); |
|
64 |
|
|
65 |
/* Initialize the basic wireless library */ |
|
24 |
/* Initialize the XBEE */ |
|
25 |
xbee_init(); |
|
26 |
/* Initialize the basic wireless library */ |
|
66 | 27 |
wl_basic_init_default(); |
67 |
|
|
68 |
/* Set the XBee channel to assigned channel */ |
|
28 |
/* Set the XBee channel to your assigned channel */ |
|
69 | 29 |
wl_set_channel(WL_CHANNEL); |
30 |
/* Initialize Orbs*/ |
|
31 |
orb_init(); |
|
32 |
/* Initialize Clock*/ |
|
33 |
rtc_init(SIXTEENTH_SECOND, NULL); |
|
34 |
/* Initialize motors*/ |
|
35 |
motors_init(); |
|
70 | 36 |
|
71 |
|
|
72 | 37 |
/* ****** CODE HERE ******* */ |
73 |
|
|
74 |
/* Initialize state machines */ |
|
75 |
int state = TOP_INIT; |
|
76 |
int hunter_state = HUNTER_SPIRAL; |
|
77 |
int prey_state = PREY_AVOID; |
|
78 |
|
|
79 |
int frontIR = 0; |
|
80 |
int maxBOM = 0; |
|
81 |
int robotID = get_robotid(); |
|
82 |
int oldTime = 0, curTime = 0; |
|
83 |
|
|
84 |
while (1) { |
|
85 |
|
|
86 |
/* Check if we've received a wireless packet */ |
|
87 |
packet_data = wl_basic_do_default(&data_length); |
|
88 |
|
|
89 |
/* Top level state machines */ |
|
90 |
switch(state) { |
|
91 |
|
|
92 |
case TOP_INIT: |
|
93 |
orbs_set_color(RED, GREEN); |
|
94 |
delay_ms(500); |
|
95 |
orbs_set_color(GREEN, RED); |
|
96 |
delay_ms(500); |
|
97 |
|
|
98 |
/* Allow user to pick the starting behavior */ |
|
99 |
if (button1_read()) { |
|
100 |
state = TOP_PREY_AVOID; |
|
101 |
prey_state = PREY_AVOID; |
|
102 |
} else { |
|
103 |
state = TOP_HUNTER_HUNT; |
|
104 |
hunter_state = HUNTER_SPIRAL; |
|
105 |
} |
|
106 |
break; |
|
107 |
case TOP_HUNTER_HUNT: |
|
108 |
orbs_set_color(RED, RED); |
|
109 |
|
|
110 |
if (packet_data && data_length == 2 |
|
111 |
&& packet_data[0] == HUNTER_PREY_ACTION_ACK) { |
|
112 |
/* If we've received an ACK, we need to wait */ |
|
113 |
state = TOP_HUNTER_WAIT; |
|
114 |
} else { |
|
115 |
/* Record some sensor readings and check if we can TAG */ |
|
116 |
bom_refresh(BOM_ALL); |
|
117 |
frontIR = range_read_distance(IR2); |
|
118 |
maxBOM = get_max_bom(); |
|
119 |
if (hunter_prey_tagged(maxBOM, frontIR)) { |
|
120 |
state = TOP_HUNTER_TAG; |
|
121 |
} else { |
|
122 |
/* If we haven't tagged, then enter hunter FSM */ |
|
123 |
hunter_state = hunter_FSM(hunter_state, maxBOM, frontIR); |
|
124 |
} |
|
125 |
} |
|
126 |
break; |
|
127 |
case TOP_HUNTER_TAG: |
|
128 |
orbs_set_color(RED, PURPLE); |
|
129 |
|
|
130 |
if (packet_data && data_length == 2 |
|
131 |
&& packet_data[0] == HUNTER_PREY_ACTION_ACK) { |
|
132 |
/* If we've received an ACK, then someone beat us to the TAG and |
|
133 |
* we need to wait. */ |
|
134 |
state = TOP_HUNTER_WAIT; |
|
135 |
} else { |
|
136 |
/* Prepare and send the TAG packet */ |
|
137 |
send_buffer[0] = HUNTER_PREY_ACTION_TAG; |
|
138 |
send_buffer[1] = robotID; |
|
139 |
wl_basic_send_global_packet(42, send_buffer, 2); |
|
140 |
|
|
141 |
/* Record the time so we don't spam a TAG message on the network */ |
|
142 |
oldTime = rtc_get(); |
|
143 |
state = TOP_HUNTER_PURSUE; |
|
144 |
} |
|
145 |
break; |
|
146 |
case TOP_HUNTER_PURSUE: |
|
147 |
orbs_set_color(RED, BLUE); |
|
148 |
curTime = rtc_get(); |
|
149 |
|
|
150 |
if (packet_data && data_length == 2 |
|
151 |
&& packet_data[0] == HUNTER_PREY_ACTION_ACK) { |
|
152 |
/* Check if we've received a new wireless packet */ |
|
153 |
|
|
154 |
if (packet_data[1] == robotID) { |
|
155 |
/* We've been ACKed, so we can now become the prey */ |
|
156 |
state = TOP_PREY_AVOID; |
|
157 |
prey_state = PREY_START_BACK; |
|
158 |
} else { |
|
159 |
/* If we get an ACK with a different robotID, then someone beat us |
|
160 |
* to the TAG, so we must wait */ |
|
161 |
state = TOP_HUNTER_WAIT; |
|
162 |
} |
|
163 |
|
|
164 |
} else if (curTime - oldTime > 1) { |
|
165 |
/* If 1 second has ellapsed, return to normal hunting state (we can |
|
166 |
* TAG again now) */ |
|
167 |
state = TOP_HUNTER_HUNT; |
|
168 |
} else if (oldTime > curTime) { |
|
169 |
/* If for some reason the timer overflows, or the wireless library |
|
170 |
* (which is also using the same timer) resets the timer, |
|
171 |
* reinitialize the timer so that we don't wait too long for the |
|
172 |
* timer to catch back up. */ |
|
173 |
oldTime = curTime; |
|
174 |
} else { |
|
175 |
/* If no other behavioral changes need to be made, then continue |
|
176 |
* with the hunter FSM where we left off */ |
|
177 |
bom_refresh(BOM_ALL); |
|
178 |
frontIR = range_read_distance(IR2); |
|
179 |
maxBOM = get_max_bom(); |
|
180 |
hunter_state = hunter_FSM(hunter_state, maxBOM, frontIR); |
|
181 |
} |
|
182 |
break; |
|
183 |
case TOP_PREY_AVOID: |
|
184 |
orbs_set_color(GREEN, GREEN); |
|
185 |
if (packet_data && data_length == 2 |
|
186 |
&& packet_data[0] == HUNTER_PREY_ACTION_TAG) { |
|
187 |
/* Check if we've received a TAG yet. If so then send an ACK back */ |
|
188 |
|
|
189 |
send_buffer[0] = HUNTER_PREY_ACTION_ACK; |
|
190 |
send_buffer[1] = packet_data[1]; |
|
191 |
wl_basic_send_global_packet(42, send_buffer, 2); |
|
192 |
|
|
193 |
state = TOP_HUNTER_WAIT; |
|
194 |
} else { |
|
195 |
/* If we haven't received a TAG yet, continue with prey FSM */ |
|
196 |
bom_on(); |
|
197 |
prey_state = prey_FSM(prey_state); |
|
198 |
} |
|
199 |
break; |
|
200 |
case TOP_HUNTER_WAIT: |
|
201 |
/* Set orb colors and wait to give the prey the 5 second head start */ |
|
202 |
orbs_set_color(BLUE, BLUE); |
|
203 |
bom_off(); |
|
204 |
motors_off(); |
|
205 |
delay_ms(WAIT_DELAY_MS); |
|
206 |
state = TOP_HUNTER_HUNT; |
|
207 |
hunter_state = HUNTER_SPIRAL; |
|
208 |
break; |
|
209 |
case TOP_ERROR: |
|
210 |
default: |
|
211 |
orbs_set_color(PURPLE, PURPLE); |
|
212 |
state = TOP_ERROR; |
|
213 |
while(1); |
|
214 |
break; |
|
215 |
} |
|
216 |
|
|
38 |
int state=PREPREY, time, max_bom_reading, front_rangefinder_reading, angle, d1=80, d2=80, d3=80, d4=80, d5=80, speed=0; |
|
39 |
unsigned char id=get_robotid(), tag; |
|
40 |
|
|
41 |
while(1){ |
|
42 |
// time=rtc_get(); |
|
43 |
switch(state){ |
|
44 |
case PREPREY:{/* pre-prey*/ |
|
45 |
orb1_set_color(YELLOW); |
|
46 |
bom_on(); |
|
47 |
state=PREY; |
|
48 |
delay_ms(50); |
|
49 |
while(wl_basic_do_default(&data_length)); |
|
50 |
orb1_set_color(GREEN); |
|
51 |
rtc_reset(); |
|
52 |
break; |
|
217 | 53 |
} |
218 |
|
|
219 |
/* ****** END HERE ******* */ |
|
220 |
|
|
221 |
while(1); |
|
222 |
|
|
223 |
return 0; |
|
224 |
|
|
225 |
} |
|
226 |
|
|
227 |
|
|
228 |
/* |
|
229 |
* prey_FSM - Prey finite state machine which starts by backing away, turning, |
|
230 |
* and then running and avoiding obstacles. |
|
231 |
* |
|
232 |
* Arguments: |
|
233 |
* prey_state - Current prey state. |
|
234 |
* |
|
235 |
* returns - The new state of the prey state machine. |
|
236 |
*/ |
|
237 |
|
|
238 |
int prey_FSM(int prey_state) { |
|
239 |
|
|
240 |
/* Variable to store the front rangefinder readings */ |
|
241 |
int rangeVals[3] = {0, 0, 0}; |
|
242 |
|
|
243 |
switch (prey_state) { |
|
244 |
|
|
245 |
case PREY_START_BACK: |
|
246 |
motor_l_set(BACKWARD, 255); |
|
247 |
motor_r_set(BACKWARD, 255); |
|
248 |
encoder_rst_dx(LEFT); |
|
249 |
encoder_rst_dx(RIGHT); |
|
250 |
return PREY_BACKING; |
|
54 |
case PREY:{/*prey mode*/ |
|
55 |
int t1 = 0; |
|
56 |
int t2 = 0; |
|
57 |
int timechecked = 0; |
|
58 |
int beginning = 1; |
|
59 |
orb_set_color(GREEN); |
|
60 |
|
|
61 |
while(1) |
|
62 |
{ |
|
63 |
int front = range_read_distance(IR2); |
|
64 |
packet_data = wl_basic_do_default(&data_length); |
|
65 |
if(packet_data != 0) |
|
66 |
{ |
|
67 |
if(data_length == 2 && packet_data[0] == HUNTER_PREY_ACTION_TAG) |
|
68 |
{ |
|
69 |
send_buffer[0] = HUNTER_PREY_ACTION_ACK; |
|
70 |
send_buffer[1] = packet_data[1]; |
|
71 |
wl_basic_send_global_packet(42, send_buffer, 2); |
|
72 |
state=PREHUNTER; |
|
73 |
motor_r_set(0,0);motor_l_set(0,0); |
|
74 |
break; |
|
75 |
} |
|
76 |
} |
|
77 |
int side1 = range_read_distance(IR1); |
|
78 |
int side2 = range_read_distance(IR3); |
|
79 |
t2 = rtc_get(); |
|
80 |
if(front < 200 && front > 50 && !(timechecked == 1)) |
|
81 |
{ |
|
82 |
orb2_set_color(RED); |
|
83 |
timechecked = 1; |
|
84 |
t1 = rtc_get(); |
|
85 |
motor_l_set(1, 255); |
|
86 |
motor_r_set(0, 0); |
|
87 |
} |
|
88 |
else if(side1 < 300 && side1 > 0 && timechecked != 1) |
|
89 |
{ |
|
90 |
motor_r_set(0,0); |
|
91 |
} |
|
92 |
else if(side2 < 300 && side2 > 0 && timechecked != 1) |
|
93 |
{ |
|
94 |
motor_l_set(0,0); |
|
95 |
} |
|
96 |
else |
|
97 |
{ |
|
98 |
if(t2 - t1 > 2 || beginning == 1) |
|
99 |
{ |
|
100 |
orb2_set_color(BLUE); |
|
101 |
timechecked = 0; |
|
102 |
motor_l_set(1, 255); |
Also available in: Unified diff