Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1997 - 1
   1               		.file	"eeprom.c"
2
   2               		.arch atmega1284p
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
  12               	eeprom_read_byte:
12
  13               	/* prologue: frame size=0 */
13
  14               	/* prologue end (size=0) */
14
  15               	.L2:
15
  16 0000 F999      		sbic 63-0x20,1
16
  17 0002 00C0      		rjmp .L2
17
  18 0004 92BD      		out (65)+1-0x20,r25
18
  19 0006 81BD      		out 65-0x20,r24
19
  20               	/* #APP */
20
  21               		/* START EEPROM READ CRITICAL SECTION */
21
  22 0008 F89A      		sbi 31, 0
22
  23 000a 80B5      		in r24, 32
23
  24               		/* END EEPROM READ CRITICAL SECTION */
24
  25
25
  26               	/* #NOAPP */
26
  27 000c 9927      		clr r25
27
  28               	/* epilogue: frame size=0 */
28
  29 000e 0895      		ret
29
  30               	/* epilogue end (size=1) */
30
  31               	/* function eeprom_read_byte size 16 (15) */
31
  34               	eeprom_write_byte:
32
  35               	/* prologue: frame size=0 */
33
  36               	/* prologue end (size=0) */
34
  37               	.L6:
35
  38 0010 F999      		sbic 63-0x20,1
36
  39 0012 00C0      		rjmp .L6
37
  40 0014 1FBA      		out 63-0x20,__zero_reg__
38
  41 0016 92BD      		out (65)+1-0x20,r25
39
  42 0018 81BD      		out 65-0x20,r24
40
  43 001a 60BD      		out 64-0x20,r22
41
  44               	/* #APP */
42
  45               		/* START EEPROM WRITE CRITICAL SECTION */
43
  46 001c 0FB6      		in	r0, 63
44
  47 001e F894      		cli
45
  48 0020 FA9A      		sbi	31, 2
46
  49 0022 F99A      		sbi	31, 1
47
  50 0024 0FBE      		out	63, r0
48
  51               		/* END EEPROM WRITE CRITICAL SECTION */
49
  52               	/* #NOAPP */
50
  53               	/* epilogue: frame size=0 */
51
  54 0026 0895      		ret
52
  55               	/* epilogue end (size=1) */
53
  56               	/* function eeprom_write_byte size 21 (20) */
54
  58               	.global	RAM_Checksum
55
  60               	RAM_Checksum:
56
  61               	/* prologue: frame size=0 */
57
  62               	/* prologue end (size=0) */
58
  63 0028 4AEA      		ldi r20,lo8(-86)
59
  64 002a 20E0      		ldi r18,lo8(0)
60
  65 002c 30E0      		ldi r19,hi8(0)
61
  66 002e 2617      		cp r18,r22
62
  67 0030 3707      		cpc r19,r23
63
  68 0032 00F4      		brsh .L15
64
  69 0034 FC01      		movw r30,r24
65
  70               	.L13:
66
  71 0036 8191      		ld r24,Z+
67
  72 0038 480F      		add r20,r24
68
  73 003a 2F5F      		subi r18,lo8(-(1))
69
  74 003c 3F4F      		sbci r19,hi8(-(1))
70
  75 003e 2617      		cp r18,r22
71
  76 0040 3707      		cpc r19,r23
72
  77 0042 00F0      		brlo .L13
73
  78               	.L15:
74
  79 0044 842F      		mov r24,r20
75
  80 0046 9927      		clr r25
76
  81               	/* epilogue: frame size=0 */
77
  82 0048 0895      		ret
78
  83               	/* epilogue end (size=1) */
79
  84               	/* function RAM_Checksum size 17 (16) */
80
  86               	.global	EEProm_Checksum
81
  88               	EEProm_Checksum:
82
  89               	/* prologue: frame size=0 */
83
  90               	/* prologue end (size=0) */
84
  91 004a EAEA      		ldi r30,lo8(-86)
85
  92 004c 40E0      		ldi r20,lo8(0)
86
  93 004e 50E0      		ldi r21,hi8(0)
87
  94 0050 4617      		cp r20,r22
88
  95 0052 5707      		cpc r21,r23
89
  96 0054 00F4      		brsh .L26
90
  97 0056 9C01      		movw r18,r24
91
  98               	.L30:
92
  99 0058 F999      		sbic 63-0x20,1
93
 100 005a 00C0      		rjmp .L30
94
 101 005c 32BD      		out (65)+1-0x20,r19
95
 102 005e 21BD      		out 65-0x20,r18
96
 103               	/* #APP */
97
 104               		/* START EEPROM READ CRITICAL SECTION */
98
 105 0060 F89A      		sbi 31, 0
99
 106 0062 80B5      		in r24, 32
100
 107               		/* END EEPROM READ CRITICAL SECTION */
101
 108
102
 109               	/* #NOAPP */
103
 110 0064 E80F      		add r30,r24
104
 111 0066 4F5F      		subi r20,lo8(-(1))
105
 112 0068 5F4F      		sbci r21,hi8(-(1))
106
 113 006a 2F5F      		subi r18,lo8(-(1))
107
 114 006c 3F4F      		sbci r19,hi8(-(1))
108
 115 006e 4617      		cp r20,r22
109
 116 0070 5707      		cpc r21,r23
110
 117 0072 00F0      		brlo .L30
111
 118               	.L26:
112
 119 0074 8E2F      		mov r24,r30
113
 120 0076 9927      		clr r25
114
 121               	/* epilogue: frame size=0 */
115
 122 0078 0895      		ret
116
 123               	/* epilogue end (size=1) */
117
 124               	/* function EEProm_Checksum size 32 (31) */
118
 126               	.global	ParamSet_DefaultStickMapping
119
 128               	ParamSet_DefaultStickMapping:
120
 129               	/* prologue: frame size=0 */
121
 130               	/* prologue end (size=0) */
122
 131 007a 81E0      		ldi r24,lo8(1)
123
 132 007c 8093 0000 		sts EE_Parameter+3,r24
124
 133 0080 82E0      		ldi r24,lo8(2)
125
 134 0082 8093 0000 		sts EE_Parameter+2,r24
126
 135 0086 83E0      		ldi r24,lo8(3)
127
 136 0088 8093 0000 		sts EE_Parameter+1,r24
128
 137 008c 84E0      		ldi r24,lo8(4)
129
 138 008e 8093 0000 		sts EE_Parameter+4,r24
130
 139 0092 85E0      		ldi r24,lo8(5)
131
 140 0094 8093 0000 		sts EE_Parameter+5,r24
132
 141 0098 86E0      		ldi r24,lo8(6)
133
 142 009a 8093 0000 		sts EE_Parameter+6,r24
134
 143 009e 87E0      		ldi r24,lo8(7)
135
 144 00a0 8093 0000 		sts EE_Parameter+7,r24
136
 145 00a4 88E0      		ldi r24,lo8(8)
137
 146 00a6 8093 0000 		sts EE_Parameter+8,r24
138
 147 00aa 89E0      		ldi r24,lo8(9)
139
 148 00ac 8093 0000 		sts EE_Parameter+9,r24
140
 149 00b0 8AE0      		ldi r24,lo8(10)
141
 150 00b2 8093 0000 		sts EE_Parameter+10,r24
142
 151 00b6 8BE0      		ldi r24,lo8(11)
143
 152 00b8 8093 0000 		sts EE_Parameter+11,r24
144
 153 00bc 8CE0      		ldi r24,lo8(12)
145
 154 00be 8093 0000 		sts EE_Parameter+12,r24
146
 155               	/* epilogue: frame size=0 */
147
 156 00c2 0895      		ret
148
 157               	/* epilogue end (size=1) */
149
 158               	/* function ParamSet_DefaultStickMapping size 37 (36) */
150
 160               	.global	CommonDefaults
151
 162               	CommonDefaults:
152
 163               	/* prologue: frame size=0 */
153
 164               	/* prologue end (size=0) */
154
 165 00c4 88E5      		ldi r24,lo8(88)
155
 166 00c6 8093 0000 		sts EE_Parameter,r24
156
 167 00ca 8091 0000 		lds r24,PlatinenVersion
157
 168 00ce 8431      		cpi r24,lo8(20)
158
 169 00d0 00F0      		brlo .L33
159
 170 00d2 8AE0      		ldi r24,lo8(10)
160
 171 00d4 8093 0000 		sts EE_Parameter+32,r24
161
 172 00d8 1092 0000 		sts EE_Parameter+68,__zero_reg__
162
 173 00dc 8BE1      		ldi r24,lo8(27)
163
 174 00de 8093 0000 		sts EE_Parameter+28,r24
164
 175 00e2 8EE4      		ldi r24,lo8(78)
165
 176 00e4 00C0      		rjmp .L35
166
 177               	.L33:
167
 178 00e6 83E0      		ldi r24,lo8(3)
168
 179 00e8 8093 0000 		sts EE_Parameter+32,r24
169
 180 00ec 80E2      		ldi r24,lo8(32)
170
 181 00ee 8093 0000 		sts EE_Parameter+68,r24
171
 182 00f2 8EE1      		ldi r24,lo8(30)
172
 183 00f4 8093 0000 		sts EE_Parameter+28,r24
173
 184 00f8 85E5      		ldi r24,lo8(85)
174
 185               	.L35:
175
 186 00fa 8093 0000 		sts EE_Parameter+65,r24
176
 187 00fe 8093 0000 		sts EE_Parameter+66,r24
177
 188 0102 80E2      		ldi r24,lo8(32)
178
 189 0104 8093 0000 		sts EE_Parameter+67,r24
179
 190 0108 8AE6      		ldi r24,lo8(106)
180
 191 010a 8093 0000 		sts EE_Parameter+13,r24
181
 192 010e 82E2      		ldi r24,lo8(34)
182
 193 0110 8093 0000 		sts EE_Parameter+106,r24
183
 194 0114 64E0      		ldi r22,lo8(4)
184
 195 0116 6093 0000 		sts EE_Parameter+39,r22
