Project

General

Profile

Statistics
| Revision:

root / demos / hunter_prey_john / projects / libwireless / lib / xbee.lst @ 1694

History | View | Annotate | Download (38.7 KB)

1 1693 emullini
   1               		.file	"xbee.c"
2
   2               		.arch atmega128
3
   3               	__SREG__ = 0x3f
4
   4               	__SP_H__ = 0x3e
5
   5               	__SP_L__ = 0x3d
6
   6               	__tmp_reg__ = 0
7
   7               	__zero_reg__ = 1
8
   8               		.global __do_copy_data
9
   9               		.global __do_clear_bss
10
  10               		.text
11
  11               	.global	__vector_30
12
  13               	__vector_30:
13
  14               	/* prologue: frame size=0 */
14
  15 0000 1F92      		push __zero_reg__
15
  16 0002 0F92      		push __tmp_reg__
16
  17 0004 0FB6      		in __tmp_reg__,__SREG__
17
  18 0006 0F92      		push __tmp_reg__
18
  19 0008 1124      		clr __zero_reg__
19
  20 000a 2F93      		push r18
20
  21 000c 3F93      		push r19
21
  22 000e 8F93      		push r24
22
  23 0010 9F93      		push r25
23
  24 0012 EF93      		push r30
24
  25 0014 FF93      		push r31
25
  26               	/* prologue end (size=11) */
26
  27 0016 8091 9C00 		lds r24,156
27
  28 001a E091 0000 		lds r30,buffer_last
28
  29 001e F091 0000 		lds r31,(buffer_last)+1
29
  30 0022 E050      		subi r30,lo8(-(arrival_buf))
30
  31 0024 F040      		sbci r31,hi8(-(arrival_buf))
31
  32 0026 8083      		st Z,r24
32
  33 0028 2091 0000 		lds r18,buffer_last
33
  34 002c 3091 0000 		lds r19,(buffer_last)+1
34
  35 0030 2F5F      		subi r18,lo8(-(1))
35
  36 0032 3F4F      		sbci r19,hi8(-(1))
36
  37 0034 2038      		cpi r18,128
37
  38 0036 3105      		cpc r19,__zero_reg__
38
  39 0038 01F4      		brne .L2
39
  40 003a 20E0      		ldi r18,lo8(0)
40
  41 003c 30E0      		ldi r19,hi8(0)
41
  42               	.L2:
42
  43 003e 8091 0000 		lds r24,buffer_first
43
  44 0042 9091 0000 		lds r25,(buffer_first)+1
44
  45 0046 3093 0000 		sts (buffer_last)+1,r19
45
  46 004a 2093 0000 		sts buffer_last,r18
46
  47               	/* epilogue: frame size=0 */
47
  48 004e FF91      		pop r31
48
  49 0050 EF91      		pop r30
49
  50 0052 9F91      		pop r25
50
  51 0054 8F91      		pop r24
51
  52 0056 3F91      		pop r19
52
  53 0058 2F91      		pop r18
53
  54 005a 0F90      		pop __tmp_reg__
54
  55 005c 0FBE      		out __SREG__,__tmp_reg__
55
  56 005e 0F90      		pop __tmp_reg__
56
  57 0060 1F90      		pop __zero_reg__
57
  58 0062 1895      		reti
58
  59               	/* epilogue end (size=11) */
59
  60               	/* function __vector_30 size 50 (28) */
60
  62               		.data
61
  63               	.LC0:
62
  64 0000 4F4B 0D00 		.string	"OK\r"
63
  65               		.text
64
  67               	xbee_wait_for_ok:
65
  68               	/* prologue: frame size=0 */
66
  69               	/* prologue end (size=0) */
67
  70 0064 00C0      		rjmp .L20
68
  71               	.L7:
69
  72 0066 2091 0000 		lds r18,buffer_last
70
  73 006a 3091 0000 		lds r19,(buffer_last)+1
71
  74 006e 8091 0000 		lds r24,buffer_first
72
  75 0072 9091 0000 		lds r25,(buffer_first)+1
73
  76 0076 2817      		cp r18,r24
74
  77 0078 3907      		cpc r19,r25
75
  78 007a 01F0      		breq .L21
76
  79 007c 8091 0000 		lds r24,buffer_first
77
  80 0080 9091 0000 		lds r25,(buffer_first)+1
78
  81 0084 FC01      		movw r30,r24
79
  82 0086 E050      		subi r30,lo8(-(arrival_buf))
80
  83 0088 F040      		sbci r31,hi8(-(arrival_buf))
81
  84 008a E081      		ld r30,Z
82
  85 008c 0196      		adiw r24,1
83
  86 008e 9093 0000 		sts (buffer_first)+1,r25
84
  87 0092 8093 0000 		sts buffer_first,r24
85
  88 0096 8091 0000 		lds r24,buffer_first
86
  89 009a 9091 0000 		lds r25,(buffer_first)+1
87
  90 009e 8038      		cpi r24,128
88
  91 00a0 9105      		cpc r25,__zero_reg__
89
  92 00a2 01F4      		brne .L9
90
  93 00a4 1092 0000 		sts (buffer_first)+1,__zero_reg__
91
  94 00a8 1092 0000 		sts buffer_first,__zero_reg__
92
  95               	.L9:
93
  96 00ac 8C91      		ld r24,X
94
  97 00ae E817      		cp r30,r24
95
  98 00b0 01F0      		breq .L11
96
  99               	.L20:
97
 100 00b2 A0E0      		ldi r26,lo8(.LC0)
98
 101 00b4 B0E0      		ldi r27,hi8(.LC0)
99
 102 00b6 00C0      		rjmp .L21
100
 103               	.L11:
101
 104 00b8 1196      		adiw r26,1
102
 105               	.L21:
103
 106 00ba CD01      		movw r24,r26
104
 107 00bc 8050      		subi r24,lo8(.LC0)
105
 108 00be 9040      		sbci r25,hi8(.LC0)
106
 109 00c0 0397      		sbiw r24,3
107
 110 00c2 04F0      		brlt .L7
108
 111 00c4 80E0      		ldi r24,lo8(0)
109
 112 00c6 90E0      		ldi r25,hi8(0)
110
 113               	/* epilogue: frame size=0 */
111
 114 00c8 0895      		ret
112
 115               	/* epilogue end (size=1) */
113
 116               	/* function xbee_wait_for_ok size 52 (51) */
114
 118               	.global	xbee_get_packet
115
 120               	xbee_get_packet:
116
 121               	/* prologue: frame size=0 */
117
 122 00ca CF93      		push r28
118
 123 00cc DF93      		push r29
119
 124               	/* prologue end (size=2) */
120
 125 00ce EC01      		movw r28,r24
121
 126 00d0 8091 0000 		lds r24,currentBufPos
122
 127 00d4 9091 0000 		lds r25,(currentBufPos)+1
123
 128 00d8 0097      		sbiw r24,0
