Subversion Repositories FlightCtrl

Rev

Details | Last modification | View Log | RSS feed

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