185
 196 011a 1092 0000 		sts EE_Parameter+99,__zero_reg__
186
 197 011e 1092 0000 		sts EE_Parameter+96,__zero_reg__
187
 198 0122 48E0      		ldi r20,lo8(8)
188
 199 0124 4093 0000 		sts EE_Parameter+26,r20
189
 200 0128 56EE      		ldi r21,lo8(-26)
190
 201 012a 5093 0000 		sts EE_Parameter+27,r21
191
 202 012e 30E4      		ldi r19,lo8(64)
192
 203 0130 3093 0000 		sts EE_Parameter+29,r19
193
 204 0134 9EE1      		ldi r25,lo8(30)
194
 205 0136 9093 0000 		sts EE_Parameter+14,r25
195
 206 013a 8FEF      		ldi r24,lo8(-1)
196
 207 013c 8093 0000 		sts EE_Parameter+16,r24
197
 208 0140 2FE0      		ldi r18,lo8(15)
198
 209 0142 2093 0000 		sts EE_Parameter+17,r18
199
 210 0146 9093 0000 		sts EE_Parameter+15,r25
200
 211 014a 1092 0000 		sts EE_Parameter+19,__zero_reg__
201
 212 014e 4093 0000 		sts EE_Parameter+20,r20
202
 213 0152 3093 0000 		sts EE_Parameter+21,r19
203
 214 0156 1092 0000 		sts EE_Parameter+22,__zero_reg__
204
 215 015a 2093 0000 		sts EE_Parameter+18,r18
205
 216 015e 1092 0000 		sts EE_Parameter+41,__zero_reg__
206
 217 0162 1092 0000 		sts EE_Parameter+42,__zero_reg__
207
 218 0166 1092 0000 		sts EE_Parameter+43,__zero_reg__
208
 219 016a 1092 0000 		sts EE_Parameter+44,__zero_reg__
209
 220 016e 1092 0000 		sts EE_Parameter+70,__zero_reg__
210
 221 0172 1092 0000 		sts EE_Parameter+71,__zero_reg__
211
 222 0176 1092 0000 		sts EE_Parameter+72,__zero_reg__
212
 223 017a 1092 0000 		sts EE_Parameter+73,__zero_reg__
213
 224 017e 90E8      		ldi r25,lo8(-128)
214
 225 0180 9093 0000 		sts EE_Parameter+45,r25
215
 226 0184 32E3      		ldi r19,lo8(50)
216
 227 0186 3093 0000 		sts EE_Parameter+46,r19
217
 228 018a 82E0      		ldi r24,lo8(2)
218
 229 018c 8093 0000 		sts EE_Parameter+105,r24
219
 230 0190 2093 0000 		sts EE_Parameter+47,r18
220
 231 0194 5093 0000 		sts EE_Parameter+48,r21
221
 232 0198 6093 0000 		sts EE_Parameter+53,r22
222
 233 019c 8DE7      		ldi r24,lo8(125)
223
 234 019e 8093 0000 		sts EE_Parameter+56,r24
224
 235 01a2 8093 0000 		sts EE_Parameter+57,r24
225
 236 01a6 8093 0000 		sts EE_Parameter+58,r24
226
 237 01aa 9093 0000 		sts EE_Parameter+49,r25
227
 238 01ae 25E5      		ldi r18,lo8(85)
228
 239 01b0 2093 0000 		sts EE_Parameter+50,r18
229
 240 01b4 86E4      		ldi r24,lo8(70)
230
 241 01b6 8093 0000 		sts EE_Parameter+51,r24
231
 242 01ba 8CED      		ldi r24,lo8(-36)
232
 243 01bc 8093 0000 		sts EE_Parameter+52,r24
233
 244 01c0 8CE3      		ldi r24,lo8(60)
234
 245 01c2 8093 0000 		sts EE_Parameter+54,r24
235
 246 01c6 1092 0000 		sts EE_Parameter+55,__zero_reg__
236
 247 01ca 8FE5      		ldi r24,lo8(95)
237
 248 01cc 8093 0000 		sts EE_Parameter+74,r24
238
 249 01d0 83EF      		ldi r24,lo8(-13)
239
 250 01d2 8093 0000 		sts EE_Parameter+76,r24
240
 251 01d6 8AEA      		ldi r24,lo8(-86)
241
 252 01d8 8093 0000 		sts EE_Parameter+78,r24
242
 253 01dc 8093 0000 		sts EE_Parameter+79,r24
243
 254 01e0 84E1      		ldi r24,lo8(20)
244
 255 01e2 8093 0000 		sts EE_Parameter+75,r24
245
 256 01e6 8093 0000 		sts EE_Parameter+77,r24
246
 257 01ea 3093 0000 		sts EE_Parameter+59,r19
247
 258 01ee 9AE5      		ldi r25,lo8(90)
248
 259 01f0 9093 0000 		sts EE_Parameter+60,r25
249
 260 01f4 3093 0000 		sts EE_Parameter+61,r19
250
 261 01f8 1092 0000 		sts EE_Parameter+104,__zero_reg__
251
 262 01fc 8EEF      		ldi r24,lo8(-2)
252
 263 01fe 8093 0000 		sts EE_Parameter+80,r24
253
 264 0202 84E6      		ldi r24,lo8(100)
254
 265 0204 8093 0000 		sts EE_Parameter+81,r24
255
 266 0208 9093 0000 		sts EE_Parameter+82,r25
256
 267 020c 9093 0000 		sts EE_Parameter+83,r25
257
 268 0210 9093 0000 		sts EE_Parameter+84,r25
258
 269 0214 8BE4      		ldi r24,lo8(75)
259
 270 0216 8093 0000 		sts EE_Parameter+85,r24
260
 271 021a 2093 0000 		sts EE_Parameter+86,r18
261
 272 021e 8093 0000 		sts EE_Parameter+87,r24
262
 273 0222 1092 0000 		sts EE_Parameter+88,__zero_reg__
263
 274 0226 86E0      		ldi r24,lo8(6)
264
 275 0228 8093 0000 		sts EE_Parameter+89,r24
265
 276 022c 4093 0000 		sts EE_Parameter+90,r20
266
 277 0230 9093 0000 		sts EE_Parameter+91,r25
267
 278 0234 8AE2      		ldi r24,lo8(42)
268
 279 0236 8093 0000 		sts EE_Parameter+92,r24
269
 280 023a 85EF      		ldi r24,lo8(-11)
270
 281 023c 8093 0000 		sts EE_Parameter+93,r24
271
 282 0240 8CE8      		ldi r24,lo8(-116)
272
 283 0242 8093 0000 		sts EE_Parameter+94,r24
273
 284 0246 85E0      		ldi r24,lo8(5)
274
 285 0248 8093 0000 		sts EE_Parameter+95,r24
275
 286 024c 1092 0000 		sts EE_Parameter+97,__zero_reg__
276
 287 0250 1092 0000 		sts EE_Parameter+98,__zero_reg__
277
 288 0254 81E2      		ldi r24,lo8(33)
278
 289 0256 8093 0000 		sts EE_Parameter+36,r24
279
 290 025a 8DE2      		ldi r24,lo8(45)
280
 291 025c 8093 0000 		sts EE_Parameter+37,r24
281
 292 0260 9093 0000 		sts EE_Parameter+38,r25
282
 293 0264 1092 0000 		sts EE_Parameter+100,__zero_reg__
283
 294 0268 1092 0000 		sts EE_Parameter+101,__zero_reg__
284
 295 026c 1092 0000 		sts EE_Parameter+102,__zero_reg__
285
 296 0270 86E9      		ldi r24,lo8(-106)
286
 297 0272 8093 0000 		sts EE_Parameter+103,r24
287
 298 0276 9093 0000 		sts EE_Parameter+62,r25
288
 299 027a 87E3      		ldi r24,lo8(55)
289
 300 027c 8093 0000 		sts EE_Parameter+63,r24
290
 301               	/* epilogue: frame size=0 */
291
 302 0280 0895      		ret
292
 303               	/* epilogue end (size=1) */
293
 304               	/* function CommonDefaults size 223 (222) */
294
 306               		.data
295
 307               	.LC0:
296
 308 0000 4661 7374 		.string	"Fast"
297
 308      00
298
 309 0005 00        		.string	""
299
 310               		.text
300
 311               	.global	ParamSet_DefaultSet1
301
 313               	ParamSet_DefaultSet1:
302
 314               	/* prologue: frame size=0 */
303
 315 0282 CF93      		push r28
304
 316 0284 DF93      		push r29
305
 317               	/* prologue end (size=2) */
306
 318 0286 0E94 0000 		call CommonDefaults
307
 319 028a 8AE0      		ldi r24,lo8(10)
308
 320 028c 8093 0000 		sts EE_Parameter+23,r24
309
 321 0290 80E1      		ldi r24,lo8(16)
310
 322 0292 8093 0000 		sts EE_Parameter+24,r24
311
 323 0296 26E0      		ldi r18,lo8(6)
312
 324 0298 2093 0000 		sts EE_Parameter+25,r18
313
 325 029c 9AE5      		ldi r25,lo8(90)
314
 326 029e 9093 0000 		sts EE_Parameter+30,r25
315
 327 02a2 88E7      		ldi r24,lo8(120)
316
 328 02a4 8093 0000 		sts EE_Parameter+31,r24
317
 329 02a8 9093 0000 		sts EE_Parameter+33,r25
318
 330 02ac 8093 0000 		sts EE_Parameter+34,r24
319
 331 02b0 2093 0000 		sts EE_Parameter+35,r18
320
 332 02b4 80E2      		ldi r24,lo8(32)
321
 333 02b6 8093 0000 		sts EE_Parameter+40,r24
322
 334 02ba 8CE3      		ldi r24,lo8(60)
323
 335 02bc 8093 0000 		sts EE_Parameter+64,r24
324
 336 02c0 8BE4      		ldi r24,lo8(75)
325
 337 02c2 8093 0000 		sts EE_Parameter+69,r24