124
 129 00da 01F4      		brne .L23
125
 130               	.L73:
126
 131 00dc 8091 0000 		lds r24,buffer_first
127
 132 00e0 9091 0000 		lds r25,(buffer_first)+1
128
 133 00e4 8038      		cpi r24,128
129
 134 00e6 9105      		cpc r25,__zero_reg__
130
 135 00e8 01F4      		brne .L25
131
 136 00ea 1092 0000 		sts (buffer_first)+1,__zero_reg__
132
 137 00ee 1092 0000 		sts buffer_first,__zero_reg__
133
 138               	.L25:
134
 139 00f2 2091 0000 		lds r18,buffer_first
135
 140 00f6 3091 0000 		lds r19,(buffer_first)+1
136
 141 00fa 8091 0000 		lds r24,buffer_last
137
 142 00fe 9091 0000 		lds r25,(buffer_last)+1
138
 143 0102 2817      		cp r18,r24
139
 144 0104 3907      		cpc r19,r25
140
 145 0106 01F4      		brne .+2
141
 146 0108 00C0      		rjmp .L77
142
 147 010a 8091 0000 		lds r24,buffer_first
143
 148 010e 9091 0000 		lds r25,(buffer_first)+1
144
 149 0112 FC01      		movw r30,r24
145
 150 0114 E050      		subi r30,lo8(-(arrival_buf))
146
 151 0116 F040      		sbci r31,hi8(-(arrival_buf))
147
 152 0118 E081      		ld r30,Z
148
 153 011a 0196      		adiw r24,1
149
 154 011c 9093 0000 		sts (buffer_first)+1,r25
150
 155 0120 8093 0000 		sts buffer_first,r24
151
 156 0124 EE37      		cpi r30,lo8(126)
152
 157 0126 01F4      		brne .L73
153
 158 0128 8091 0000 		lds r24,buffer_first
154
 159 012c 9091 0000 		lds r25,(buffer_first)+1
155
 160 0130 8038      		cpi r24,128
156
 161 0132 9105      		cpc r25,__zero_reg__
157
 162 0134 01F4      		brne .L30
158
 163 0136 1092 0000 		sts (buffer_first)+1,__zero_reg__
159
 164 013a 1092 0000 		sts buffer_first,__zero_reg__
160
 165               	.L30:
161
 166 013e E093 0000 		sts xbee_buf,r30
162
 167 0142 81E0      		ldi r24,lo8(1)
163
 168 0144 90E0      		ldi r25,hi8(1)
164
 169 0146 9093 0000 		sts (currentBufPos)+1,r25
165
 170 014a 8093 0000 		sts currentBufPos,r24
166
 171 014e 00C0      		rjmp .L76
167
 172               	.L23:
168
 173 0150 0397      		sbiw r24,3
169
 174 0152 04F4      		brge .L33
170
 175               	.L76:
171
 176 0154 6FEF      		ldi r22,lo8(-1)
172
 177 0156 7FEF      		ldi r23,hi8(-1)
173
 178 0158 00C0      		rjmp .L32
174
 179               	.L33:
175
 180 015a 2091 0000 		lds r18,xbee_buf+2
176
 181 015e 8091 0000 		lds r24,xbee_buf+1
177
 182 0162 9927      		clr r25
178
 183 0164 782F      		mov r23,r24
179
 184 0166 6627      		clr r22
180
 185 0168 620F      		add r22,r18
181
 186 016a 711D      		adc r23,__zero_reg__
182
 187               	.L32:
183
 188 016c 4091 0000 		lds r20,currentBufPos
184
 189 0170 5091 0000 		lds r21,(currentBufPos)+1
185
 190 0174 DA01      		movw r26,r20
186
 191 0176 A050      		subi r26,lo8(-(xbee_buf))
187
 192 0178 B040      		sbci r27,hi8(-(xbee_buf))
188
 193 017a 00C0      		rjmp .L35
189
 194               	.L36:
190
 195 017c 4330      		cpi r20,3
191
 196 017e 5105      		cpc r21,__zero_reg__
192
 197 0180 01F4      		brne .L37
193
 198 0182 2091 0000 		lds r18,xbee_buf+2
194
 199 0186 8091 0000 		lds r24,xbee_buf+1
195
 200 018a 9927      		clr r25
196
 201 018c 782F      		mov r23,r24
197
 202 018e 6627      		clr r22
198
 203 0190 620F      		add r22,r18
199
 204 0192 711D      		adc r23,__zero_reg__
200
 205 0194 6937      		cpi r22,121
201
 206 0196 7105      		cpc r23,__zero_reg__
202
 207 0198 04F0      		brlt .+2
203
 208 019a 00C0      		rjmp .L71
204
 209               	.L37:
205
 210 019c 2091 0000 		lds r18,buffer_first
206
 211 01a0 3091 0000 		lds r19,(buffer_first)+1
207
 212 01a4 8091 0000 		lds r24,buffer_last
208
 213 01a8 9091 0000 		lds r25,(buffer_last)+1
209
 214 01ac 2817      		cp r18,r24
210
 215 01ae 3907      		cpc r19,r25
211
 216 01b0 01F4      		brne .+2
212
 217 01b2 00C0      		rjmp .L72
213
 218 01b4 8091 0000 		lds r24,buffer_first
214
 219 01b8 9091 0000 		lds r25,(buffer_first)+1
215
 220 01bc FC01      		movw r30,r24
216
 221 01be E050      		subi r30,lo8(-(arrival_buf))
217
 222 01c0 F040      		sbci r31,hi8(-(arrival_buf))
218
 223 01c2 2081      		ld r18,Z
219
 224 01c4 2C93      		st X,r18
220
 225 01c6 4F5F      		subi r20,lo8(-(1))
221
 226 01c8 5F4F      		sbci r21,hi8(-(1))
222
 227 01ca 0196      		adiw r24,1
223
 228 01cc 9093 0000 		sts (buffer_first)+1,r25
224
 229 01d0 8093 0000 		sts buffer_first,r24
225
 230 01d4 8091 0000 		lds r24,buffer_first
226
 231 01d8 9091 0000 		lds r25,(buffer_first)+1
227
 232 01dc 8038      		cpi r24,128
228
 233 01de 9105      		cpc r25,__zero_reg__
229
 234 01e0 01F4      		brne .L43
230
 235 01e2 1092 0000 		sts (buffer_first)+1,__zero_reg__
231
 236 01e6 1092 0000 		sts buffer_first,__zero_reg__
232
 237               	.L43:
233
 238 01ea 1196      		adiw r26,1
234
 239               	.L35:
235
 240 01ec 8FEF      		ldi r24,hi8(-1)
236
 241 01ee 6F3F      		cpi r22,lo8(-1)
237
 242 01f0 7807      		cpc r23,r24
238
 243 01f2 01F0      		breq .L36
239
 244 01f4 FB01      		movw r30,r22
240
 245 01f6 3496      		adiw r30,4
241
 246 01f8 4E17      		cp r20,r30
242
 247 01fa 5F07      		cpc r21,r31
243
 248 01fc 04F4      		brge .+2
244
 249 01fe 00C0      		rjmp .L36
245
 250 0200 1092 0000 		sts (currentBufPos)+1,__zero_reg__
246
 251 0204 1092 0000 		sts currentBufPos,__zero_reg__
247
 252 0208 A0E0      		ldi r26,lo8(xbee_buf+3)
248
 253 020a B0E0      		ldi r27,hi8(xbee_buf+3)
249
 254 020c 90E0      		ldi r25,lo8(0)
250
 255 020e 23E0      		ldi r18,lo8(3)
251
 256 0210 30E0      		ldi r19,hi8(3)
252
 257 0212 00C0      		rjmp .L47
253
 258               	.L48:
254
 259 0214 8D91      		ld r24,X+
255
 260 0216 980F      		add r25,r24
256
 261 0218 2F5F      		subi r18,lo8(-(1))
257
 262 021a 3F4F      		sbci r19,hi8(-(1))
258
 263               	.L47:
259
 264 021c 2E17      		cp r18,r30
260
 265 021e 3F07      		cpc r19,r31
261
 266 0220 04F0      		brlt .L48
262
 267 0222 9F3F      		cpi r25,lo8(-1)
263
 268 0224 01F0      		breq .+2
264
 269 0226 00C0      		rjmp .L77
265
 270 0228 1616      		cp __zero_reg__,r22
266
 271 022a 1706      		cpc __zero_reg__,r23
267
 272 022c 04F0      		brlt .+2
268
 273 022e 00C0      		rjmp .L51
269
 274 0230 8091 0000 		lds r24,xbee_buf+3
270
 275 0234 8838      		cpi r24,lo8(-120)
271
 276 0236 01F0      		breq .L53
272
 277 0238 8A38      		cpi r24,lo8(-118)
273
 278 023a 01F0      		breq .+2
274
 279 023c 00C0      		rjmp .L51
275
 280 023e 00C0      		rjmp .L54
276
 281               	.L53:
277
 282 0240 8091 0000 		lds r24,xbee_buf+5
278
 283 0244 9091 0000 		lds r25,xbee_buf+6
279
 284 0248 8934      		cpi r24,lo8(73)
280
 285 024a 01F4      		brne .L55
281
 286 024c 9434      		cpi r25,lo8(68)
282
 287 024e 01F0      		breq .+2
283
 288 0250 00C0      		rjmp .L54
284
 289 0252 8091 0000 		lds r24,xbee_pending_panID
285
 290 0256 9091 0000 		lds r25,(xbee_pending_panID)+1
286
 291 025a 9093 0000 		sts (xbee_panID)+1,r25
287
 292 025e 8093 0000 		sts xbee_panID,r24
288
 293 0262 00C0      		rjmp .L54
289
 294               	.L55:
290
 295 0264 8334      		cpi r24,lo8(67)
291
 296 0266 01F4      		brne .L58
292
 297 0268 9834      		cpi r25,lo8(72)
293
 298 026a 01F0      		breq .+2
294
 299 026c 00C0      		rjmp .L54
295
 300 026e 8091 0000 		lds r24,xbee_pending_channel
296
 301 0272 9091 0000 		lds r25,(xbee_pending_channel)+1
297
 302 0276 9093 0000 		sts (xbee_channel)+1,r25
298
 303 027a 8093 0000 		sts xbee_channel,r24
299
 304 027e 00C0      		rjmp .L54
300
 305               	.L58:
301
 306 0280 8D34      		cpi r24,lo8(77)
302
 307 0282 01F0      		breq .+2
303
 308 0284 00C0      		rjmp .L54
304
 309 0286 9935      		cpi r25,lo8(89)
305
 310 0288 01F0      		breq .+2
306
 311 028a 00C0      		rjmp .L54
307
 312 028c 6550      		subi r22,lo8(-(-5))
308
 313 028e 7040      		sbci r23,hi8(-(-5))
309
 314 0290 01F4      		brne .+2
310
 315 0292 00C0      		rjmp .L54
311
 316 0294 1092 0000 		sts (xbee_address)+1,__zero_reg__
312
 317 0298 1092 0000 		sts xbee_address,__zero_reg__
313
 318 029c 40E0      		ldi r20,lo8(0)
314
 319 029e 50E0      		ldi r21,hi8(0)
315
 320 02a0 E0E0      		ldi r30,lo8(xbee_buf+8)
316
 321 02a2 F0E0      		ldi r31,hi8(xbee_buf+8)
317
 322 02a4 00C0      		rjmp .L64
318
 323               	.L65:
319
 324 02a6 8091 0000 		lds r24,xbee_address
320
 325 02aa 9091 0000 		lds r25,(xbee_address)+1
321
 326 02ae 982F      		mov r25,r24
322
 327 02b0 8827      		clr r24
323
 328 02b2 2191      		ld r18,Z+
324
 329 02b4 820F      		add r24,r18
325
 330 02b6 911D      		adc r25,__zero_reg__
326
 331 02b8 9093 0000 		sts (xbee_address)+1,r25
327
 332 02bc 8093 0000 		sts xbee_address,r24
328
 333 02c0 4F5F      		subi r20,lo8(-(1))
329
 334 02c2 5F4F      		sbci r21,hi8(-(1))
330
 335               	.L64:
331
 336 02c4 4617      		cp r20,r22
332
 337 02c6 5707      		cpc r21,r23
333
 338 02c8 04F0      		brlt .L65
334
 339 02ca 8091 0000 		lds r24,xbee_address
335
 340 02ce 9091 0000 		lds r25,(xbee_address)+1
336
 341 02d2 00C0      		rjmp .L54
337
 342               	.L51:
338
 343 02d4 2097      		sbiw r28,0
339
 344 02d6 01F0      		breq .L77
340
 345 02d8 FE01      		movw r30,r28
341
 346 02da 23E0      		ldi r18,lo8(3)
342
 347 02dc 30E0      		ldi r19,hi8(3)
343
 348 02de A0E0      		ldi r26,lo8(xbee_buf+3)
344
 349 02e0 B0E0      		ldi r27,hi8(xbee_buf+3)
345
 350 02e2 AB01      		movw r20,r22
346
 351 02e4 4D5F      		subi r20,lo8(-(3))
347
 352 02e6 5F4F      		sbci r21,hi8(-(3))
348
 353 02e8 00C0      		rjmp .L68
349
 354               	.L69:
350
 355 02ea 8D91      		ld r24,X+
351
 356 02ec 8193      		st Z+,r24
352
 357 02ee 2F5F      		subi r18,lo8(-(1))
353
 358 02f0 3F4F      		sbci r19,hi8(-(1))
354
 359               	.L68:
355
 360 02f2 2417      		cp r18,r20
356
 361 02f4 3507      		cpc r19,r21