326
 338 02c6 A0E0      		ldi r26,lo8(EE_Parameter+107)
327
 339 02c8 B0E0      		ldi r27,hi8(EE_Parameter+107)
328
 340 02ca 8CE0      		ldi r24,lo8(12)
329
 341 02cc E0E0      		ldi r30,lo8(.LC0)
330
 342 02ce F0E0      		ldi r31,hi8(.LC0)
331
 343 02d0 ED01      		movw r28,r26
332
 344 02d2 0190      		ld __tmp_reg__,Z+
333
 345 02d4 0992      		st Y+,__tmp_reg__
334
 346 02d6 8A95      		dec r24
335
 347 02d8 01F4      		brne .-8
336
 348 02da 67E7      		ldi r22,lo8(119)
337
 349 02dc 70E0      		ldi r23,hi8(119)
338
 350 02de CD01      		movw r24,r26
339
 351 02e0 8B56      		subi r24,lo8(-(-107))
340
 352 02e2 9040      		sbci r25,hi8(-(-107))
341
 353 02e4 0E94 0000 		call RAM_Checksum
342
 354 02e8 8093 0000 		sts EE_Parameter+119,r24
343
 355               	/* epilogue: frame size=0 */
344
 356 02ec DF91      		pop r29
345
 357 02ee CF91      		pop r28
346
 358 02f0 0895      		ret
347
 359               	/* epilogue end (size=3) */
348
 360               	/* function ParamSet_DefaultSet1 size 56 (51) */
349
 362               		.data
350
 363               	.LC1:
351
 364 0006 4E6F 726D 		.string	"Normal"
352
 364      616C 00
353
 365 000d 00        		.string	""
354
 366               		.text
355
 367               	.global	ParamSet_DefaultSet2
356
 369               	ParamSet_DefaultSet2:
357
 370               	/* prologue: frame size=0 */
358
 371 02f2 CF93      		push r28
359
 372 02f4 DF93      		push r29
360
 373               	/* prologue end (size=2) */
361
 374 02f6 0E94 0000 		call CommonDefaults
362
 375 02fa 88E0      		ldi r24,lo8(8)
363
 376 02fc 8093 0000 		sts EE_Parameter+23,r24
364
 377 0300 30E1      		ldi r19,lo8(16)
365
 378 0302 3093 0000 		sts EE_Parameter+24,r19
366
 379 0306 26E0      		ldi r18,lo8(6)
367
 380 0308 2093 0000 		sts EE_Parameter+25,r18
368
 381 030c 94E6      		ldi r25,lo8(100)
369
 382 030e 9093 0000 		sts EE_Parameter+30,r25
370
 383 0312 88E7      		ldi r24,lo8(120)
371
 384 0314 8093 0000 		sts EE_Parameter+31,r24
372
 385 0318 9093 0000 		sts EE_Parameter+33,r25
373
 386 031c 8093 0000 		sts EE_Parameter+34,r24
374
 387 0320 2093 0000 		sts EE_Parameter+35,r18
375
 388 0324 3093 0000 		sts EE_Parameter+40,r19
376
 389 0328 86E4      		ldi r24,lo8(70)
377
 390 032a 8093 0000 		sts EE_Parameter+64,r24
378
 391 032e 8093 0000 		sts EE_Parameter+69,r24
379
 392 0332 A0E0      		ldi r26,lo8(EE_Parameter+107)
380
 393 0334 B0E0      		ldi r27,hi8(EE_Parameter+107)
381
 394 0336 8CE0      		ldi r24,lo8(12)
382
 395 0338 E0E0      		ldi r30,lo8(.LC1)
383
 396 033a F0E0      		ldi r31,hi8(.LC1)
384
 397 033c ED01      		movw r28,r26
385
 398 033e 0190      		ld __tmp_reg__,Z+
386
 399 0340 0992      		st Y+,__tmp_reg__
387
 400 0342 8A95      		dec r24
388
 401 0344 01F4      		brne .-8
389
 402 0346 67E7      		ldi r22,lo8(119)
390
 403 0348 70E0      		ldi r23,hi8(119)
391
 404 034a CD01      		movw r24,r26
392
 405 034c 8B56      		subi r24,lo8(-(-107))
393
 406 034e 9040      		sbci r25,hi8(-(-107))
394
 407 0350 0E94 0000 		call RAM_Checksum
395
 408 0354 8093 0000 		sts EE_Parameter+119,r24
396
 409               	/* epilogue: frame size=0 */
397
 410 0358 DF91      		pop r29
398
 411 035a CF91      		pop r28
399
 412 035c 0895      		ret
400
 413               	/* epilogue end (size=3) */
401
 414               	/* function ParamSet_DefaultSet2 size 54 (49) */
402
 416               		.data
403
 417               	.LC2:
404
 418 000e 4561 7379 		.string	"Easy"
405
 418      00
406
 419 0013 00        		.string	""
407
 420               		.text
408
 421               	.global	ParamSet_DefaultSet3
409
 423               	ParamSet_DefaultSet3:
410
 424               	/* prologue: frame size=0 */
411
 425 035e CF93      		push r28
412
 426 0360 DF93      		push r29
413
 427               	/* prologue end (size=2) */
414
 428 0362 0E94 0000 		call CommonDefaults
415
 429 0366 26E0      		ldi r18,lo8(6)
416
 430 0368 2093 0000 		sts EE_Parameter+23,r18
417
 431 036c 8AE0      		ldi r24,lo8(10)
418
 432 036e 8093 0000 		sts EE_Parameter+24,r24
419
 433 0372 84E0      		ldi r24,lo8(4)
420
 434 0374 8093 0000 		sts EE_Parameter+25,r24
421
 435 0378 94E6      		ldi r25,lo8(100)
422
 436 037a 9093 0000 		sts EE_Parameter+30,r25
423
 437 037e 88E7      		ldi r24,lo8(120)
424
 438 0380 8093 0000 		sts EE_Parameter+31,r24
425
 439 0384 9093 0000 		sts EE_Parameter+33,r25
426
 440 0388 8093 0000 		sts EE_Parameter+34,r24
427
 441 038c 2093 0000 		sts EE_Parameter+35,r18
428
 442 0390 80E1      		ldi r24,lo8(16)
429
 443 0392 8093 0000 		sts EE_Parameter+40,r24
430
 444 0396 86E4      		ldi r24,lo8(70)
431
 445 0398 8093 0000 		sts EE_Parameter+64,r24
432
 446 039c 8093 0000 		sts EE_Parameter+69,r24
433
 447 03a0 A0E0      		ldi r26,lo8(EE_Parameter+107)
434
 448 03a2 B0E0      		ldi r27,hi8(EE_Parameter+107)
435
 449 03a4 8CE0      		ldi r24,lo8(12)
436
 450 03a6 E0E0      		ldi r30,lo8(.LC2)
437
 451 03a8 F0E0      		ldi r31,hi8(.LC2)
438
 452 03aa ED01      		movw r28,r26
439
 453 03ac 0190      		ld __tmp_reg__,Z+
440
 454 03ae 0992      		st Y+,__tmp_reg__
441
 455 03b0 8A95      		dec r24
442
 456 03b2 01F4      		brne .-8
443
 457 03b4 67E7      		ldi r22,lo8(119)
444
 458 03b6 70E0      		ldi r23,hi8(119)
445
 459 03b8 CD01      		movw r24,r26
446
 460 03ba 8B56      		subi r24,lo8(-(-107))
447
 461 03bc 9040      		sbci r25,hi8(-(-107))
448
 462 03be 0E94 0000 		call RAM_Checksum
449
 463 03c2 8093 0000 		sts EE_Parameter+119,r24
450
 464               	/* epilogue: frame size=0 */
451
 465 03c6 DF91      		pop r29
452
 466 03c8 CF91      		pop r28
453
 467 03ca 0895      		ret
454
 468               	/* epilogue end (size=3) */
455
 469               	/* function ParamSet_DefaultSet3 size 55 (50) */
456
 471               	.global	GetParamByte
457
 473               	GetParamByte:
458
 474               	/* prologue: frame size=0 */
459
 475               	/* prologue end (size=0) */
460
 476               	.L40:
461
 477 03cc F999      		sbic 63-0x20,1
462
 478 03ce 00C0      		rjmp .L40
463
 479 03d0 92BD      		out (65)+1-0x20,r25
464
 480 03d2 81BD      		out 65-0x20,r24
465
 481               	/* #APP */
466
 482               		/* START EEPROM READ CRITICAL SECTION */
467
 483 03d4 F89A      		sbi 31, 0
468
 484 03d6 80B5      		in r24, 32
469
 485               		/* END EEPROM READ CRITICAL SECTION */
470
 486
471
 487               	/* #NOAPP */
472
 488 03d8 9927      		clr r25
473
 489               	/* epilogue: frame size=0 */
474
 490 03da 0895      		ret
475
 491               	/* epilogue end (size=1) */
476
 492               	/* function GetParamByte size 16 (15) */
477
 494               	.global	SetParamByte
478
 496               	SetParamByte:
479
 497               	/* prologue: frame size=0 */
480
 498               	/* prologue end (size=0) */
481
 499               	.L45:
482
 500 03dc F999      		sbic 63-0x20,1
483
 501 03de 00C0      		rjmp .L45
484
 502 03e0 1FBA      		out 63-0x20,__zero_reg__
485
 503 03e2 92BD      		out (65)+1-0x20,r25
486
 504 03e4 81BD      		out 65-0x20,r24
487
 505 03e6 60BD      		out 64-0x20,r22
488
 506               	/* #APP */
489
 507               		/* START EEPROM WRITE CRITICAL SECTION */
490
 508 03e8 0FB6      		in	r0, 63
491
 509 03ea F894      		cli
492
 510 03ec FA9A      		sbi	31, 2
493
 511 03ee F99A      		sbi	31, 1
494
 512 03f0 0FBE      		out	63, r0
495
 513               		/* END EEPROM WRITE CRITICAL SECTION */
496
 514               	/* #NOAPP */
497
 515               	/* epilogue: frame size=0 */