357
 362 02f6 04F0      		brlt .L69
358
 363 02f8 00C0      		rjmp .L40
359
 364               	.L71:
360
 365 02fa 1092 0000 		sts (currentBufPos)+1,__zero_reg__
361
 366 02fe 1092 0000 		sts currentBufPos,__zero_reg__
362
 367 0302 00C0      		rjmp .L77
363
 368               	.L72:
364
 369 0304 5093 0000 		sts (currentBufPos)+1,r21
365
 370 0308 4093 0000 		sts currentBufPos,r20
366
 371               	.L77:
367
 372 030c 6FEF      		ldi r22,lo8(-1)
368
 373 030e 7FEF      		ldi r23,hi8(-1)
369
 374 0310 00C0      		rjmp .L40
370
 375               	.L54:
371
 376 0312 63E0      		ldi r22,lo8(3)
372
 377 0314 70E0      		ldi r23,hi8(3)
373
 378               	.L40:
374
 379 0316 CB01      		movw r24,r22
375
 380               	/* epilogue: frame size=0 */
376
 381 0318 DF91      		pop r29
377
 382 031a CF91      		pop r28
378
 383 031c 0895      		ret
379
 384               	/* epilogue end (size=3) */
380
 385               	/* function xbee_get_packet size 300 (295) */
381
 387               	.global	xbee_get_pan_id
382
 389               	xbee_get_pan_id:
383
 390               	/* prologue: frame size=0 */
384
 391               	/* prologue end (size=0) */
385
 392 031e 8091 0000 		lds r24,xbee_panID
386
 393 0322 9091 0000 		lds r25,(xbee_panID)+1
387
 394               	/* epilogue: frame size=0 */
388
 395 0326 0895      		ret
389
 396               	/* epilogue end (size=1) */
390
 397               	/* function xbee_get_pan_id size 5 (4) */
391
 399               	.global	xbee_get_channel
392
 401               	xbee_get_channel:
393
 402               	/* prologue: frame size=0 */
394
 403               	/* prologue end (size=0) */
395
 404 0328 8091 0000 		lds r24,xbee_channel
396
 405 032c 9091 0000 		lds r25,(xbee_channel)+1
397
 406               	/* epilogue: frame size=0 */
398
 407 0330 0895      		ret
399
 408               	/* epilogue end (size=1) */
400
 409               	/* function xbee_get_channel size 5 (4) */
401
 411               	.global	xbee_get_address
402
 413               	xbee_get_address:
403
 414               	/* prologue: frame size=0 */
404
 415               	/* prologue end (size=0) */
405
 416 0332 8091 0000 		lds r24,xbee_address
406
 417 0336 9091 0000 		lds r25,(xbee_address)+1
407
 418               	/* epilogue: frame size=0 */
408
 419 033a 0895      		ret
409
 420               	/* epilogue end (size=1) */
410
 421               	/* function xbee_get_address size 5 (4) */
411
 424               	xbee_send:
412
 425               	/* prologue: frame size=0 */
413
 426 033c EF92      		push r14
414
 427 033e FF92      		push r15
415
 428 0340 0F93      		push r16
416
 429 0342 1F93      		push r17
417
 430 0344 CF93      		push r28
418
 431 0346 DF93      		push r29
419
 432               	/* prologue end (size=6) */
420
 433 0348 7B01      		movw r14,r22
421
 434 034a C0E0      		ldi r28,lo8(0)
422
 435 034c D0E0      		ldi r29,hi8(0)
423
 436 034e 8C01      		movw r16,r24
424
 437 0350 00C0      		rjmp .L85
425
 438               	.L86:
426
 439 0352 F801      		movw r30,r16
427
 440 0354 8191      		ld r24,Z+
428
 441 0356 8F01      		movw r16,r30
429
 442 0358 0E94 0000 		call xbee_putc
430
 443 035c 2196      		adiw r28,1
431
 444               	.L85:
432
 445 035e CE15      		cp r28,r14
433
 446 0360 DF05      		cpc r29,r15
434
 447 0362 04F0      		brlt .L86
435
 448 0364 80E0      		ldi r24,lo8(0)
436
 449 0366 90E0      		ldi r25,hi8(0)
437
 450               	/* epilogue: frame size=0 */
438
 451 0368 DF91      		pop r29
439
 452 036a CF91      		pop r28
440
 453 036c 1F91      		pop r17
441
 454 036e 0F91      		pop r16
442
 455 0370 FF90      		pop r15
443
 456 0372 EF90      		pop r14
444
 457 0374 0895      		ret
445
 458               	/* epilogue end (size=7) */
446
 459               	/* function xbee_send size 29 (16) */
447
 461               	.global	xbee_send_packet
448
 463               	xbee_send_packet:
449
 464               	/* prologue: frame size=9 */
450
 465 0376 CF92      		push r12
451
 466 0378 DF92      		push r13
452
 467 037a EF92      		push r14
453
 468 037c FF92      		push r15
454
 469 037e 0F93      		push r16
455
 470 0380 CF93      		push r28
456
 471 0382 DF93      		push r29
457
 472 0384 CDB7      		in r28,__SP_L__
458
 473 0386 DEB7      		in r29,__SP_H__
459
 474 0388 2997      		sbiw r28,9
460
 475 038a 0FB6      		in __tmp_reg__,__SREG__
461
 476 038c F894      		cli
462
 477 038e DEBF      		out __SP_H__,r29
463
 478 0390 0FBE      		out __SREG__,__tmp_reg__
464
 479 0392 CDBF      		out __SP_L__,r28
465
 480               	/* prologue end (size=15) */
466
 481 0394 6C01      		movw r12,r24
467
 482 0396 7B01      		movw r14,r22
468
 483 0398 622F      		mov r22,r18
469
 484 039a 85E6      		ldi r24,lo8(101)
470
 485 039c E816      		cp r14,r24
471
 486 039e F104      		cpc r15,__zero_reg__
472
 487 03a0 04F0      		brlt .+2
473
 488 03a2 00C0      		rjmp .L90
474
 489 03a4 81E0      		ldi r24,lo8(1)
475
 490 03a6 8D83      		std Y+5,r24
476
 491 03a8 0E83      		std Y+6,r16
477
 492 03aa 252F      		mov r18,r21
478
 493 03ac 3327      		clr r19
479
 494 03ae 27FD      		sbrc r18,7
480
 495 03b0 3A95      		dec r19
481
 496 03b2 2F83      		std Y+7,r18
482
 497 03b4 4887      		std Y+8,r20
483
 498 03b6 6987      		std Y+9,r22
484
 499 03b8 8EE7      		ldi r24,lo8(126)
485
 500 03ba 8A83      		std Y+2,r24
486
 501 03bc E5E0      		ldi r30,lo8(5)
487
 502 03be F0E0      		ldi r31,hi8(5)
488
 503 03c0 EE0E      		add r14,r30
489
 504 03c2 FF1E      		adc r15,r31