498
 516 03f2 0895      		ret
499
 517               	/* epilogue end (size=1) */
500
 518               	/* function SetParamByte size 21 (20) */
501
 520               	.global	GetParamWord
502
 522               	GetParamWord:
503
 523               	/* prologue: frame size=0 */
504
 524               	/* prologue end (size=0) */
505
 525 03f4 60E0      		ldi r22,lo8(pm(eeprom_read_byte))
506
 526 03f6 70E0      		ldi r23,hi8(pm(eeprom_read_byte))
507
 527 03f8 0E94 0000 		call __eerd_word
508
 528               	/* epilogue: frame size=0 */
509
 529 03fc 0895      		ret
510
 530               	/* epilogue end (size=1) */
511
 531               	/* function GetParamWord size 5 (4) */
512
 533               	.global	SetParamWord
513
 535               	SetParamWord:
514
 536               	/* prologue: frame size=0 */
515
 537               	/* prologue end (size=0) */
516
 538 03fe 40E0      		ldi r20,lo8(pm(eeprom_write_byte))
517
 539 0400 50E0      		ldi r21,hi8(pm(eeprom_write_byte))
518
 540 0402 0E94 0000 		call __eewr_word
519
 541               	/* epilogue: frame size=0 */
520
 542 0406 0895      		ret
521
 543               	/* epilogue end (size=1) */
522
 544               	/* function SetParamWord size 5 (4) */
523
 546               	.global	ParamSet_ReadFromEEProm
524
 548               	ParamSet_ReadFromEEProm:
525
 549               	/* prologue: frame size=0 */
526
 550 0408 EF92      		push r14
527
 551 040a FF92      		push r15
528
 552 040c 0F93      		push r16
529
 553 040e 1F93      		push r17
530
 554 0410 CF93      		push r28
531
 555               	/* prologue end (size=5) */
532
 556 0412 C82F      		mov r28,r24
533
 557 0414 8150      		subi r24,lo8(-(-1))
534
 558 0416 8530      		cpi r24,lo8(5)
535
 559 0418 00F0      		brlo .L54
536
 560 041a C3E0      		ldi r28,lo8(3)
537
 561               	.L54:
538
 562 041c 88E7      		ldi r24,lo8(120)
539
 563 041e C89F      		mul r28,r24
540
 564 0420 8001      		movw r16,r0
541
 565 0422 1124      		clr r1
542
 566 0424 8CEE      		ldi r24,lo8(-20)
543
 567 0426 E82E      		mov r14,r24
544
 568 0428 8FEF      		ldi r24,hi8(-20)
545
 569 042a F82E      		mov r15,r24
546
 570 042c E00E      		add r14,r16
547
 571 042e F11E      		adc r15,r17
548
 572 0430 67E7      		ldi r22,lo8(119)
549
 573 0432 70E0      		ldi r23,hi8(119)
550
 574 0434 C701      		movw r24,r14
551
 575 0436 0E94 0000 		call EEProm_Checksum
552
 576 043a 682F      		mov r22,r24
553
 577 043c 9801      		movw r18,r16
554
 578 043e 2D59      		subi r18,lo8(-(99))
555
 579 0440 3F4F      		sbci r19,hi8(-(99))
556
 580               	.L56:
557
 581 0442 8FB3      		in r24,63-0x20
558
 582 0444 9927      		clr r25
559
 583 0446 AC01      		movw r20,r24
560
 584 0448 4270      		andi r20,lo8(2)
561
 585 044a 5070      		andi r21,hi8(2)
562
 586 044c 81FD      		sbrc r24,1
563
 587 044e 00C0      		rjmp .L56
564
 588 0450 32BD      		out (65)+1-0x20,r19
565
 589 0452 21BD      		out 65-0x20,r18
566
 590               	/* #APP */
567
 591               		/* START EEPROM READ CRITICAL SECTION */
568
 592 0454 F89A      		sbi 31, 0
569
 593 0456 80B5      		in r24, 32
570
 594               		/* END EEPROM READ CRITICAL SECTION */
571
 595
572
 596               	/* #NOAPP */
573
 597 0458 8617      		cp r24,r22
574
 598 045a 01F0      		breq .L61
575
 599 045c CA01      		movw r24,r20
576
 600 045e 00C0      		rjmp .L53
577
 601               	.L61:
578
 602 0460 8FB3      		in r24,63-0x20
579
 603 0462 9927      		clr r25
580
 604 0464 9C01      		movw r18,r24
581
 605 0466 2270      		andi r18,lo8(2)
582
 606 0468 3070      		andi r19,hi8(2)
583
 607 046a 81FD      		sbrc r24,1
584
 608 046c 00C0      		rjmp .L61
585
 609 046e F2BC      		out (65)+1-0x20,r15
586
 610 0470 E1BC      		out 65-0x20,r14
587
 611               	/* #APP */
588
 612               		/* START EEPROM READ CRITICAL SECTION */
589
 613 0472 F89A      		sbi 31, 0
590
 614 0474 80B5      		in r24, 32
591
 615               		/* END EEPROM READ CRITICAL SECTION */
592
 616
593
 617               	/* #NOAPP */
594
 618 0476 8835      		cpi r24,lo8(88)
595
 619 0478 01F0      		breq .L60
596
 620 047a C901      		movw r24,r18
597
 621 047c 00C0      		rjmp .L53
598
 622               	.L60:
599
 623 047e 88E7      		ldi r24,lo8(120)
600
 624 0480 C89F      		mul r28,r24
601
 625 0482 C001      		movw r24,r0
602
 626 0484 1124      		clr r1
603
 627 0486 4497      		sbiw r24,20
604
 628 0488 20E0      		ldi r18,lo8(pm(eeprom_read_byte))
605
 629 048a 30E0      		ldi r19,hi8(pm(eeprom_read_byte))
606
 630 048c 48E7      		ldi r20,lo8(120)
607
 631 048e 50E0      		ldi r21,hi8(120)
608
 632 0490 BC01      		movw r22,r24
609
 633 0492 80E0      		ldi r24,lo8(EE_Parameter)
610
 634 0494 90E0      		ldi r25,hi8(EE_Parameter)
611
 635 0496 0E94 0000 		call __eerd_block
612
 636 049a 0E94 0000 		call LED_Init
613
 637 049e 81E0      		ldi r24,lo8(1)
614
 638 04a0 90E0      		ldi r25,hi8(1)
615
 639               	.L53:
616
 640               	/* epilogue: frame size=0 */
617
 641 04a2 CF91      		pop r28
618
 642 04a4 1F91      		pop r17
619
 643 04a6 0F91      		pop r16
620
 644 04a8 FF90      		pop r15
621
 645 04aa EF90      		pop r14
622
 646 04ac 0895      		ret
623
 647               	/* epilogue end (size=6) */
624
 648               	/* function ParamSet_ReadFromEEProm size 99 (88) */
625
 650               	.global	SetActiveParamSet
626
 652               	SetActiveParamSet:
627
 653               	/* prologue: frame size=0 */
628
 654               	/* prologue end (size=0) */
629
 655 04ae 282F      		mov r18,r24
630
 656 04b0 8630      		cpi r24,lo8(6)
631
 657 04b2 00F0      		brlo .L67
632
 658 04b4 25E0      		ldi r18,lo8(5)
633
 659 04b6 00C0      		rjmp .L69
634
 660               	.L67:
635
 661 04b8 8823      		tst r24
636
 662 04ba 01F4      		brne .L69
637
 663 04bc 21E0      		ldi r18,lo8(1)
638
 664               	.L69:
639
 665 04be F999      		sbic 63-0x20,1
640
 666 04c0 00C0      		rjmp .L69
641
 667 04c2 1FBA      		out 63-0x20,__zero_reg__
642
 668 04c4 82E0      		ldi r24,lo8(2)
643
 669 04c6 90E0      		ldi r25,hi8(2)
644
 670 04c8 92BD      		out (65)+1-0x20,r25
645
 671 04ca 81BD      		out 65-0x20,r24
646
 672 04cc 20BD      		out 64-0x20,r18
647
 673               	/* #APP */
648
 674               		/* START EEPROM WRITE CRITICAL SECTION */
649
 675 04ce 0FB6      		in	r0, 63
650
 676 04d0 F894      		cli
651
 677 04d2 FA9A      		sbi	31, 2
652
 678 04d4 F99A      		sbi	31, 1
653
 679 04d6 0FBE      		out	63, r0
654
 680               		/* END EEPROM WRITE CRITICAL SECTION */
655
 681               	/* #NOAPP */
656
 682               	/* epilogue: frame size=0 */
657
 683 04d8 0895      		ret
658
 684               	/* epilogue end (size=1) */
659
 685               	/* function SetActiveParamSet size 31 (30) */
660
 687               	.global	ParamSet_WriteToEEProm
661
 689               	ParamSet_WriteToEEProm:
662
 690               	/* prologue: frame size=0 */
663
 691 04da CF93      		push r28
664
 692               	/* prologue end (size=1) */
665
 693 04dc C82F      		mov r28,r24
666
 694 04de 8091 0000 		lds r24,EE_Parameter
667
 695 04e2 8835      		cpi r24,lo8(88)
668
 696 04e4 01F0      		breq .+2
669
 697 04e6 00C0      		rjmp .L74
670
 698 04e8 C630      		cpi r28,lo8(6)
671
 699 04ea 00F0      		brlo .L75
672
 700 04ec C5E0      		ldi r28,lo8(5)
673
 701 04ee 00C0      		rjmp .L76
674
 702               	.L75:
675
 703 04f0 CC23      		tst r28
676
 704 04f2 01F4      		brne .+2
677
 705 04f4 00C0      		rjmp .L74
678
 706               	.L76:
679
 707 04f6 0E94 0000 		call LIBFC_CheckSettings
680
 708 04fa 67E7      		ldi r22,lo8(119)
681
 709 04fc 70E0      		ldi r23,hi8(119)
682
 710 04fe 80E0      		ldi r24,lo8(EE_Parameter)
683
 711 0500 90E0      		ldi r25,hi8(EE_Parameter)
684
 712 0502 0E94 0000 		call RAM_Checksum
685
 713 0506 8093 0000 		sts EE_Parameter+119,r24
686
 714 050a 88E7      		ldi r24,lo8(120)
687
 715 050c C89F      		mul r28,r24
688
 716 050e C001      		movw r24,r0
689
 717 0510 1124      		clr r1
690
 718 0512 20E0      		ldi r18,lo8(pm(eeprom_write_byte))
691
 719 0514 30E0      		ldi r19,hi8(pm(eeprom_write_byte))
692
 720 0516 48E7      		ldi r20,lo8(120)
693
 721 0518 50E0      		ldi r21,hi8(120)
694
 722 051a 60E0      		ldi r22,lo8(EE_Parameter)
695
 723 051c 70E0      		ldi r23,hi8(EE_Parameter)
696
 724 051e 4497      		sbiw r24,20
697
 725 0520 0E94 0000 		call __eewr_block
698
 726 0524 20E0      		ldi r18,lo8(pm(eeprom_write_byte))
699
 727 0526 30E0      		ldi r19,hi8(pm(eeprom_write_byte))
700
 728 0528 4CE0      		ldi r20,lo8(12)
701
 729 052a 50E0      		ldi r21,hi8(12)
702
 730 052c 60E0      		ldi r22,lo8(EE_Parameter+1)
703
 731 052e 70E0      		ldi r23,hi8(EE_Parameter+1)
704
 732 0530 80E5      		ldi r24,lo8(80)
705
 733 0532 90E0      		ldi r25,hi8(80)
706
 734 0534 0E94 0000 		call __eewr_block
707
 735 0538 6CE0      		ldi r22,lo8(12)
708
 736 053a 70E0      		ldi r23,hi8(12)
709
 737 053c 80E0      		ldi r24,lo8(EE_Parameter+1)
710
 738 053e 90E0      		ldi r25,hi8(EE_Parameter+1)
711
 739 0540 0E94 0000 		call RAM_Checksum
712
 740 0544 282F      		mov r18,r24
713
 741               	.L79:
714
 742 0546 F999      		sbic 63-0x20,1
715
 743 0548 00C0      		rjmp .L79
716
 744 054a 1FBA      		out 63-0x20,__zero_reg__
717
 745 054c 8CE5      		ldi r24,lo8(92)
718
 746 054e 90E0      		ldi r25,hi8(92)
719
 747 0550 92BD      		out (65)+1-0x20,r25
720
 748 0552 81BD      		out 65-0x20,r24
721
 749 0554 20BD      		out 64-0x20,r18
722
 750               	/* #APP */
723
 751               		/* START EEPROM WRITE CRITICAL SECTION */
724
 752 0556 0FB6      		in	r0, 63
725
 753 0558 F894      		cli
726
 754 055a FA9A      		sbi	31, 2
727
 755 055c F99A      		sbi	31, 1
728
 756 055e 0FBE      		out	63, r0
729
 757               		/* END EEPROM WRITE CRITICAL SECTION */
730
 758               	/* #NOAPP */
731
 759 0560 8C2F      		mov r24,r28
732
 760 0562 0E94 0000 		call SetActiveParamSet
733
 761 0566 0E94 0000 		call LED_Init
734
 762 056a 81E0      		ldi r24,lo8(1)
735
 763 056c 90E0      		ldi r25,hi8(1)
736
 764 056e 00C0      		rjmp .L73
737
 765               	.L74:
738
 766 0570 80E0      		ldi r24,lo8(0)
739
 767 0572 90E0      		ldi r25,hi8(0)
740
 768               	.L73:
741
 769               	/* epilogue: frame size=0 */
742
 770 0574 CF91      		pop r28
743
 771 0576 0895      		ret
744
 772               	/* epilogue end (size=2) */
745
 773               	/* function ParamSet_WriteToEEProm size 88 (85) */
746
 775               	.global	MixerTable_ReadFromEEProm
747
 777               	MixerTable_ReadFromEEProm:
748
 778               	/* prologue: frame size=0 */
749
 779               	/* prologue end (size=0) */
750
 780 0578 6DE4      		ldi r22,lo8(77)
751
 781 057a 70E0      		ldi r23,hi8(77)
752
 782 057c 88EE      		ldi r24,lo8(1000)
753
 783 057e 93E0      		ldi r25,hi8(1000)
754
 784 0580 0E94 0000 		call EEProm_Checksum
755
 785 0584 482F      		mov r20,r24
756
 786               	.L85:
757
 787 0586 8FB3      		in r24,63-0x20
758
 788 0588 9927      		clr r25
759
 789 058a 9C01      		movw r18,r24
760
 790 058c 2270      		andi r18,lo8(2)
761
 791 058e 3070      		andi r19,hi8(2)
762
 792 0590 81FD      		sbrc r24,1
763
 793 0592 00C0      		rjmp .L85
764
 794 0594 85E3      		ldi r24,lo8(1077)
765
 795 0596 94E0      		ldi r25,hi8(1077)
766
 796 0598 92BD      		out (65)+1-0x20,r25
767
 797 059a 81BD      		out 65-0x20,r24
768
 798               	/* #APP */
769
 799               		/* START EEPROM READ CRITICAL SECTION */
770
 800 059c F89A      		sbi 31, 0
771
 801 059e 80B5      		in r24, 32
772
 802               		/* END EEPROM READ CRITICAL SECTION */
773
 803
774
 804               	/* #NOAPP */
775
 805 05a0 8417      		cp r24,r20
776
 806 05a2 01F4      		brne .L95
777
 807               	.L90:
778
 808 05a4 8FB3      		in r24,63-0x20
779
 809 05a6 9927      		clr r25
780
 810 05a8 9C01      		movw r18,r24
781
 811 05aa 2270      		andi r18,lo8(2)
782
 812 05ac 3070      		andi r19,hi8(2)
783
 813 05ae 81FD      		sbrc r24,1
784
 814 05b0 00C0      		rjmp .L90
785
 815 05b2 88EE      		ldi r24,lo8(1000)
786
 816 05b4 93E0      		ldi r25,hi8(1000)
787
 817 05b6 92BD      		out (65)+1-0x20,r25
788
 818 05b8 81BD      		out 65-0x20,r24
789
 819               	/* #APP */
790
 820               		/* START EEPROM READ CRITICAL SECTION */
791
 821 05ba F89A      		sbi 31, 0
792
 822 05bc 80B5      		in r24, 32
793
 823               		/* END EEPROM READ CRITICAL SECTION */
794
 824
795
 825               	/* #NOAPP */
796
 826 05be 8130      		cpi r24,lo8(1)
797
 827 05c0 01F0      		breq .L89
798
 828               	.L95:
799
 829 05c2 C901      		movw r24,r18
800
 830 05c4 0895      		ret
801
 831               	.L89:
802
 832 05c6 20E0      		ldi r18,lo8(pm(eeprom_read_byte))
803
 833 05c8 30E0      		ldi r19,hi8(pm(eeprom_read_byte))
804
 834 05ca 4EE4      		ldi r20,lo8(78)
805
 835 05cc 50E0      		ldi r21,hi8(78)
806
 836 05ce 68EE      		ldi r22,lo8(1000)
807
 837 05d0 73E0      		ldi r23,hi8(1000)
808
 838 05d2 80E0      		ldi r24,lo8(Mixer)
809
 839 05d4 90E0      		ldi r25,hi8(Mixer)
810
 840 05d6 0E94 0000 		call __eerd_block
811
 841 05da 81E0      		ldi r24,lo8(1)
812
 842 05dc 90E0      		ldi r25,hi8(1)
813
 843 05de 0895      		ret
814
 844               	/* epilogue: frame size=0 */
815
 845               	/* epilogue: noreturn */
816
 846               	/* epilogue end (size=0) */
817
 847               	/* function MixerTable_ReadFromEEProm size 68 (68) */
818
 849               	.global	MixerTable_WriteToEEProm
819
 851               	MixerTable_WriteToEEProm:
820
 852               	/* prologue: frame size=0 */
821
 853               	/* prologue end (size=0) */
822
 854 05e0 8091 0000 		lds r24,Mixer
823
 855 05e4 8130      		cpi r24,lo8(1)
824
 856 05e6 01F4      		brne .L97
825
 857 05e8 6DE4      		ldi r22,lo8(77)
826
 858 05ea 70E0      		ldi r23,hi8(77)
827
 859 05ec 80E0      		ldi r24,lo8(Mixer)
828
 860 05ee 90E0      		ldi r25,hi8(Mixer)
829
 861 05f0 0E94 0000 		call RAM_Checksum
830
 862 05f4 8093 0000 		sts Mixer+77,r24
831
 863 05f8 20E0      		ldi r18,lo8(pm(eeprom_write_byte))
832
 864 05fa 30E0      		ldi r19,hi8(pm(eeprom_write_byte))
833
 865 05fc 4EE4      		ldi r20,lo8(78)
834
 866 05fe 50E0      		ldi r21,hi8(78)
835
 867 0600 60E0      		ldi r22,lo8(Mixer)
836
 868 0602 70E0      		ldi r23,hi8(Mixer)
837
 869 0604 88EE      		ldi r24,lo8(1000)
838
 870 0606 93E0      		ldi r25,hi8(1000)
839
 871 0608 0E94 0000 		call __eewr_block
840
 872 060c 81E0      		ldi r24,lo8(1)
841
 873 060e 90E0      		ldi r25,hi8(1)
842
 874 0610 0895      		ret
843
 875               	.L97:
844
 876 0612 80E0      		ldi r24,lo8(0)
845
 877 0614 90E0      		ldi r25,hi8(0)
846
 878 0616 0895      		ret
847
 879               	/* epilogue: frame size=0 */
848
 880               	/* epilogue: noreturn */
849
 881               	/* epilogue end (size=0) */
850
 882               	/* function MixerTable_WriteToEEProm size 28 (28) */
851
 884               		.data