490
 505 03c4 8F2D      		mov r24,r15
491
 506 03c6 9927      		clr r25
492
 507 03c8 EBEF      		ldi r30,lo8(-5)
493
 508 03ca FFEF      		ldi r31,hi8(-5)
494
 509 03cc EE0E      		add r14,r30
495
 510 03ce FF1E      		adc r15,r31
496
 511 03d0 8B83      		std Y+3,r24
497
 512 03d2 8E2D      		mov r24,r14
498
 513 03d4 8B5F      		subi r24,lo8(-(5))
499
 514 03d6 8C83      		std Y+4,r24
500
 515 03d8 802F      		mov r24,r16
501
 516 03da 8F5F      		subi r24,lo8(-(1))
502
 517 03dc 820F      		add r24,r18
503
 518 03de 840F      		add r24,r20
504
 519 03e0 860F      		add r24,r22
505
 520 03e2 8983      		std Y+1,r24
506
 521 03e4 20E0      		ldi r18,lo8(0)
507
 522 03e6 30E0      		ldi r19,hi8(0)
508
 523 03e8 082F      		mov r16,r24
509
 524 03ea F601      		movw r30,r12
510
 525 03ec 00C0      		rjmp .L92
511
 526               	.L93:
512
 527 03ee 8191      		ld r24,Z+
513
 528 03f0 080F      		add r16,r24
514
 529 03f2 2F5F      		subi r18,lo8(-(1))
515
 530 03f4 3F4F      		sbci r19,hi8(-(1))
516
 531               	.L92:
517
 532 03f6 2E15      		cp r18,r14
518
 533 03f8 3F05      		cpc r19,r15
519
 534 03fa 04F0      		brlt .L93
520
 535 03fc 0095      		com r16
521
 536 03fe 0983      		std Y+1,r16
522
 537 0400 63E0      		ldi r22,lo8(3)
523
 538 0402 70E0      		ldi r23,hi8(3)
524
 539 0404 CE01      		movw r24,r28
525
 540 0406 0296      		adiw r24,2
526
 541 0408 0E94 0000 		call xbee_send
527
 542 040c 892B      		or r24,r25
528
 543 040e 01F4      		brne .L90
529
 544 0410 65E0      		ldi r22,lo8(5)
530
 545 0412 70E0      		ldi r23,hi8(5)
531
 546 0414 CE01      		movw r24,r28
532
 547 0416 0596      		adiw r24,5
533
 548 0418 0E94 0000 		call xbee_send
534
 549 041c 892B      		or r24,r25
535
 550 041e 01F4      		brne .L90
536
 551 0420 B701      		movw r22,r14
537
 552 0422 C601      		movw r24,r12
538
 553 0424 0E94 0000 		call xbee_send
539
 554 0428 892B      		or r24,r25
540
 555 042a 01F4      		brne .L90
541
 556 042c 61E0      		ldi r22,lo8(1)
542
 557 042e 70E0      		ldi r23,hi8(1)
543
 558 0430 CE01      		movw r24,r28
544
 559 0432 0196      		adiw r24,1
545
 560 0434 0E94 0000 		call xbee_send
546
 561 0438 892B      		or r24,r25
547
 562 043a 01F4      		brne .L90
548
 563 043c 80E0      		ldi r24,lo8(0)
549
 564 043e 90E0      		ldi r25,hi8(0)
550
 565 0440 00C0      		rjmp .L99
551
 566               	.L90:
552
 567 0442 8FEF      		ldi r24,lo8(-1)
553
 568 0444 9FEF      		ldi r25,hi8(-1)
554
 569               	.L99:
555
 570               	/* epilogue: frame size=9 */
556
 571 0446 2996      		adiw r28,9
557
 572 0448 0FB6      		in __tmp_reg__,__SREG__
558
 573 044a F894      		cli
559
 574 044c DEBF      		out __SP_H__,r29
560
 575 044e 0FBE      		out __SREG__,__tmp_reg__
561
 576 0450 CDBF      		out __SP_L__,r28
562
 577 0452 DF91      		pop r29
563
 578 0454 CF91      		pop r28
564
 579 0456 0F91      		pop r16
565
 580 0458 FF90      		pop r15
566
 581 045a EF90      		pop r14
567
 582 045c DF90      		pop r13
568
 583 045e CF90      		pop r12
569
 584 0460 0895      		ret
570
 585               	/* epilogue end (size=14) */
571
 586               	/* function xbee_send_packet size 118 (89) */
572
 589               	xbee_send_modify_at_command:
573
 590               	/* prologue: frame size=20 */
574
 591 0462 0F93      		push r16
575
 592 0464 1F93      		push r17
576
 593 0466 CF93      		push r28
577
 594 0468 DF93      		push r29
578
 595 046a CDB7      		in r28,__SP_L__
579
 596 046c DEB7      		in r29,__SP_H__
580
 597 046e 6497      		sbiw r28,20
581
 598 0470 0FB6      		in __tmp_reg__,__SREG__
582
 599 0472 F894      		cli
583
 600 0474 DEBF      		out __SP_H__,r29
584
 601 0476 0FBE      		out __SREG__,__tmp_reg__
585
 602 0478 CDBF      		out __SP_L__,r28
586
 603               	/* prologue end (size=12) */
587
 604 047a FC01      		movw r30,r24
588
 605 047c 88E0      		ldi r24,lo8(8)
589
 606 047e 8D83      		std Y+5,r24
590
 607 0480 81E0      		ldi r24,lo8(1)
591
 608 0482 8E83      		std Y+6,r24
592
 609 0484 8081      		ld r24,Z
593
 610 0486 8F83      		std Y+7,r24
594
 611 0488 8181      		ldd r24,Z+1
595
 612 048a 8887      		std Y+8,r24
596
 613 048c 6115      		cp r22,__zero_reg__
597
 614 048e 7105      		cpc r23,__zero_reg__
598
 615 0490 01F4      		brne .L103
599
 616 0492 E0E0      		ldi r30,lo8(0)
600
 617 0494 F0E0      		ldi r31,hi8(0)
601
 618 0496 00C0      		rjmp .L105
602
 619               	.L103:
603
 620 0498 FB01      		movw r30,r22
604
 621 049a 0190      		ld __tmp_reg__,Z+
605
 622 049c 0020      		tst __tmp_reg__
606
 623 049e 01F4      		brne .-6
607
 624 04a0 3197      		sbiw r30,1
608
 625 04a2 E61B      		sub r30,r22
609
 626 04a4 F70B      		sbc r31,r23
610
 627 04a6 E930      		cpi r30,9
611
 628 04a8 F105      		cpc r31,__zero_reg__
612
 629 04aa 04F0      		brlt .+2
613
 630 04ac 00C0      		rjmp .L106
614
 631 04ae 20E0      		ldi r18,lo8(0)
615
 632 04b0 30E0      		ldi r19,hi8(0)
616
 633 04b2 AE01      		movw r20,r28