852
 885               	.LC3:
853
 886 0014 5175 6164 		.string	"Quadro"
854
 886      726F 00
855
 887 001b 00        		.string	""
856
 888               		.text
857
 889               	.global	MixerTable_Default
858
 891               	MixerTable_Default:
859
 892               	/* prologue: frame size=0 */
860
 893 0618 CF93      		push r28
861
 894 061a DF93      		push r29
862
 895               	/* prologue end (size=2) */
863
 896 061c 81E0      		ldi r24,lo8(1)
864
 897 061e 8093 0000 		sts Mixer,r24
865
 898 0622 E0E0      		ldi r30,lo8(Mixer)
866
 899 0624 F0E0      		ldi r31,hi8(Mixer)
867
 900 0626 8FE0      		ldi r24,lo8(15)
868
 901               	.L104:
869
 902 0628 1586      		std Z+13,__zero_reg__
870
 903 062a 1686      		std Z+14,__zero_reg__
871
 904 062c 1786      		std Z+15,__zero_reg__
872
 905 062e 108A      		std Z+16,__zero_reg__
873
 906 0630 8150      		subi r24,lo8(-(-1))
874
 907 0632 3496      		adiw r30,4
875
 908 0634 87FF      		sbrs r24,7
876
 909 0636 00C0      		rjmp .L104
877
 910 0638 80E4      		ldi r24,lo8(64)
878
 911 063a 8093 0000 		sts Mixer+13,r24
879
 912 063e 8093 0000 		sts Mixer+14,r24
880
 913 0642 1092 0000 		sts Mixer+15,__zero_reg__
881
 914 0646 8093 0000 		sts Mixer+16,r24
882
 915 064a 8093 0000 		sts Mixer+17,r24
883
 916 064e 90EC      		ldi r25,lo8(-64)
884
 917 0650 9093 0000 		sts Mixer+18,r25
885
 918 0654 1092 0000 		sts Mixer+19,__zero_reg__
886
 919 0658 8093 0000 		sts Mixer+20,r24
887
 920 065c 8093 0000 		sts Mixer+21,r24
888
 921 0660 1092 0000 		sts Mixer+22,__zero_reg__
889
 922 0664 9093 0000 		sts Mixer+23,r25
890
 923 0668 9093 0000 		sts Mixer+24,r25
891
 924 066c 8093 0000 		sts Mixer+25,r24
892
 925 0670 1092 0000 		sts Mixer+26,__zero_reg__
893
 926 0674 8093 0000 		sts Mixer+27,r24
894
 927 0678 9093 0000 		sts Mixer+28,r25
895
 928 067c A0E0      		ldi r26,lo8(Mixer+1)
896
 929 067e B0E0      		ldi r27,hi8(Mixer+1)
897
 930 0680 87E0      		ldi r24,lo8(7)
898
 931 0682 E0E0      		ldi r30,lo8(.LC3)
899
 932 0684 F0E0      		ldi r31,hi8(.LC3)
900
 933 0686 ED01      		movw r28,r26
901
 934 0688 0190      		ld __tmp_reg__,Z+
902
 935 068a 0992      		st Y+,__tmp_reg__
903
 936 068c 8A95      		dec r24
904
 937 068e 01F4      		brne .-8
905
 938 0690 6DE4      		ldi r22,lo8(77)
906
 939 0692 70E0      		ldi r23,hi8(77)
907
 940 0694 CD01      		movw r24,r26
908
 941 0696 0197      		sbiw r24,1
909
 942 0698 0E94 0000 		call RAM_Checksum
910
 943 069c 8093 0000 		sts Mixer+77,r24
911
 944               	/* epilogue: frame size=0 */
912
 945 06a0 DF91      		pop r29
913
 946 06a2 CF91      		pop r28
914
 947 06a4 0895      		ret
915
 948               	/* epilogue end (size=3) */
916
 949               	/* function MixerTable_Default size 71 (66) */
917
 951               	.global	GetActiveParamSet
918
 953               	GetActiveParamSet:
919
 954               	/* prologue: frame size=0 */
920
 955               	/* prologue end (size=0) */
921
 956               	.L108:
922
 957 06a6 F999      		sbic 63-0x20,1
923
 958 06a8 00C0      		rjmp .L108
924
 959 06aa 82E0      		ldi r24,lo8(2)
925
 960 06ac 90E0      		ldi r25,hi8(2)
926
 961 06ae 92BD      		out (65)+1-0x20,r25
927
 962 06b0 81BD      		out 65-0x20,r24
928
 963               	/* #APP */
929
 964               		/* START EEPROM READ CRITICAL SECTION */
930
 965 06b2 F89A      		sbi 31, 0
931
 966 06b4 80B5      		in r24, 32
932
 967               		/* END EEPROM READ CRITICAL SECTION */
933
 968
934
 969               	/* #NOAPP */
935
 970 06b6 282F      		mov r18,r24
936
 971 06b8 8630      		cpi r24,lo8(6)
937
 972 06ba 00F0      		brlo .L112
938
 973 06bc 23E0      		ldi r18,lo8(3)
939
 974 06be 322F      		mov r19,r18
940
 975               	.L113:
941
 976 06c0 F999      		sbic 63-0x20,1
942
 977 06c2 00C0      		rjmp .L113
943
 978 06c4 1FBA      		out 63-0x20,__zero_reg__
944
 979 06c6 82E0      		ldi r24,lo8(2)
945
 980 06c8 90E0      		ldi r25,hi8(2)
946
 981 06ca 92BD      		out (65)+1-0x20,r25
947
 982 06cc 81BD      		out 65-0x20,r24
948
 983 06ce 30BD      		out 64-0x20,r19
949
 984               	/* #APP */
950
 985               		/* START EEPROM WRITE CRITICAL SECTION */
951
 986 06d0 0FB6      		in	r0, 63
952
 987 06d2 F894      		cli
953
 988 06d4 FA9A      		sbi	31, 2
954
 989 06d6 F99A      		sbi	31, 1
955
 990 06d8 0FBE      		out	63, r0
956
 991               		/* END EEPROM WRITE CRITICAL SECTION */
957
 992               	/* #NOAPP */
958
 993               	.L112:
959
 994 06da 822F      		mov r24,r18
960
 995 06dc 9927      		clr r25
961
 996               	/* epilogue: frame size=0 */
962
 997 06de 0895      		ret
963
 998               	/* epilogue end (size=1) */
964
 999               	/* function GetActiveParamSet size 46 (45) */
965
 1001               	.global	SetDefaultParameter
966
 1003               	SetDefaultParameter:
967
 1004               	/* prologue: frame size=0 */
968
 1005 06e0 1F93      		push r17
969
 1006 06e2 CF93      		push r28
970
 1007               	/* prologue end (size=2) */
971
 1008 06e4 C82F      		mov r28,r24
972
 1009 06e6 162F      		mov r17,r22
973
 1010 06e8 8630      		cpi r24,lo8(6)
974
 1011 06ea 00F0      		brlo .L118
975
 1012 06ec C5E0      		ldi r28,lo8(5)
976
 1013 06ee 00C0      		rjmp .L119
977
 1014               	.L118:
978
 1015 06f0 8823      		tst r24
979
 1016 06f2 01F4      		brne .L119
980
 1017 06f4 C1E0      		ldi r28,lo8(1)
981
 1018               	.L119:
982
 1019 06f6 8C2F      		mov r24,r28
983
 1020 06f8 9927      		clr r25
984
 1021 06fa 8230      		cpi r24,2
985
 1022 06fc 9105      		cpc r25,__zero_reg__
986
 1023 06fe 01F0      		breq .L123
987
 1024 0700 8330      		cpi r24,3
988
 1025 0702 9105      		cpc r25,__zero_reg__
989
 1026 0704 04F4      		brge .L125
990
 1027 0706 0197      		sbiw r24,1
991
 1028 0708 01F4      		brne .L125
992
 1029 070a 0E94 0000 		call ParamSet_DefaultSet1
993
 1030 070e 00C0      		rjmp .L121
994
 1031               	.L123:
995
 1032 0710 0E94 0000 		call ParamSet_DefaultSet2
996
 1033 0714 00C0      		rjmp .L121
997
 1034               	.L125:
998
 1035 0716 0E94 0000 		call ParamSet_DefaultSet3
999
 1036               	.L121:
1000
 1037 071a 1123      		tst r17
1001
 1038 071c 01F0      		breq .L127
1002
 1039 071e 6CE0      		ldi r22,lo8(12)
1003
 1040 0720 70E0      		ldi r23,hi8(12)
1004
 1041 0722 80E5      		ldi r24,lo8(80)
1005
 1042 0724 90E0      		ldi r25,hi8(80)
1006
 1043 0726 0E94 0000 		call EEProm_Checksum
1007
 1044 072a 282F      		mov r18,r24
1008
 1045               	.L129:
1009
 1046 072c F999      		sbic 63-0x20,1
1010
 1047 072e 00C0      		rjmp .L129
1011
 1048 0730 8CE5      		ldi r24,lo8(92)
1012
 1049 0732 90E0      		ldi r25,hi8(92)
1013
 1050 0734 92BD      		out (65)+1-0x20,r25
1014
 1051 0736 81BD      		out 65-0x20,r24
1015
 1052               	/* #APP */
1016
 1053               		/* START EEPROM READ CRITICAL SECTION */
1017
 1054 0738 F89A      		sbi 31, 0
1018
 1055 073a 80B5      		in r24, 32
1019
 1056               		/* END EEPROM READ CRITICAL SECTION */
1020
 1057
1021
 1058               	/* #NOAPP */
1022
 1059 073c 8217      		cp r24,r18
1023
 1060 073e 01F4      		brne .L127
1024
 1061 0740 20E0      		ldi r18,lo8(pm(eeprom_read_byte))
1025
 1062 0742 30E0      		ldi r19,hi8(pm(eeprom_read_byte))
1026
 1063 0744 4CE0      		ldi r20,lo8(12)
1027
 1064 0746 50E0      		ldi r21,hi8(12)