617
 634 04b4 475F      		subi r20,lo8(-(9))
618
 635 04b6 5F4F      		sbci r21,hi8(-(9))
619
 636 04b8 00C0      		rjmp .L108
620
 637               	.L109:
621
 638 04ba DB01      		movw r26,r22
622
 639 04bc 8D91      		ld r24,X+
623
 640 04be BD01      		movw r22,r26
624
 641 04c0 DA01      		movw r26,r20
625
 642 04c2 8D93      		st X+,r24
626
 643 04c4 AD01      		movw r20,r26
627
 644 04c6 2F5F      		subi r18,lo8(-(1))
628
 645 04c8 3F4F      		sbci r19,hi8(-(1))
629
 646               	.L108:
630
 647 04ca 2E17      		cp r18,r30
631
 648 04cc 3F07      		cpc r19,r31
632
 649 04ce 04F0      		brlt .L109
633
 650               	.L105:
634
 651 04d0 8F01      		movw r16,r30
635
 652 04d2 0C5F      		subi r16,lo8(-(4))
636
 653 04d4 1F4F      		sbci r17,hi8(-(4))
637
 654 04d6 8EE7      		ldi r24,lo8(126)
638
 655 04d8 8A83      		std Y+2,r24
639
 656 04da 812F      		mov r24,r17
640
 657 04dc 9927      		clr r25
641
 658 04de 8B83      		std Y+3,r24
642
 659 04e0 402F      		mov r20,r16
643
 660 04e2 20E0      		ldi r18,lo8(0)
644
 661 04e4 30E0      		ldi r19,hi8(0)
645
 662 04e6 90E0      		ldi r25,lo8(0)
646
 663 04e8 FE01      		movw r30,r28
647
 664 04ea 3596      		adiw r30,5
648
 665 04ec 00C0      		rjmp .L110
649
 666               	.L111:
650
 667 04ee 8191      		ld r24,Z+
651
 668 04f0 980F      		add r25,r24
652
 669 04f2 2F5F      		subi r18,lo8(-(1))
653
 670 04f4 3F4F      		sbci r19,hi8(-(1))
654
 671               	.L110:
655
 672 04f6 2017      		cp r18,r16
656
 673 04f8 3107      		cpc r19,r17
657
 674 04fa 04F0      		brlt .L111
658
 675 04fc 9095      		com r25
659
 676 04fe 9983      		std Y+1,r25
660
 677 0500 4C83      		std Y+4,r20
661
 678 0502 63E0      		ldi r22,lo8(3)
662
 679 0504 70E0      		ldi r23,hi8(3)
663
 680 0506 CE01      		movw r24,r28
664
 681 0508 0296      		adiw r24,2
665
 682 050a 0E94 0000 		call xbee_send
666
 683 050e 892B      		or r24,r25
667
 684 0510 01F4      		brne .L106
668
 685 0512 B801      		movw r22,r16
669
 686 0514 CE01      		movw r24,r28
670
 687 0516 0596      		adiw r24,5
671
 688 0518 0E94 0000 		call xbee_send
672
 689 051c 892B      		or r24,r25
673
 690 051e 01F4      		brne .L106
674
 691 0520 61E0      		ldi r22,lo8(1)
675
 692 0522 70E0      		ldi r23,hi8(1)
676
 693 0524 CE01      		movw r24,r28
677
 694 0526 0196      		adiw r24,1
678
 695 0528 0E94 0000 		call xbee_send
679
 696 052c 892B      		or r24,r25
680
 697 052e 01F4      		brne .L106
681
 698 0530 80E0      		ldi r24,lo8(0)
682
 699 0532 90E0      		ldi r25,hi8(0)
683
 700 0534 00C0      		rjmp .L116
684
 701               	.L106:
685
 702 0536 8FEF      		ldi r24,lo8(-1)
686
 703 0538 9FEF      		ldi r25,hi8(-1)
687
 704               	.L116:
688
 705               	/* epilogue: frame size=20 */
689
 706 053a 6496      		adiw r28,20
690
 707 053c 0FB6      		in __tmp_reg__,__SREG__
691
 708 053e F894      		cli
692
 709 0540 DEBF      		out __SP_H__,r29
693
 710 0542 0FBE      		out __SREG__,__tmp_reg__
694
 711 0544 CDBF      		out __SP_L__,r28
695
 712 0546 DF91      		pop r29
696
 713 0548 CF91      		pop r28
697
 714 054a 1F91      		pop r17
698
 715 054c 0F91      		pop r16
699
 716 054e 0895      		ret
700
 717               	/* epilogue end (size=11) */
701
 718               	/* function xbee_send_modify_at_command size 119 (96) */
702
 720               		.data
703
 721               	.LC1:
704
 722 0004 4348 00   		.string	"CH"
705
 723               		.text
706
 724               	.global	xbee_set_channel
707
 726               	xbee_set_channel:
708
 727               	/* prologue: frame size=3 */
709
 728 0550 CF93      		push r28
710
 729 0552 DF93      		push r29
711
 730 0554 CDB7      		in r28,__SP_L__
712
 731 0556 DEB7      		in r29,__SP_H__
713
 732 0558 2397      		sbiw r28,3
714
 733 055a 0FB6      		in __tmp_reg__,__SREG__
715
 734 055c F894      		cli
716
 735 055e DEBF      		out __SP_H__,r29
717
 736 0560 0FBE      		out __SREG__,__tmp_reg__
718
 737 0562 CDBF      		out __SP_L__,r28
719
 738               	/* prologue end (size=10) */
720
 739 0564 9C01      		movw r18,r24
721
 740 0566 0B97      		sbiw r24,11
722
 741 0568 4097      		sbiw r24,16
723
 742 056a 00F0      		brlo .L119
724
 743 056c 8FEF      		ldi r24,lo8(-1)
725
 744 056e 9FEF      		ldi r25,hi8(-1)
726
 745 0570 00C0      		rjmp .L121
727
 746               	.L119:
728
 747 0572 2983      		std Y+1,r18
729
 748 0574 1A82      		std Y+2,__zero_reg__
730
 749 0576 3093 0000 		sts (xbee_pending_channel)+1,r19
731
 750 057a 2093 0000 		sts xbee_pending_channel,r18
732
 751 057e BE01      		movw r22,r28
733
 752 0580 6F5F      		subi r22,lo8(-(1))
734
 753 0582 7F4F      		sbci r23,hi8(-(1))
735
 754 0584 80E0      		ldi r24,lo8(.LC1)
736
 755 0586 90E0      		ldi r25,hi8(.LC1)
737
 756 0588 0E94 0000 		call xbee_send_modify_at_command
738
 757               	.L121:
739
 758               	/* epilogue: frame size=3 */
740
 759 058c 2396      		adiw r28,3
741
 760 058e 0FB6      		in __tmp_reg__,__SREG__
742
 761 0590 F894      		cli
743
 762 0592 DEBF      		out __SP_H__,r29