1028
 1065 0748 60E5      		ldi r22,lo8(80)
1029
 1066 074a 70E0      		ldi r23,hi8(80)
1030
 1067 074c 80E0      		ldi r24,lo8(EE_Parameter+1)
1031
 1068 074e 90E0      		ldi r25,hi8(EE_Parameter+1)
1032
 1069 0750 0E94 0000 		call __eerd_block
1033
 1070 0754 00C0      		rjmp .L135
1034
 1071               	.L127:
1035
 1072 0756 0E94 0000 		call ParamSet_DefaultStickMapping
1036
 1073               	.L135:
1037
 1074 075a 8C2F      		mov r24,r28
1038
 1075 075c 0E94 0000 		call ParamSet_WriteToEEProm
1039
 1076               	/* epilogue: frame size=0 */
1040
 1077 0760 CF91      		pop r28
1041
 1078 0762 1F91      		pop r17
1042
 1079 0764 0895      		ret
1043
 1080               	/* epilogue end (size=3) */
1044
 1081               	/* function SetDefaultParameter size 76 (71) */
1045
 1083               		.section	.progmem.data,"a",@progbits
1046
 1086               	__c.0:
1047
 1087 0000 0A0D 4765 		.string	"\n\rGenerating default Parameter Set %d"
1048
 1087      6E65 7261
1049
 1087      7469 6E67
1050
 1087      2064 6566
1051
 1087      6175 6C74
1052
 1090               	__c.1:
1053
 1091 0026 0A0D 5573 		.string	"\n\rUsing Parameter Set %d"
1054
 1091      696E 6720
1055
 1091      5061 7261
1056
 1091      6D65 7465
1057
 1091      7220 5365
1058
 1094               	__c.2:
1059
 1095 003f 0A0D 4765 		.string	"\n\rGenerating default Mixer Table"
1060
 1095      6E65 7261
1061
 1095      7469 6E67
1062
 1095      2064 6566
1063
 1095      6175 6C74
1064
 1098               	__c.3:
1065
 1099 0060 0A0D 4D69 		.string	"\n\rMixer-Config: '%s' (%u Motors)"
1066
 1099      7865 722D
1067
 1099      436F 6E66
1068
 1099      6967 3A20
1069
 1099      2725 7327
1070
 1102               	__c.4:
1071
 1103 0081 0A0D 3D00 		.string	"\n\r="
1072
 1104               		.text
1073
 1105               	.global	ParamSet_Init
1074
 1107               	ParamSet_Init:
1075
 1108               	/* prologue: frame size=0 */
1076
 1109 0766 DF92      		push r13
1077
 1110 0768 EF92      		push r14
1078
 1111 076a FF92      		push r15
1079
 1112 076c 0F93      		push r16
1080
 1113 076e 1F93      		push r17
1081
 1114 0770 CF93      		push r28
1082
 1115               	/* prologue end (size=6) */
1083
 1116 0772 FF24      		clr r15
1084
 1117 0774 DF2C      		mov r13,r15
1085
 1118 0776 EF2C      		mov r14,r15
1086
 1119 0778 81E0      		ldi r24,lo8(1)
1087
 1120 077a 90E0      		ldi r25,hi8(1)
1088
 1121 077c 0E94 0000 		call GetParamByte
1089
 1122 0780 8835      		cpi r24,lo8(88)
1090
 1123 0782 01F0      		breq .L137
1091
 1124 0784 31E0      		ldi r19,lo8(1)
1092
 1125 0786 E32E      		mov r14,r19
1093
 1126               	.L137:
1094
 1127 0788 6CE0      		ldi r22,lo8(12)
1095
 1128 078a 70E0      		ldi r23,hi8(12)
1096
 1129 078c 80E5      		ldi r24,lo8(80)
1097
 1130 078e 90E0      		ldi r25,hi8(80)
1098
 1131 0790 0E94 0000 		call EEProm_Checksum
1099
 1132 0794 C82F      		mov r28,r24
1100
 1133               	.L139:
1101
 1134 0796 F999      		sbic 63-0x20,1
1102
 1135 0798 00C0      		rjmp .L139
1103
 1136 079a 8CE5      		ldi r24,lo8(92)
1104
 1137 079c 90E0      		ldi r25,hi8(92)
1105
 1138 079e 92BD      		out (65)+1-0x20,r25
1106
 1139 07a0 81BD      		out 65-0x20,r24
1107
 1140               	/* #APP */
1108
 1141               		/* START EEPROM READ CRITICAL SECTION */
1109
 1142 07a2 F89A      		sbi 31, 0
1110
 1143 07a4 80B5      		in r24, 32
1111
 1144               		/* END EEPROM READ CRITICAL SECTION */
1112
 1145
1113
 1146               	/* #NOAPP */
1114
 1147 07a6 8C17      		cp r24,r28
1115
 1148 07a8 01F4      		brne .L138
1116
 1149 07aa 21E0      		ldi r18,lo8(1)
1117
 1150 07ac D22E      		mov r13,r18
1118
 1151               	.L138:
1119
 1152 07ae C1E0      		ldi r28,lo8(1)
1120
 1153 07b0 01E0      		ldi r16,lo8(1)
1121
 1154 07b2 10E0      		ldi r17,hi8(1)
1122
 1155               	.L157:
1123
 1156 07b4 EE20      		tst r14
1124
 1157 07b6 01F4      		brne .L147
1125
 1158 07b8 8C2F      		mov r24,r28
1126
 1159 07ba 0E94 0000 		call ParamSet_ReadFromEEProm
1127
 1160 07be 8823      		tst r24
1128
 1161 07c0 01F4      		brne .L145
1129
 1162               	.L147:
1130
 1163 07c2 91E0      		ldi r25,lo8(1)
1131
 1164 07c4 F92E      		mov r15,r25
1132
 1165 07c6 1F93      		push r17
1133
 1166 07c8 0F93      		push r16
1134
 1167 07ca 80E0      		ldi r24,lo8(__c.0)
1135
 1168 07cc 90E0      		ldi r25,hi8(__c.0)
1136
 1169 07ce 9F93      		push r25
1137
 1170 07d0 8F93      		push r24
1138
 1171 07d2 80E0      		ldi r24,lo8(pm(uart_putchar))
1139
 1172 07d4 90E0      		ldi r25,hi8(pm(uart_putchar))
1140
 1173 07d6 9F93      		push r25
1141
 1174 07d8 8F93      		push r24
1142
 1175 07da E091 0000 		lds r30,_printf_P
1143
 1176 07de F091 0000 		lds r31,(_printf_P)+1
1144
 1177 07e2 0995      		icall
1145
 1178 07e4 2DB7      		in r18,__SP_L__
1146
 1179 07e6 3EB7      		in r19,__SP_H__
1147
 1180 07e8 2A5F      		subi r18,lo8(-(6))
1148
 1181 07ea 3F4F      		sbci r19,hi8(-(6))
1149
 1182 07ec 2DBF      		out __SP_L__,r18
1150
 1183 07ee 0230      		cpi r16,2
1151
 1184 07f0 1105      		cpc r17,__zero_reg__
1152
 1185 07f2 01F0      		breq .L150
1153
 1186 07f4 0330      		cpi r16,3
1154
 1187 07f6 1105      		cpc r17,__zero_reg__
1155
 1188 07f8 04F4      		brge .L152
1156
 1189 07fa 0130      		cpi r16,1
1157
 1190 07fc 1105      		cpc r17,__zero_reg__
1158
 1191 07fe 01F4      		brne .L152
1159
 1192 0800 0E94 0000 		call ParamSet_DefaultSet1
1160
 1193 0804 00C0      		rjmp .L148
1161
 1194               	.L150:
1162
 1195 0806 0E94 0000 		call ParamSet_DefaultSet2
1163
 1196 080a 00C0      		rjmp .L148
1164
 1197               	.L152:
1165
 1198 080c 0E94 0000 		call ParamSet_DefaultSet3
1166
 1199               	.L148:
1167
 1200 0810 DD20      		tst r13
1168
 1201 0812 01F0      		breq .L154
1169
 1202 0814 20E0      		ldi r18,lo8(pm(eeprom_read_byte))
1170
 1203 0816 30E0      		ldi r19,hi8(pm(eeprom_read_byte))
1171
 1204 0818 4CE0      		ldi r20,lo8(12)
1172
 1205 081a 50E0      		ldi r21,hi8(12)
1173
 1206 081c 60E5      		ldi r22,lo8(80)
1174
 1207 081e 70E0      		ldi r23,hi8(80)
1175
 1208 0820 80E0      		ldi r24,lo8(EE_Parameter+1)
1176
 1209 0822 90E0      		ldi r25,hi8(EE_Parameter+1)
1177
 1210 0824 0E94 0000 		call __eerd_block
1178
 1211 0828 00C0      		rjmp .L156
1179
 1212               	.L154:
1180
 1213 082a 0E94 0000 		call ParamSet_DefaultStickMapping
1181
 1214               	.L156:
1182
 1215 082e 8C2F      		mov r24,r28
1183
 1216 0830 0E94 0000 		call ParamSet_WriteToEEProm
1184
 1217               	.L145:
1185
 1218 0834 CF5F      		subi r28,lo8(-(1))
1186
 1219 0836 0F5F      		subi r16,lo8(-(1))
1187
 1220 0838 1F4F      		sbci r17,hi8(-(1))
1188
 1221 083a C630      		cpi r28,lo8(6)
1189
 1222 083c 00F4      		brsh .+2
1190
 1223 083e 00C0      		rjmp .L157
1191
 1224 0840 FF20      		tst r15
1192
 1225 0842 01F0      		breq .L158
1193
 1226 0844 83E0      		ldi r24,lo8(3)
1194
 1227 0846 0E94 0000 		call SetActiveParamSet
1195
 1228               	.L158:
1196
 1229 084a 0E94 0000 		call GetActiveParamSet
1197
 1230 084e C82F      		mov r28,r24
1198
 1231 0850 0E94 0000 		call ParamSet_ReadFromEEProm