744
 763 0594 0FBE      		out __SREG__,__tmp_reg__
745
 764 0596 CDBF      		out __SP_L__,r28
746
 765 0598 DF91      		pop r29
747
 766 059a CF91      		pop r28
748
 767 059c 0895      		ret
749
 768               	/* epilogue end (size=9) */
750
 769               	/* function xbee_set_channel size 40 (21) */
751
 771               		.data
752
 772               	.LC2:
753
 773 0007 4944 00   		.string	"ID"
754
 774               		.text
755
 775               	.global	xbee_set_pan_id
756
 777               	xbee_set_pan_id:
757
 778               	/* prologue: frame size=3 */
758
 779 059e CF93      		push r28
759
 780 05a0 DF93      		push r29
760
 781 05a2 CDB7      		in r28,__SP_L__
761
 782 05a4 DEB7      		in r29,__SP_H__
762
 783 05a6 2397      		sbiw r28,3
763
 784 05a8 0FB6      		in __tmp_reg__,__SREG__
764
 785 05aa F894      		cli
765
 786 05ac DEBF      		out __SP_H__,r29
766
 787 05ae 0FBE      		out __SREG__,__tmp_reg__
767
 788 05b0 CDBF      		out __SP_L__,r28
768
 789               	/* prologue end (size=10) */
769
 790 05b2 292F      		mov r18,r25
770
 791 05b4 3327      		clr r19
771
 792 05b6 27FD      		sbrc r18,7
772
 793 05b8 3A95      		dec r19
773
 794 05ba 2983      		std Y+1,r18
774
 795 05bc 8A83      		std Y+2,r24
775
 796 05be 1B82      		std Y+3,__zero_reg__
776
 797 05c0 9093 0000 		sts (xbee_pending_panID)+1,r25
777
 798 05c4 8093 0000 		sts xbee_pending_panID,r24
778
 799 05c8 BE01      		movw r22,r28
779
 800 05ca 6F5F      		subi r22,lo8(-(1))
780
 801 05cc 7F4F      		sbci r23,hi8(-(1))
781
 802 05ce 80E0      		ldi r24,lo8(.LC2)
782
 803 05d0 90E0      		ldi r25,hi8(.LC2)
783
 804 05d2 0E94 0000 		call xbee_send_modify_at_command
784
 805               	/* epilogue: frame size=3 */
785
 806 05d6 2396      		adiw r28,3
786
 807 05d8 0FB6      		in __tmp_reg__,__SREG__
787
 808 05da F894      		cli
788
 809 05dc DEBF      		out __SP_H__,r29
789
 810 05de 0FBE      		out __SREG__,__tmp_reg__
790
 811 05e0 CDBF      		out __SP_L__,r28
791
 812 05e2 DF91      		pop r29
792
 813 05e4 CF91      		pop r28
793
 814 05e6 0895      		ret
794
 815               	/* epilogue end (size=9) */
795
 816               	/* function xbee_set_pan_id size 37 (18) */
796
 819               	xbee_send_read_at_command:
797
 820               	/* prologue: frame size=0 */
798
 821               	/* prologue end (size=0) */
799
 822 05e8 60E0      		ldi r22,lo8(0)
800
 823 05ea 70E0      		ldi r23,hi8(0)
801
 824 05ec 0E94 0000 		call xbee_send_modify_at_command
802
 825               	/* epilogue: frame size=0 */
803
 826 05f0 0895      		ret
804
 827               	/* epilogue end (size=1) */
805
 828               	/* function xbee_send_read_at_command size 5 (4) */
806
 830               		.data
807
 831               	.LC3:
808
 832 000a 3300      		.string	"3"
809
 833               	.LC4:
810
 834 000c 4244 00   		.string	"BD"
811
 835               	.LC5:
812
 836 000f 4652 00   		.string	"FR"
813
 837               		.text
814
 838               	.global	xbee_reset
815
 840               	xbee_reset:
816
 841               	/* prologue: frame size=0 */
817
 842               	/* prologue end (size=0) */
818
 843 05f2 60E0      		ldi r22,lo8(.LC3)
819
 844 05f4 70E0      		ldi r23,hi8(.LC3)
820
 845 05f6 80E0      		ldi r24,lo8(.LC4)
821
 846 05f8 90E0      		ldi r25,hi8(.LC4)
822
 847 05fa 0E94 0000 		call xbee_send_modify_at_command
823
 848 05fe 80E0      		ldi r24,lo8(.LC5)
824
 849 0600 90E0      		ldi r25,hi8(.LC5)
825
 850 0602 0E94 0000 		call xbee_send_read_at_command
826
 851 0606 80E0      		ldi r24,lo8(0)
827
 852 0608 90E0      		ldi r25,hi8(0)
828
 853               	/* #APP */
829
 854 060a 0197      		1: sbiw r24,1
830
 855 060c 01F4      		brne 1b
831
 856               	/* #NOAPP */
832
 857 060e 80E0      		ldi r24,lo8(0)
833
 858 0610 90E0      		ldi r25,hi8(0)
834
 859               	/* epilogue: frame size=0 */
835
 860 0612 0895      		ret
836
 861               	/* epilogue end (size=1) */
837
 862               	/* function xbee_reset size 19 (18) */
838
 864               		.data
839
 865               	.LC6:
840
 866 0012 3000      		.string	"0"
841
 867               	.LC7:
842
 868 0014 4150 00   		.string	"AP"
843
 869               		.text
844
 870               	.global	xbee_terminate
845
 872               	xbee_terminate:
846
 873               	/* prologue: frame size=0 */
847
 874               	/* prologue end (size=0) */
848
 875 0614 60E0      		ldi r22,lo8(.LC6)
849
 876 0616 70E0      		ldi r23,hi8(.LC6)
850
 877 0618 80E0      		ldi r24,lo8(.LC7)
851
 878 061a 90E0      		ldi r25,hi8(.LC7)
852
 879 061c 0E94 0000 		call xbee_send_modify_at_command
853
 880               	/* epilogue: frame size=0 */
854
 881 0620 0895      		ret
855
 882               	/* epilogue end (size=1) */
856
 883               	/* function xbee_terminate size 7 (6) */
857
 886               	xbee_send_string:
858
 887               	/* prologue: frame size=0 */
859
 888               	/* prologue end (size=0) */
860
 889 0622 FC01      		movw r30,r24
861
 890 0624 0190      		ld __tmp_reg__,Z+
862
 891 0626 0020      		tst __tmp_reg__
863
 892 0628 01F4      		brne .-6
864
 893 062a 3197      		sbiw r30,1
865
 894 062c E81B      		sub r30,r24
866
 895 062e F90B      		sbc r31,r25
867
 896 0630 BF01      		movw r22,r30
868
 897 0632 0E94 0000 		call xbee_send
869
 898               	/* epilogue: frame size=0 */
870
 899 0636 0895      		ret
871
 900               	/* epilogue end (size=1) */