1199
 1232 0854 8C2F      		mov r24,r28
1200
 1233 0856 9927      		clr r25
1201
 1234 0858 9F93      		push r25
1202
 1235 085a 8F93      		push r24
1203
 1236 085c 80E0      		ldi r24,lo8(__c.1)
1204
 1237 085e 90E0      		ldi r25,hi8(__c.1)
1205
 1238 0860 9F93      		push r25
1206
 1239 0862 8F93      		push r24
1207
 1240 0864 00E0      		ldi r16,lo8(pm(uart_putchar))
1208
 1241 0866 10E0      		ldi r17,hi8(pm(uart_putchar))
1209
 1242 0868 1F93      		push r17
1210
 1243 086a 0F93      		push r16
1211
 1244 086c E091 0000 		lds r30,_printf_P
1212
 1245 0870 F091 0000 		lds r31,(_printf_P)+1
1213
 1246 0874 0995      		icall
1214
 1247 0876 81E0      		ldi r24,lo8(1)
1215
 1248 0878 90E0      		ldi r25,hi8(1)
1216
 1249 087a 0E94 0000 		call GetParamByte
1217
 1250 087e 2DB7      		in r18,__SP_L__
1218
 1251 0880 3EB7      		in r19,__SP_H__
1219
 1252 0882 2A5F      		subi r18,lo8(-(6))
1220
 1253 0884 3F4F      		sbci r19,hi8(-(6))
1221
 1254 0886 2DBF      		out __SP_L__,r18
1222
 1255 0888 8F3F      		cpi r24,lo8(-1)
1223
 1256 088a 01F0      		breq .L160
1224
 1257 088c 0E94 0000 		call MixerTable_ReadFromEEProm
1225
 1258 0890 8823      		tst r24
1226
 1259 0892 01F4      		brne .L159
1227
 1260               	.L160:
1228
 1261 0894 80E0      		ldi r24,lo8(__c.2)
1229
 1262 0896 90E0      		ldi r25,hi8(__c.2)
1230
 1263 0898 9F93      		push r25
1231
 1264 089a 8F93      		push r24
1232
 1265 089c 1F93      		push r17
1233
 1266 089e 0F93      		push r16
1234
 1267 08a0 E091 0000 		lds r30,_printf_P
1235
 1268 08a4 F091 0000 		lds r31,(_printf_P)+1
1236
 1269 08a8 0995      		icall
1237
 1270 08aa 0E94 0000 		call MixerTable_Default
1238
 1271 08ae 0E94 0000 		call MixerTable_WriteToEEProm
1239
 1272 08b2 0F90      		pop __tmp_reg__
1240
 1273 08b4 0F90      		pop __tmp_reg__
1241
 1274 08b6 0F90      		pop __tmp_reg__
1242
 1275 08b8 0F90      		pop __tmp_reg__
1243
 1276               	.L159:
1244
 1277 08ba EE20      		tst r14
1245
 1278 08bc 01F0      		breq .L161
1246
 1279 08be 68E5      		ldi r22,lo8(88)
1247
 1280 08c0 81E0      		ldi r24,lo8(1)
1248
 1281 08c2 90E0      		ldi r25,hi8(1)
1249
 1282 08c4 0E94 0000 		call SetParamByte
1250
 1283               	.L161:
1251
 1284 08c8 1092 0000 		sts RequiredMotors,__zero_reg__
1252
 1285 08cc 90E0      		ldi r25,lo8(0)
1253
 1286 08ce E0E0      		ldi r30,lo8(Mixer+13)
1254
 1287 08d0 F0E0      		ldi r31,hi8(Mixer+13)
1255
 1288 08d2 CFE0      		ldi r28,lo8(15)
1256
 1289               	.L166:
1257
 1290 08d4 8081      		ld r24,Z
1258
 1291 08d6 3496      		adiw r30,4
1259
 1292 08d8 1816      		cp __zero_reg__,r24
1260
 1293 08da 04F4      		brge .L164
1261
 1294 08dc 9F5F      		subi r25,lo8(-(1))
1262
 1295               	.L164:
1263
 1296 08de C150      		subi r28,lo8(-(-1))
1264
 1297 08e0 C7FF      		sbrs r28,7
1265
 1298 08e2 00C0      		rjmp .L166
1266
 1299 08e4 9093 0000 		sts RequiredMotors,r25
1267
 1300 08e8 892F      		mov r24,r25
1268
 1301 08ea 9927      		clr r25
1269
 1302 08ec 9F93      		push r25
1270
 1303 08ee 8F93      		push r24
1271
 1304 08f0 80E0      		ldi r24,lo8(Mixer+1)
1272
 1305 08f2 90E0      		ldi r25,hi8(Mixer+1)
1273
 1306 08f4 9F93      		push r25
1274
 1307 08f6 8F93      		push r24
1275
 1308 08f8 80E0      		ldi r24,lo8(__c.3)
1276
 1309 08fa 90E0      		ldi r25,hi8(__c.3)
1277
 1310 08fc 9F93      		push r25
1278
 1311 08fe 8F93      		push r24
1279
 1312 0900 1F93      		push r17
1280
 1313 0902 0F93      		push r16
1281
 1314 0904 E091 0000 		lds r30,_printf_P
1282
 1315 0908 F091 0000 		lds r31,(_printf_P)+1
1283
 1316 090c 0995      		icall
1284
 1317 090e 8DB7      		in r24,__SP_L__
1285
 1318 0910 9EB7      		in r25,__SP_H__
1286
 1319 0912 0896      		adiw r24,8
1287
 1320 0914 8DBF      		out __SP_L__,r24
1288
 1321 0916 80E0      		ldi r24,lo8(__c.4)
1289
 1322 0918 90E0      		ldi r25,hi8(__c.4)
1290
 1323 091a 9F93      		push r25
1291
 1324 091c 8F93      		push r24
1292
 1325 091e 1F93      		push r17
1293
 1326 0920 0F93      		push r16
1294
 1327 0922 E091 0000 		lds r30,_printf_P
1295
 1328 0926 F091 0000 		lds r31,(_printf_P)+1
1296
 1329 092a 0995      		icall
1297
 1330 092c 0F90      		pop __tmp_reg__
1298
 1331 092e 0F90      		pop __tmp_reg__
1299
 1332 0930 0F90      		pop __tmp_reg__
1300
 1333 0932 0F90      		pop __tmp_reg__
1301
 1334               	/* epilogue: frame size=0 */
1302
 1335 0934 CF91      		pop r28
1303
 1336 0936 1F91      		pop r17
1304
 1337 0938 0F91      		pop r16
1305
 1338 093a FF90      		pop r15
1306
 1339 093c EF90      		pop r14
1307
 1340 093e DF90      		pop r13
1308
 1341 0940 0895      		ret
1309
 1342               	/* epilogue end (size=7) */
1310
 1343               	/* function ParamSet_Init size 246 (233) */
1311
 1345               		.comm Mixer,78,1
1312
 1346               		.comm RequiredMotors,1,1
1313
 1347               		.comm EE_Parameter,120,1
1314
 1348               		.comm Motorsmax,8,1
1315
 1349               		.comm MotorsTmax,2,1
1316
 1350               	/* File "eeprom.c": code 1311 = 0x051f (1247), prologues  22, epilogues  42 */
1317
DEFINED SYMBOLS
1318
                            *ABS*:00000000 eeprom.c
1319
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:3      *ABS*:0000003f __SREG__
1320
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:4      *ABS*:0000003e __SP_H__
1321
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:5      *ABS*:0000003d __SP_L__
1322
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:6      *ABS*:00000000 __tmp_reg__
1323
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:7      *ABS*:00000001 __zero_reg__
1324
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:12     .text:00000000 eeprom_read_byte
1325
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:34     .text:00000010 eeprom_write_byte
1326
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:60     .text:00000028 RAM_Checksum
1327
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:88     .text:0000004a EEProm_Checksum
1328
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:128    .text:0000007a ParamSet_DefaultStickMapping
1329
                            *COM*:00000078 EE_Parameter
1330
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:162    .text:000000c4 CommonDefaults
1331
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:313    .text:00000282 ParamSet_DefaultSet1
1332
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:369    .text:000002f2 ParamSet_DefaultSet2
1333
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:423    .text:0000035e ParamSet_DefaultSet3
1334
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:473    .text:000003cc GetParamByte
1335
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:496    .text:000003dc SetParamByte
1336
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:522    .text:000003f4 GetParamWord
1337
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:535    .text:000003fe SetParamWord
1338
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:548    .text:00000408 ParamSet_ReadFromEEProm
1339
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:652    .text:000004ae SetActiveParamSet
1340
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:689    .text:000004da ParamSet_WriteToEEProm
1341
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:777    .text:00000578 MixerTable_ReadFromEEProm
1342
                            *COM*:0000004e Mixer
1343
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:851    .text:000005e0 MixerTable_WriteToEEProm
1344
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:891    .text:00000618 MixerTable_Default
1345
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:953    .text:000006a6 GetActiveParamSet
1346
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1003   .text:000006e0 SetDefaultParameter
1347
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1086   .progmem.data:00000000 __c.0
1348
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1090   .progmem.data:00000026 __c.1
1349
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1094   .progmem.data:0000003f __c.2
1350
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1098   .progmem.data:00000060 __c.3
1351
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1102   .progmem.data:00000081 __c.4
1352
C:\Users\Thomas\AppData\Local\Temp/ccXJKQoi.s:1107   .text:00000766 ParamSet_Init
1353
                            *COM*:00000001 RequiredMotors
1354
                            *COM*:00000008 Motorsmax
1355
                            *COM*:00000002 MotorsTmax
1356
 
1357
UNDEFINED SYMBOLS
1358
__do_copy_data
1359
__do_clear_bss
1360
PlatinenVersion
1361
__eerd_word
1362
__eewr_word
1363
__eerd_block
1364
LED_Init
1365
LIBFC_CheckSettings
1366
__eewr_block
1367
uart_putchar
1368
_printf_P