872
 901               	/* function xbee_send_string size 11 (10) */
873
 903               		.data
874
 904               	.LC8:
875
 905 0017 2B2B 2B00 		.string	"+++"
876
 906               	.LC9:
877
 907 001b 4154 434E 		.string	"ATCN\r"
878
 907      0D00
879
 908               	.LC10:
880
 909 0021 4D59 00   		.string	"MY"
881
 910               	.LC11:
882
 911 0024 4154 4150 		.string	"ATAP 1\r"
883
 911      2031 0D00
884
 912               		.text
885
 913               	.global	xbee_lib_init
886
 915               	xbee_lib_init:
887
 916               	/* prologue: frame size=0 */
888
 917               	/* prologue end (size=0) */
889
 918 0638 8091 9A00 		lds r24,154
890
 919 063c 8068      		ori r24,lo8(-128)
891
 920 063e 8093 9A00 		sts 154,r24
892
 921               	/* #APP */
893
 922 0642 7894      		sei
894
 923               	/* #NOAPP */
895
 924 0644 80E0      		ldi r24,lo8(.LC8)
896
 925 0646 90E0      		ldi r25,hi8(.LC8)
897
 926 0648 0E94 0000 		call xbee_send_string
898
 927 064c 892B      		or r24,r25
899
 928 064e 01F4      		brne .L134
900
 929 0650 0E94 0000 		call xbee_wait_for_ok
901
 930 0654 892B      		or r24,r25
902
 931 0656 01F4      		brne .L134
903
 932 0658 00C0      		rjmp .L144
904
 933               	.L146:
905
 934 065a 0E94 0000 		call xbee_wait_for_ok
906
 935 065e 80E0      		ldi r24,lo8(.LC9)
907
 936 0660 90E0      		ldi r25,hi8(.LC9)
908
 937 0662 0E94 0000 		call xbee_send_string
909
 938 0666 892B      		or r24,r25
910
 939 0668 01F4      		brne .L134
911
 940 066a 0E94 0000 		call xbee_wait_for_ok
912
 941 066e 80E0      		ldi r24,lo8(.LC10)
913
 942 0670 90E0      		ldi r25,hi8(.LC10)
914
 943 0672 0E94 0000 		call xbee_send_read_at_command
915
 944 0676 892B      		or r24,r25
916
 945 0678 01F0      		breq .L145
917
 946 067a 00C0      		rjmp .L134
918
 947               	.L140:
919
 948 067c 80E0      		ldi r24,lo8(0)
920
 949 067e 90E0      		ldi r25,hi8(0)
921
 950 0680 0E94 0000 		call xbee_get_packet
922
 951               	.L145:
923
 952 0684 8091 0000 		lds r24,xbee_address
924
 953 0688 9091 0000 		lds r25,(xbee_address)+1
925
 954 068c 892B      		or r24,r25
926
 955 068e 01F0      		breq .L140
927
 956 0690 80E0      		ldi r24,lo8(0)
928
 957 0692 90E0      		ldi r25,hi8(0)
929
 958 0694 0895      		ret
930
 959               	.L134:
931
 960 0696 8FEF      		ldi r24,lo8(-1)
932
 961 0698 9FEF      		ldi r25,hi8(-1)
933
 962 069a 0895      		ret
934
 963               	.L144:
935
 964 069c 80E0      		ldi r24,lo8(.LC11)
936
 965 069e 90E0      		ldi r25,hi8(.LC11)
937
 966 06a0 0E94 0000 		call xbee_send_string
938
 967 06a4 892B      		or r24,r25
939
 968 06a6 01F0      		breq .L146
940
 969 06a8 00C0      		rjmp .L134
941
 970               	/* epilogue: frame size=0 */
942
 971               	/* epilogue: noreturn */
943
 972               	/* epilogue end (size=0) */
944
 973               	/* function xbee_lib_init size 58 (58) */
945
 975               	.global	buffer_last
946
 976               	.global	buffer_last
947
 977               		.section .bss
948
 980               	buffer_last:
949
 981 0000 0000      		.skip 2,0
950
 982               	.global	buffer_first
951
 983               	.global	buffer_first
952
 986               	buffer_first:
953
 987 0002 0000      		.skip 2,0
954
 988               		.lcomm xbee_address,2
955
 989               		.lcomm xbee_channel,2
956
 990               		.lcomm xbee_pending_channel,2
957
 991               		.data
958
 994               	xbee_panID:
959
 995 002c FFFF      		.word	-1
960
 998               	xbee_pending_panID:
961
 999 002e FFFF      		.word	-1
962
 1000               		.lcomm currentBufPos,2
963
 1001               		.lcomm xbee_buf,108
964
 1002               		.comm arrival_buf,128,1
965
 1003               	/* File "xbee.c": code  860 = 0x035c ( 722), prologues  66, epilogues  72 */
966
DEFINED SYMBOLS
967
                            *ABS*:00000000 xbee.c
968 1694 emullini
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:3      *ABS*:0000003f __SREG__
969
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:4      *ABS*:0000003e __SP_H__
970
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:5      *ABS*:0000003d __SP_L__
971
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:6      *ABS*:00000000 __tmp_reg__
972
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:7      *ABS*:00000001 __zero_reg__
973
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:13     .text:00000000 __vector_30
974
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:980    .bss:00000000 buffer_last
975 1693 emullini
                            *COM*:00000080 arrival_buf
976 1694 emullini
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:986    .bss:00000002 buffer_first
977
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:67     .text:00000064 xbee_wait_for_ok
978
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:120    .text:000000ca xbee_get_packet
979
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:990    .bss:0000000a currentBufPos
980
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:1000   .bss:0000000c xbee_buf
981
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:998    .data:0000002e xbee_pending_panID
982
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:994    .data:0000002c xbee_panID
983
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:989    .bss:00000008 xbee_pending_channel
984
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:988    .bss:00000006 xbee_channel
985 1693 emullini
                             .bss:00000004 xbee_address
986 1694 emullini
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:389    .text:0000031e xbee_get_pan_id
987
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:401    .text:00000328 xbee_get_channel
988
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:413    .text:00000332 xbee_get_address
989
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:424    .text:0000033c xbee_send
990
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:463    .text:00000376 xbee_send_packet
991
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:589    .text:00000462 xbee_send_modify_at_command
992
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:726    .text:00000550 xbee_set_channel
993
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:777    .text:0000059e xbee_set_pan_id
994
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:819    .text:000005e8 xbee_send_read_at_command
995
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:840    .text:000005f2 xbee_reset
996
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:872    .text:00000614 xbee_terminate
997
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:886    .text:00000622 xbee_send_string
998
F:\DOCUME~1\Evan\LOCALS~1\Temp/ccMrpJ1L.s:915    .text:00000638 xbee_lib_init
999 1693 emullini
1000
UNDEFINED SYMBOLS
1001
__do_copy_data
1002
__do_clear_bss
1003
xbee_putc