1 .file "jetimenu.c" 2 __SREG__ = 0x3f 3 __SP_H__ = 0x3e 4 __SP_L__ = 0x3d 5 __CCP__ = 0x34 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .text 9 .global JetiBox_Update 11 JetiBox_Update: 12 0000 1F93 push r17 13 /* prologue: function */ 14 /* frame size = 0 */ 15 0002 182F mov r17,r24 16 0004 9091 0000 lds r25,item.2348 17 0008 9093 0000 sts last_item.2349,r25 18 000c 8F32 cpi r24,lo8(47) 19 000e 01F0 breq .L4 20 0010 8033 cpi r24,lo8(48) 21 0012 00F4 brsh .L7 22 0014 8F31 cpi r24,lo8(31) 23 0016 01F4 brne .L2 24 0018 00C0 rjmp .L13 25 .L7: 26 001a 8F34 cpi r24,lo8(79) 27 001c 01F0 breq .L5 28 001e 8F38 cpi r24,lo8(-113) 29 0020 01F4 brne .L2 30 0022 9923 tst r25 31 0024 01F4 brne .L8 32 0026 81E0 ldi r24,lo8(1) 33 0028 00C0 rjmp .L9 34 .L8: 35 002a E6E0 ldi r30,lo8(6) 36 002c 9E9F mul r25,r30 37 002e F001 movw r30,r0 38 0030 1124 clr r1 39 0032 E050 subi r30,lo8(-(JetiBox_Menu)) 40 0034 F040 sbci r31,hi8(-(JetiBox_Menu)) 41 /* #APP */ 42 ; 138 "jetimenu.c" 1 43 0036 E491 lpm r30, Z 44 45 ; 0 "" 2 46 /* #NOAPP */ 47 0038 00C0 rjmp .L12 48 .L13: 49 003a E6E0 ldi r30,lo8(6) 50 003c 9E9F mul r25,r30 51 003e F001 movw r30,r0 52 0040 1124 clr r1 53 0042 E050 subi r30,lo8(-(JetiBox_Menu+1)) 54 0044 F040 sbci r31,hi8(-(JetiBox_Menu+1)) 55 /* #APP */ 56 ; 141 "jetimenu.c" 1 57 0046 E491 lpm r30, Z 58 59 ; 0 "" 2 60 /* #NOAPP */ 61 0048 00C0 rjmp .L12 62 .L4: 63 004a E6E0 ldi r30,lo8(6) 64 004c 9E9F mul r25,r30 65 004e F001 movw r30,r0 66 0050 1124 clr r1 67 0052 E050 subi r30,lo8(-(JetiBox_Menu+2)) 68 0054 F040 sbci r31,hi8(-(JetiBox_Menu+2)) 69 /* #APP */ 70 ; 144 "jetimenu.c" 1 71 0056 E491 lpm r30, Z 72 73 ; 0 "" 2 74 /* #NOAPP */ 75 0058 00C0 rjmp .L12 76 .L5: 77 005a E6E0 ldi r30,lo8(6) 78 005c 9E9F mul r25,r30 79 005e F001 movw r30,r0 80 0060 1124 clr r1 81 0062 E050 subi r30,lo8(-(JetiBox_Menu+3)) 82 0064 F040 sbci r31,hi8(-(JetiBox_Menu+3)) 83 /* #APP */ 84 ; 147 "jetimenu.c" 1 85 0066 E491 lpm r30, Z 86 87 ; 0 "" 2 88 /* #NOAPP */ 89 .L12: 90 0068 E093 0000 sts item.2348,r30 91 .L2: 92 006c 8091 0000 lds r24,item.2348 93 0070 8913 cpse r24,r25 94 0072 10E0 ldi r17,lo8(0) 95 .L10: 96 0074 0E94 0000 call LIBFC_JetiBox_Clear 97 0078 8091 0000 lds r24,item.2348 98 007c 96E0 ldi r25,lo8(6) 99 007e 899F mul r24,r25 100 0080 C001 movw r24,r0 101 0082 1124 clr r1 102 0084 8050 subi r24,lo8(-(JetiBox_Menu+4)) 103 0086 9040 sbci r25,hi8(-(JetiBox_Menu+4)) 104 0088 FC01 movw r30,r24 105 /* #APP */ 106 ; 158 "jetimenu.c" 1 107 008a 2591 lpm r18, Z+ 108 008c 3491 lpm r19, Z 109 110 ; 0 "" 2 111 /* #NOAPP */ 112 008e 812F mov r24,r17 113 0090 F901 movw r30,r18 114 0092 0995 icall 115 0094 80E0 ldi r24,lo8(0) 116 .L9: 117 /* epilogue start */ 118 0096 1F91 pop r17 119 0098 0895 ret 121 .global Menu_PosInfo 123 Menu_PosInfo: 124 009a CF93 push r28 125 009c DF93 push r29 126 /* prologue: function */ 127 /* frame size = 0 */ 128 009e 8091 0000 lds r24,NaviDataOkay 129 00a2 C0E0 ldi r28,lo8(gs(LIBFC_JetiBox_Putchar)) 130 00a4 D0E0 ldi r29,hi8(gs(LIBFC_JetiBox_Putchar)) 131 00a6 8823 tst r24 132 00a8 01F4 brne .+2 133 00aa 00C0 rjmp .L15 134 00ac 80E0 ldi r24,lo8(0) 135 00ae 0E94 0000 call LIBFC_JetiBox_SetPos 136 00b2 8DB7 in r24,__SP_L__ 137 00b4 9EB7 in r25,__SP_H__ 138 00b6 0897 sbiw r24,8 139 00b8 8DBF out __SP_L__,r24 140 00ba EDB7 in r30,__SP_L__ 141 00bc FEB7 in r31,__SP_H__ 142 00be 3196 adiw r30,1 143 00c0 ADB7 in r26,__SP_L__ 144 00c2 BEB7 in r27,__SP_H__ 145 00c4 1296 adiw r26,1+1 146 00c6 DC93 st X,r29 147 00c8 CE93 st -X,r28 148 00ca 1197 sbiw r26,1 149 00cc 80E0 ldi r24,lo8(__c.2304) 150 00ce 90E0 ldi r25,hi8(__c.2304) 151 00d0 9383 std Z+3,r25 152 00d2 8283 std Z+2,r24 153 00d4 8091 0000 lds r24,GPSInfo+3 154 00d8 8483 std Z+4,r24 155 00da 1582 std Z+5,__zero_reg__ 156 00dc 8091 0000 lds r24,GPSInfo+1 157 00e0 8683 std Z+6,r24 158 00e2 1782 std Z+7,__zero_reg__ 159 00e4 E091 0000 lds r30,_printf_P 160 00e8 F091 0000 lds r31,(_printf_P)+1 161 00ec 0995 icall 162 00ee EDB7 in r30,__SP_L__ 163 00f0 FEB7 in r31,__SP_H__ 164 00f2 3896 adiw r30,8 165 00f4 EDBF out __SP_L__,r30 166 00f6 8091 0000 lds r24,GPSInfo+2 167 00fa 8330 cpi r24,lo8(3) 168 00fc 01F4 brne .L22 169 00fe 8CE0 ldi r24,lo8(12) 170 0100 0E94 0000 call LIBFC_JetiBox_SetPos 171 0104 00D0 rcall . 172 0106 00D0 rcall . 173 0108 ADB7 in r26,__SP_L__ 174 010a BEB7 in r27,__SP_H__ 175 010c 1296 adiw r26,1+1 176 010e DC93 st X,r29 177 0110 CE93 st -X,r28 178 0112 1197 sbiw r26,1 179 0114 80E0 ldi r24,lo8(__c.2307) 180 0116 90E0 ldi r25,hi8(__c.2307) 181 0118 1496 adiw r26,3+1 182 011a 9C93 st X,r25 183 011c 8E93 st -X,r24 184 011e 1397 sbiw r26,3 185 0120 00C0 rjmp .L23 186 .L22: 187 0122 8CE0 ldi r24,lo8(12) 188 0124 0E94 0000 call LIBFC_JetiBox_SetPos 189 0128 00D0 rcall . 190 012a 00D0 rcall . 191 012c EDB7 in r30,__SP_L__ 192 012e FEB7 in r31,__SP_H__ 193 0130 D283 std Z+2,r29 194 0132 C183 std Z+1,r28 195 0134 80E0 ldi r24,lo8(__c.2313) 196 0136 90E0 ldi r25,hi8(__c.2313) 197 0138 9483 std Z+4,r25 198 013a 8383 std Z+3,r24 199 .L23: 200 013c E091 0000 lds r30,_printf_P 201 0140 F091 0000 lds r31,(_printf_P)+1 202 0144 0995 icall 203 0146 0F90 pop __tmp_reg__ 204 0148 0F90 pop __tmp_reg__ 205 014a 0F90 pop __tmp_reg__ 206 014c 0F90 pop __tmp_reg__ 207 014e 8091 0000 lds r24,GPSInfo 208 0152 81FF sbrs r24,1 209 0154 00C0 rjmp .L19 210 0156 8CE0 ldi r24,lo8(12) 211 0158 0E94 0000 call LIBFC_JetiBox_SetPos 212 015c 00D0 rcall . 213 015e 00D0 rcall . 214 0160 80E0 ldi r24,lo8(gs(LIBFC_JetiBox_Putchar)) 215 0162 90E0 ldi r25,hi8(gs(LIBFC_JetiBox_Putchar)) 216 0164 ADB7 in r26,__SP_L__ 217 0166 BEB7 in r27,__SP_H__ 218 0168 1296 adiw r26,1+1 219 016a 9C93 st X,r25 220 016c 8E93 st -X,r24 221 016e 1197 sbiw r26,1 222 0170 80E0 ldi r24,lo8(__c.2315) 223 0172 90E0 ldi r25,hi8(__c.2315) 224 0174 1496 adiw r26,3+1 225 0176 9C93 st X,r25 226 0178 8E93 st -X,r24 227 017a 1397 sbiw r26,3 228 017c E091 0000 lds r30,_printf_P 229 0180 F091 0000 lds r31,(_printf_P)+1 230 0184 0995 icall 231 0186 0F90 pop __tmp_reg__ 232 0188 0F90 pop __tmp_reg__ 233 018a 0F90 pop __tmp_reg__ 234 018c 0F90 pop __tmp_reg__ 235 .L19: 236 018e 80E1 ldi r24,lo8(16) 237 0190 0E94 0000 call LIBFC_JetiBox_SetPos 238 0194 EDB7 in r30,__SP_L__ 239 0196 FEB7 in r31,__SP_H__ 240 0198 3A97 sbiw r30,10 241 019a EDBF out __SP_L__,r30 242 019c 3196 adiw r30,1 243 019e 80E0 ldi r24,lo8(gs(LIBFC_JetiBox_Putchar)) 244 01a0 90E0 ldi r25,hi8(gs(LIBFC_JetiBox_Putchar)) 245 01a2 ADB7 in r26,__SP_L__ 246 01a4 BEB7 in r27,__SP_H__ 247 01a6 1296 adiw r26,1+1 248 01a8 9C93 st X,r25 249 01aa 8E93 st -X,r24 250 01ac 1197 sbiw r26,1 251 01ae 80E0 ldi r24,lo8(__c.2317) 252 01b0 90E0 ldi r25,hi8(__c.2317) 253 01b2 9383 std Z+3,r25 254 01b4 8283 std Z+2,r24 255 01b6 8091 0000 lds r24,GPSInfo+4 256 01ba 9091 0000 lds r25,(GPSInfo+4)+1 257 01be 6AE0 ldi r22,lo8(10) 258 01c0 70E0 ldi r23,hi8(10) 259 01c2 0E94 0000 call __udivmodhi4 260 01c6 7583 std Z+5,r23 261 01c8 6483 std Z+4,r22 262 01ca 8091 0000 lds r24,GPSInfo+6 263 01ce 9091 0000 lds r25,(GPSInfo+6)+1 264 01d2 9783 std Z+7,r25 265 01d4 8683 std Z+6,r24 266 01d6 8FED ldi r24,lo8(223) 267 01d8 90E0 ldi r25,hi8(223) 268 01da 9187 std Z+9,r25 269 01dc 8087 std Z+8,r24 270 01de E091 0000 lds r30,_printf_P 271 01e2 F091 0000 lds r31,(_printf_P)+1 272 01e6 0995 icall 273 01e8 EDB7 in r30,__SP_L__ 274 01ea FEB7 in r31,__SP_H__ 275 01ec 3A96 adiw r30,10 276 01ee EDBF out __SP_L__,r30 277 01f0 00C0 rjmp .L21 278 .L15: 279 01f2 82E0 ldi r24,lo8(2) 280 01f4 0E94 0000 call LIBFC_JetiBox_SetPos 281 01f8 00D0 rcall . 282 01fa 00D0 rcall . 283 01fc ADB7 in r26,__SP_L__ 284 01fe BEB7 in r27,__SP_H__ 285 0200 1296 adiw r26,1+1 286 0202 DC93 st X,r29 287 0204 CE93 st -X,r28 288 0206 1197 sbiw r26,1 289 0208 80E0 ldi r24,lo8(__c.2319) 290 020a 90E0 ldi r25,hi8(__c.2319) 291 020c 1496 adiw r26,3+1 292 020e 9C93 st X,r25 293 0210 8E93 st -X,r24 294 0212 1397 sbiw r26,3 295 0214 E091 0000 lds r30,_printf_P 296 0218 F091 0000 lds r31,(_printf_P)+1 297 021c 0995 icall 298 021e 0F90 pop __tmp_reg__ 299 0220 0F90 pop __tmp_reg__ 300 0222 0F90 pop __tmp_reg__ 301 0224 0F90 pop __tmp_reg__ 302 .L21: 303 /* epilogue start */ 304 0226 DF91 pop r29 305 0228 CF91 pop r28 306 022a 0895 ret 308 .global Menu_Battery 310 Menu_Battery: 311 022c CF92 push r12 312 022e DF92 push r13 313 0230 EF92 push r14 314 0232 FF92 push r15 315 0234 0F93 push r16 316 0236 1F93 push r17 317 /* prologue: function */ 318 /* frame size = 0 */ 319 0238 80E0 ldi r24,lo8(0) 320 023a 0E94 0000 call LIBFC_JetiBox_SetPos 321 023e 8091 0000 lds r24,UBat 322 0242 9091 0000 lds r25,(UBat)+1 323 0246 0091 0000 lds r16,UBat 324 024a 1091 0000 lds r17,(UBat)+1 325 024e E090 0000 lds r14,Capacity 326 0252 F090 0000 lds r15,(Capacity)+1 327 0256 2DB7 in r18,__SP_L__ 328 0258 3EB7 in r19,__SP_H__ 329 025a 2C50 subi r18,lo8(-(-12)) 330 025c 3040 sbci r19,hi8(-(-12)) 331 025e 2DBF out __SP_L__,r18 332 0260 EDB7 in r30,__SP_L__ 333 0262 FEB7 in r31,__SP_H__ 334 0264 3196 adiw r30,1 335 0266 20E0 ldi r18,lo8(gs(LIBFC_JetiBox_Putchar)) 336 0268 C22E mov r12,r18 337 026a 20E0 ldi r18,hi8(gs(LIBFC_JetiBox_Putchar)) 338 026c D22E mov r13,r18 339 026e ADB7 in r26,__SP_L__ 340 0270 BEB7 in r27,__SP_H__ 341 0272 1296 adiw r26,1+1 342 0274 DC92 st X,r13 343 0276 CE92 st -X,r12 344 0278 1197 sbiw r26,1 345 027a 20E0 ldi r18,lo8(__c.2287) 346 027c 30E0 ldi r19,hi8(__c.2287) 347 027e 3383 std Z+3,r19 348 0280 2283 std Z+2,r18 349 0282 6AE0 ldi r22,lo8(10) 350 0284 70E0 ldi r23,hi8(10) 351 0286 0E94 0000 call __divmodhi4 352 028a 7583 std Z+5,r23 353 028c 6483 std Z+4,r22 354 028e C801 movw r24,r16 355 0290 6AE0 ldi r22,lo8(10) 356 0292 70E0 ldi r23,hi8(10) 357 0294 0E94 0000 call __divmodhi4 358 0298 9783 std Z+7,r25 359 029a 8683 std Z+6,r24 360 029c C701 movw r24,r14 361 029e 6AE0 ldi r22,lo8(10) 362 02a0 70E0 ldi r23,hi8(10) 363 02a2 0E94 0000 call __udivmodhi4 364 02a6 7187 std Z+9,r23 365 02a8 6087 std Z+8,r22 366 02aa C701 movw r24,r14 367 02ac 6AE0 ldi r22,lo8(10) 368 02ae 70E0 ldi r23,hi8(10) 369 02b0 0E94 0000 call __udivmodhi4 370 02b4 9387 std Z+11,r25 371 02b6 8287 std Z+10,r24 372 02b8 E091 0000 lds r30,_printf_P 373 02bc F091 0000 lds r31,(_printf_P)+1 374 02c0 0995 icall 375 02c2 2DB7 in r18,__SP_L__ 376 02c4 3EB7 in r19,__SP_H__ 377 02c6 245F subi r18,lo8(-(12)) 378 02c8 3F4F sbci r19,hi8(-(12)) 379 02ca 2DBF out __SP_L__,r18 380 02cc 80E1 ldi r24,lo8(16) 381 02ce 0E94 0000 call LIBFC_JetiBox_SetPos 382 02d2 8DB7 in r24,__SP_L__ 383 02d4 9EB7 in r25,__SP_H__ 384 02d6 0897 sbiw r24,8 385 02d8 8DBF out __SP_L__,r24 386 02da EDB7 in r30,__SP_L__ 387 02dc FEB7 in r31,__SP_H__ 388 02de 3196 adiw r30,1 389 02e0 ADB7 in r26,__SP_L__ 390 02e2 BEB7 in r27,__SP_H__ 391 02e4 1296 adiw r26,1+1 392 02e6 DC92 st X,r13 393 02e8 CE92 st -X,r12 394 02ea 1197 sbiw r26,1 395 02ec 80E0 ldi r24,lo8(__c.2289) 396 02ee 90E0 ldi r25,hi8(__c.2289) 397 02f0 9383 std Z+3,r25 398 02f2 8283 std Z+2,r24 399 02f4 8091 0000 lds r24,Capacity+2 400 02f8 9091 0000 lds r25,(Capacity+2)+1 401 02fc 9583 std Z+5,r25 402 02fe 8483 std Z+4,r24 403 0300 8091 0000 lds r24,Capacity+4 404 0304 9091 0000 lds r25,(Capacity+4)+1 405 0308 9783 std Z+7,r25 406 030a 8683 std Z+6,r24 407 030c E091 0000 lds r30,_printf_P 408 0310 F091 0000 lds r31,(_printf_P)+1 409 0314 0995 icall 410 0316 2DB7 in r18,__SP_L__ 411 0318 3EB7 in r19,__SP_H__ 412 031a 285F subi r18,lo8(-(8)) 413 031c 3F4F sbci r19,hi8(-(8)) 414 031e 2DBF out __SP_L__,r18 415 /* epilogue start */ 416 0320 1F91 pop r17 417 0322 0F91 pop r16 418 0324 FF90 pop r15 419 0326 EF90 pop r14 420 0328 DF90 pop r13 421 032a CF90 pop r12 422 032c 0895 ret 424 .global Menu_Temperature 426 Menu_Temperature: 427 032e CF93 push r28 428 0330 DF93 push r29 429 /* prologue: function */ 430 /* frame size = 0 */ 431 0332 80E0 ldi r24,lo8(0) 432 0334 0E94 0000 call LIBFC_JetiBox_SetPos 433 0338 2DB7 in r18,__SP_L__ 434 033a 3EB7 in r19,__SP_H__ 435 033c 2C50 subi r18,lo8(-(-12)) 436 033e 3040 sbci r19,hi8(-(-12)) 437 0340 2DBF out __SP_L__,r18 438 0342 EDB7 in r30,__SP_L__ 439 0344 FEB7 in r31,__SP_H__ 440 0346 3196 adiw r30,1 441 0348 C0E0 ldi r28,lo8(gs(LIBFC_JetiBox_Putchar)) 442 034a D0E0 ldi r29,hi8(gs(LIBFC_JetiBox_Putchar)) 443 034c ADB7 in r26,__SP_L__ 444 034e BEB7 in r27,__SP_H__ 445 0350 1296 adiw r26,1+1 446 0352 DC93 st X,r29 447 0354 CE93 st -X,r28 448 0356 1197 sbiw r26,1 449 0358 80E0 ldi r24,lo8(__c.2258) 450 035a 90E0 ldi r25,hi8(__c.2258) 451 035c 9383 std Z+3,r25 452 035e 8283 std Z+2,r24 453 0360 8091 0000 lds r24,Motor+7 454 0364 9927 clr r25 455 0366 87FD sbrc r24,7 456 0368 9095 com r25 457 036a 9583 std Z+5,r25 458 036c 8483 std Z+4,r24 459 036e 8091 0000 lds r24,Motor+15 460 0372 9927 clr r25 461 0374 87FD sbrc r24,7 462 0376 9095 com r25 463 0378 9783 std Z+7,r25 464 037a 8683 std Z+6,r24 465 037c 8091 0000 lds r24,Motor+23 466 0380 9927 clr r25 467 0382 87FD sbrc r24,7 468 0384 9095 com r25 469 0386 9187 std Z+9,r25 470 0388 8087 std Z+8,r24 471 038a 8091 0000 lds r24,Motor+31 472 038e 9927 clr r25 473 0390 87FD sbrc r24,7 474 0392 9095 com r25 475 0394 9387 std Z+11,r25 476 0396 8287 std Z+10,r24 477 0398 E091 0000 lds r30,_printf_P 478 039c F091 0000 lds r31,(_printf_P)+1 479 03a0 0995 icall 480 03a2 EDB7 in r30,__SP_L__ 481 03a4 FEB7 in r31,__SP_H__ 482 03a6 3C96 adiw r30,12 483 03a8 EDBF out __SP_L__,r30 484 03aa 80E1 ldi r24,lo8(16) 485 03ac 0E94 0000 call LIBFC_JetiBox_SetPos 486 03b0 2DB7 in r18,__SP_L__ 487 03b2 3EB7 in r19,__SP_H__ 488 03b4 2C50 subi r18,lo8(-(-12)) 489 03b6 3040 sbci r19,hi8(-(-12)) 490 03b8 2DBF out __SP_L__,r18 491 03ba EDB7 in r30,__SP_L__ 492 03bc FEB7 in r31,__SP_H__ 493 03be 3196 adiw r30,1 494 03c0 ADB7 in r26,__SP_L__ 495 03c2 BEB7 in r27,__SP_H__ 496 03c4 1296 adiw r26,1+1 497 03c6 DC93 st X,r29 498 03c8 CE93 st -X,r28 499 03ca 1197 sbiw r26,1 500 03cc 80E0 ldi r24,lo8(__c.2260) 501 03ce 90E0 ldi r25,hi8(__c.2260) 502 03d0 9383 std Z+3,r25 503 03d2 8283 std Z+2,r24 504 03d4 8091 0000 lds r24,Motor+39 505 03d8 9927 clr r25 506 03da 87FD sbrc r24,7 507 03dc 9095 com r25 508 03de 9583 std Z+5,r25 509 03e0 8483 std Z+4,r24 510 03e2 8091 0000 lds r24,Motor+47 511 03e6 9927 clr r25 512 03e8 87FD sbrc r24,7 513 03ea 9095 com r25 514 03ec 9783 std Z+7,r25 515 03ee 8683 std Z+6,r24 516 03f0 8091 0000 lds r24,Motor+55 517 03f4 9927 clr r25 518 03f6 87FD sbrc r24,7 519 03f8 9095 com r25 520 03fa 9187 std Z+9,r25 521 03fc 8087 std Z+8,r24 522 03fe 8091 0000 lds r24,Motor+63 523 0402 9927 clr r25 524 0404 87FD sbrc r24,7 525 0406 9095 com r25 526 0408 9387 std Z+11,r25 527 040a 8287 std Z+10,r24 528 040c E091 0000 lds r30,_printf_P 529 0410 F091 0000 lds r31,(_printf_P)+1 530 0414 0995 icall 531 0416 8091 0000 lds r24,RequiredMotors 532 041a EDB7 in r30,__SP_L__ 533 041c FEB7 in r31,__SP_H__ 534 041e 3C96 adiw r30,12 535 0420 EDBF out __SP_L__,r30 536 0422 8530 cpi r24,lo8(5) 537 0424 00F4 brsh .L27 538 0426 80E1 ldi r24,lo8(16) 539 0428 0E94 0000 call LIBFC_JetiBox_SetPos 540 042c 00D0 rcall . 541 042e 00D0 rcall . 542 0430 ADB7 in r26,__SP_L__ 543 0432 BEB7 in r27,__SP_H__ 544 0434 1296 adiw r26,1+1 545 0436 DC93 st X,r29 546 0438 CE93 st -X,r28 547 043a 1197 sbiw r26,1 548 043c 80E0 ldi r24,lo8(__c.2262) 549 043e 90E0 ldi r25,hi8(__c.2262) 550 0440 1496 adiw r26,3+1 551 0442 9C93 st X,r25 552 0444 8E93 st -X,r24 553 0446 1397 sbiw r26,3 554 0448 E091 0000 lds r30,_printf_P 555 044c F091 0000 lds r31,(_printf_P)+1 556 0450 0995 icall 557 0452 0F90 pop __tmp_reg__ 558 0454 0F90 pop __tmp_reg__ 559 0456 0F90 pop __tmp_reg__ 560 0458 0F90 pop __tmp_reg__ 561 045a 00C0 rjmp .L29 562 .L27: 563 045c 8730 cpi r24,lo8(7) 564 045e 00F4 brsh .L29 565 0460 88E1 ldi r24,lo8(24) 566 0462 0E94 0000 call LIBFC_JetiBox_SetPos 567 0466 00D0 rcall . 568 0468 00D0 rcall . 569 046a 00D0 rcall . 570 046c EDB7 in r30,__SP_L__ 571 046e FEB7 in r31,__SP_H__ 572 0470 3196 adiw r30,1 573 0472 ADB7 in r26,__SP_L__ 574 0474 BEB7 in r27,__SP_H__ 575 0476 1296 adiw r26,1+1 576 0478 DC93 st X,r29 577 047a CE93 st -X,r28 578 047c 1197 sbiw r26,1 579 047e 80E0 ldi r24,lo8(__c.2264) 580 0480 90E0 ldi r25,hi8(__c.2264) 581 0482 9383 std Z+3,r25 582 0484 8283 std Z+2,r24 583 0486 8FED ldi r24,lo8(223) 584 0488 90E0 ldi r25,hi8(223) 585 048a 9583 std Z+5,r25 586 048c 8483 std Z+4,r24 587 048e E091 0000 lds r30,_printf_P 588 0492 F091 0000 lds r31,(_printf_P)+1 589 0496 0995 icall 590 0498 EDB7 in r30,__SP_L__ 591 049a FEB7 in r31,__SP_H__ 592 049c 3696 adiw r30,6 593 049e EDBF out __SP_L__,r30 594 .L29: 595 /* epilogue start */ 596 04a0 DF91 pop r29 597 04a2 CF91 pop r28 598 04a4 0895 ret 600 .global Menu_Status 602 Menu_Status: 603 04a6 0F93 push r16 604 04a8 1F93 push r17 605 04aa CF93 push r28 606 04ac DF93 push r29 607 /* prologue: function */ 608 /* frame size = 0 */ 609 04ae 80E0 ldi r24,lo8(0) 610 04b0 0E94 0000 call LIBFC_JetiBox_SetPos 611 04b4 8091 0000 lds r24,UBat 612 04b8 9091 0000 lds r25,(UBat)+1 613 04bc 0091 0000 lds r16,UBat 614 04c0 1091 0000 lds r17,(UBat)+1 615 04c4 2DB7 in r18,__SP_L__ 616 04c6 3EB7 in r19,__SP_H__ 617 04c8 2850 subi r18,lo8(-(-8)) 618 04ca 3040 sbci r19,hi8(-(-8)) 619 04cc 2DBF out __SP_L__,r18 620 04ce EDB7 in r30,__SP_L__ 621 04d0 FEB7 in r31,__SP_H__ 622 04d2 3196 adiw r30,1 623 04d4 C0E0 ldi r28,lo8(gs(LIBFC_JetiBox_Putchar)) 624 04d6 D0E0 ldi r29,hi8(gs(LIBFC_JetiBox_Putchar)) 625 04d8 ADB7 in r26,__SP_L__ 626 04da BEB7 in r27,__SP_H__ 627 04dc 1296 adiw r26,1+1 628 04de DC93 st X,r29 629 04e0 CE93 st -X,r28 630 04e2 1197 sbiw r26,1 631 04e4 20E0 ldi r18,lo8(__c.2216) 632 04e6 30E0 ldi r19,hi8(__c.2216) 633 04e8 3383 std Z+3,r19 634 04ea 2283 std Z+2,r18 635 04ec 6AE0 ldi r22,lo8(10) 636 04ee 70E0 ldi r23,hi8(10) 637 04f0 0E94 0000 call __divmodhi4 638 04f4 7583 std Z+5,r23 639 04f6 6483 std Z+4,r22 640 04f8 C801 movw r24,r16 641 04fa 6AE0 ldi r22,lo8(10) 642 04fc 70E0 ldi r23,hi8(10) 643 04fe 0E94 0000 call __divmodhi4 644 0502 9783 std Z+7,r25 645 0504 8683 std Z+6,r24 646 0506 E091 0000 lds r30,_printf_P 647 050a F091 0000 lds r31,(_printf_P)+1 648 050e 0995 icall 649 0510 EDB7 in r30,__SP_L__ 650 0512 FEB7 in r31,__SP_H__ 651 0514 3896 adiw r30,8 652 0516 EDBF out __SP_L__,r30 653 0518 8091 0000 lds r24,NaviDataOkay 654 051c 8823 tst r24 655 051e 01F4 brne .+2 656 0520 00C0 rjmp .L31 657 0522 86E0 ldi r24,lo8(6) 658 0524 0E94 0000 call LIBFC_JetiBox_SetPos 659 0528 2DB7 in r18,__SP_L__ 660 052a 3EB7 in r19,__SP_H__ 661 052c 2A50 subi r18,lo8(-(-10)) 662 052e 3040 sbci r19,hi8(-(-10)) 663 0530 2DBF out __SP_L__,r18 664 0532 0DB7 in r16,__SP_L__ 665 0534 1EB7 in r17,__SP_H__ 666 0536 0F5F subi r16,lo8(-(1)) 667 0538 1F4F sbci r17,hi8(-(1)) 668 053a ADB7 in r26,__SP_L__ 669 053c BEB7 in r27,__SP_H__ 670 053e 1296 adiw r26,1+1 671 0540 DC93 st X,r29 672 0542 CE93 st -X,r28 673 0544 1197 sbiw r26,1 674 0546 80E0 ldi r24,lo8(__c.2218) 675 0548 90E0 ldi r25,hi8(__c.2218) 676 054a F801 movw r30,r16 677 054c 9383 std Z+3,r25 678 054e 8283 std Z+2,r24 679 0550 6091 0000 lds r22,ErsatzKompass 680 0554 7091 0000 lds r23,(ErsatzKompass)+1 681 0558 8091 0000 lds r24,(ErsatzKompass)+2 682 055c 9091 0000 lds r25,(ErsatzKompass)+3 683 0560 2091 0000 lds r18,GIER_GRAD_FAKTOR 684 0564 3091 0000 lds r19,(GIER_GRAD_FAKTOR)+1 685 0568 4091 0000 lds r20,(GIER_GRAD_FAKTOR)+2 686 056c 5091 0000 lds r21,(GIER_GRAD_FAKTOR)+3 687 0570 0E94 0000 call __divmodsi4 688 0574 D801 movw r26,r16 689 0576 1596 adiw r26,4+1 690 0578 3C93 st X,r19 691 057a 2E93 st -X,r18 692 057c 1497 sbiw r26,4 693 057e 8FED ldi r24,lo8(223) 694 0580 90E0 ldi r25,hi8(223) 695 0582 1796 adiw r26,6+1 696 0584 9C93 st X,r25 697 0586 8E93 st -X,r24 698 0588 1697 sbiw r26,6 699 058a 8091 0000 lds r24,GPSInfo+4 700 058e 9091 0000 lds r25,(GPSInfo+4)+1 701 0592 6AE0 ldi r22,lo8(10) 702 0594 70E0 ldi r23,hi8(10) 703 0596 0E94 0000 call __udivmodhi4 704 059a F801 movw r30,r16 705 059c 7187 std Z+9,r23 706 059e 6087 std Z+8,r22 707 05a0 E091 0000 lds r30,_printf_P 708 05a4 F091 0000 lds r31,(_printf_P)+1 709 05a8 0995 icall 710 05aa 2DB7 in r18,__SP_L__ 711 05ac 3EB7 in r19,__SP_H__ 712 05ae 265F subi r18,lo8(-(10)) 713 05b0 3F4F sbci r19,hi8(-(10)) 714 05b2 2DBF out __SP_L__,r18 715 05b4 00C0 rjmp .L32 716 .L31: 717 05b6 86E0 ldi r24,lo8(6) 718 05b8 0E94 0000 call LIBFC_JetiBox_SetPos 719 05bc 00D0 rcall . 720 05be 00D0 rcall . 721 05c0 ADB7 in r26,__SP_L__ 722 05c2 BEB7 in r27,__SP_H__ 723 05c4 1296 adiw r26,1+1 724 05c6 DC93 st X,r29 725 05c8 CE93 st -X,r28 726 05ca 1197 sbiw r26,1 727 05cc 80E0 ldi r24,lo8(__c.2220) 728 05ce 90E0 ldi r25,hi8(__c.2220) 729 05d0 1496 adiw r26,3+1 730 05d2 9C93 st X,r25 731 05d4 8E93 st -X,r24 732 05d6 1397 sbiw r26,3 733 05d8 E091 0000 lds r30,_printf_P 734 05dc F091 0000 lds r31,(_printf_P)+1 735 05e0 0995 icall 736 05e2 0F90 pop __tmp_reg__ 737 05e4 0F90 pop __tmp_reg__ 738 05e6 0F90 pop __tmp_reg__ 739 05e8 0F90 pop __tmp_reg__ 740 .L32: 741 05ea 8091 0000 lds r24,NC_ErrorCode 742 05ee 8823 tst r24 743 05f0 01F0 breq .L33 744 05f2 86E0 ldi r24,lo8(6) 745 05f4 0E94 0000 call LIBFC_JetiBox_SetPos 746 05f8 00D0 rcall . 747 05fa 00D0 rcall . 748 05fc 00D0 rcall . 749 05fe EDB7 in r30,__SP_L__ 750 0600 FEB7 in r31,__SP_H__ 751 0602 3196 adiw r30,1 752 0604 80E0 ldi r24,lo8(gs(LIBFC_JetiBox_Putchar)) 753 0606 90E0 ldi r25,hi8(gs(LIBFC_JetiBox_Putchar)) 754 0608 ADB7 in r26,__SP_L__ 755 060a BEB7 in r27,__SP_H__ 756 060c 1296 adiw r26,1+1 757 060e 9C93 st X,r25 758 0610 8E93 st -X,r24 759 0612 1197 sbiw r26,1 760 0614 80E0 ldi r24,lo8(__c.2222) 761 0616 90E0 ldi r25,hi8(__c.2222) 762 0618 9383 std Z+3,r25 763 061a 8283 std Z+2,r24 764 061c 8091 0000 lds r24,NC_ErrorCode 765 0620 8483 std Z+4,r24 766 0622 1582 std Z+5,__zero_reg__ 767 0624 E091 0000 lds r30,_printf_P 768 0628 F091 0000 lds r31,(_printf_P)+1 769 062c 0995 icall 770 062e EDB7 in r30,__SP_L__ 771 0630 FEB7 in r31,__SP_H__ 772 0632 3696 adiw r30,6 773 0634 EDBF out __SP_L__,r30 774 .L33: 775 0636 80E1 ldi r24,lo8(16) 776 0638 0E94 0000 call LIBFC_JetiBox_SetPos 777 063c 2091 0000 lds r18,FlugSekunden 778 0640 3091 0000 lds r19,(FlugSekunden)+1 779 0644 8DB7 in r24,__SP_L__ 780 0646 9EB7 in r25,__SP_H__ 781 0648 0A97 sbiw r24,10 782 064a 8DBF out __SP_L__,r24 783 064c EDB7 in r30,__SP_L__ 784 064e FEB7 in r31,__SP_H__ 785 0650 3196 adiw r30,1 786 0652 C0E0 ldi r28,lo8(gs(LIBFC_JetiBox_Putchar)) 787 0654 D0E0 ldi r29,hi8(gs(LIBFC_JetiBox_Putchar)) 788 0656 ADB7 in r26,__SP_L__ 789 0658 BEB7 in r27,__SP_H__ 790 065a 1296 adiw r26,1+1 791 065c DC93 st X,r29 792 065e CE93 st -X,r28 793 0660 1197 sbiw r26,1 794 0662 80E0 ldi r24,lo8(__c.2224) 795 0664 90E0 ldi r25,hi8(__c.2224) 796 0666 9383 std Z+3,r25 797 0668 8283 std Z+2,r24 798 066a 8091 0000 lds r24,Capacity+4 799 066e 9091 0000 lds r25,(Capacity+4)+1 800 0672 9583 std Z+5,r25 801 0674 8483 std Z+4,r24 802 0676 C901 movw r24,r18 803 0678 6CE3 ldi r22,lo8(60) 804 067a 70E0 ldi r23,hi8(60) 805 067c 0E94 0000 call __udivmodhi4 806 0680 7783 std Z+7,r23 807 0682 6683 std Z+6,r22 808 0684 C901 movw r24,r18 809 0686 6CE3 ldi r22,lo8(60) 810 0688 70E0 ldi r23,hi8(60) 811 068a 0E94 0000 call __udivmodhi4 812 068e 9187 std Z+9,r25 813 0690 8087 std Z+8,r24 814 0692 E091 0000 lds r30,_printf_P 815 0696 F091 0000 lds r31,(_printf_P)+1 816 069a 0995 icall 817 069c 8091 0000 lds r24,EE_Parameter+13 818 06a0 EDB7 in r30,__SP_L__ 819 06a2 FEB7 in r31,__SP_H__ 820 06a4 3A96 adiw r30,10 821 06a6 EDBF out __SP_L__,r30 822 06a8 80FF sbrs r24,0 823 06aa 00C0 rjmp .L35 824 06ac 8AE1 ldi r24,lo8(26) 825 06ae 0E94 0000 call LIBFC_JetiBox_SetPos 826 06b2 2DB7 in r18,__SP_L__ 827 06b4 3EB7 in r19,__SP_H__ 828 06b6 2850 subi r18,lo8(-(-8)) 829 06b8 3040 sbci r19,hi8(-(-8)) 830 06ba 2DBF out __SP_L__,r18 831 06bc 0DB7 in r16,__SP_L__ 832 06be 1EB7 in r17,__SP_H__ 833 06c0 0F5F subi r16,lo8(-(1)) 834 06c2 1F4F sbci r17,hi8(-(1)) 835 06c4 ADB7 in r26,__SP_L__ 836 06c6 BEB7 in r27,__SP_H__ 837 06c8 1296 adiw r26,1+1 838 06ca DC93 st X,r29 839 06cc CE93 st -X,r28 840 06ce 1197 sbiw r26,1 841 06d0 80E0 ldi r24,lo8(__c.2226) 842 06d2 90E0 ldi r25,hi8(__c.2226) 843 06d4 F801 movw r30,r16 844 06d6 9383 std Z+3,r25 845 06d8 8283 std Z+2,r24 846 06da 6091 0000 lds r22,HoehenWert 847 06de 7091 0000 lds r23,(HoehenWert)+1 848 06e2 8091 0000 lds r24,(HoehenWert)+2 849 06e6 9091 0000 lds r25,(HoehenWert)+3 850 06ea 24E6 ldi r18,lo8(100) 851 06ec 30E0 ldi r19,hi8(100) 852 06ee 40E0 ldi r20,hlo8(100) 853 06f0 50E0 ldi r21,hhi8(100) 854 06f2 0E94 0000 call __divmodsi4 855 06f6 D801 movw r26,r16 856 06f8 1596 adiw r26,4+1 857 06fa 3C93 st X,r19 858 06fc 2E93 st -X,r18 859 06fe 1497 sbiw r26,4 860 0700 8091 0000 lds r24,VarioCharacter 861 0704 1696 adiw r26,6 862 0706 8C93 st X,r24 863 0708 1697 sbiw r26,6 864 070a 1796 adiw r26,7 865 070c 1C92 st X,__zero_reg__ 866 070e E091 0000 lds r30,_printf_P 867 0712 F091 0000 lds r31,(_printf_P)+1 868 0716 0995 icall 869 0718 EDB7 in r30,__SP_L__ 870 071a FEB7 in r31,__SP_H__ 871 071c 3896 adiw r30,8 872 071e EDBF out __SP_L__,r30 873 .L35: 874 /* epilogue start */ 875 0720 DF91 pop r29 876 0722 CF91 pop r28 877 0724 1F91 pop r17 878 0726 0F91 pop r16 879 0728 0895 ret 881 .global JetiBox_Menu 882 .section .progmem.data,"a",@progbits 885 JetiBox_Menu: 886 0000 03 .byte 3 887 0001 01 .byte 1 888 0002 00 .byte 0 889 0003 00 .byte 0 890 0004 0000 .word gs(Menu_Status) 891 0006 00 .byte 0 892 0007 02 .byte 2 893 0008 01 .byte 1 894 0009 01 .byte 1 895 000a 0000 .word gs(Menu_Temperature) 896 000c 01 .byte 1 897 000d 03 .byte 3 898 000e 02 .byte 2 899 000f 02 .byte 2 900 0010 0000 .word gs(Menu_Battery) 901 0012 02 .byte 2 902 0013 00 .byte 0 903 0014 03 .byte 3 904 0015 03 .byte 3 905 0016 0000 .word gs(Menu_PosInfo) 906 .lcomm last_item.2349,1 907 .lcomm item.2348,1 910 __c.2319: 911 0018 4E6F 204E .string "No NaviCtrl!" 911 6176 6943 911 7472 6C21 911 00 914 __c.2317: 915 0025 486F 6D65 .string "Home:%3dm %3d%c" 915 3A25 3364 915 6D20 2533 915 6425 6300 918 __c.2315: 919 0035 4447 5053 .string "DGPS" 919 00 922 __c.2313: 923 003a 4E6F 4678 .string "NoFx" 923 00 926 __c.2307: 927 003f 2020 3344 .string " 3D" 927 00 930 __c.2304: 931 0044 2532 756D .string "%2um/s Sat:%d " 931 2F73 2053 931 6174 3A25 931 6420 00 934 __c.2289: 935 0053 2534 6957 .string "%4iW %6imAh" 935 2025 3669 935 6D41 6800 938 __c.2287: 939 005f 2532 692E .string "%2i.%1iV %3i.%1iA" 939 2531 6956 939 2020 2533 939 692E 2531 939 6941 00 942 __c.2264: 943 0072 2563 4320 .string "%cC " 943 2020 2020 943 00 946 __c.2262: 947 007b 5465 6D70 .string "Temperatures " 947 6572 6174 947 7572 6573 947 2020 2020 947 00 950 __c.2260: 951 008c 2533 6920 .string "%3i %3i %3i %3i" 951 2533 6920 951 2533 6920 951 2533 6900 954 __c.2258: 955 009c 2533 6920 .string "%3i %3i %3i %3i" 955 2533 6920 955 2533 6920 955 2533 6900 958 __c.2226: 959 00ac 2534 696D .string "%4im%c" 959 2563 00 962 __c.2224: 963 00b3 2534 6920 .string "%4i %2i:%02i" 963 2532 693A 963 2530 3269 963 00 966 __c.2222: 967 00c0 4552 524F .string "ERROR: %2d" 967 523A 2025 967 3264 00 970 __c.2220: 971 00cb 5374 6174 .string "Status" 971 7573 00 974 __c.2218: 975 00d2 2533 6425 .string "%3d%c %03dm" 975 6320 2530 975 3364 6D00 978 __c.2216: 979 00de 2532 692E .string "%2i.%1iV" 979 2531 6956 979 00 980 .global __do_clear_bss DEFINED SYMBOLS *ABS*:00000000 jetimenu.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:2 *ABS*:0000003f __SREG__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:3 *ABS*:0000003e __SP_H__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:4 *ABS*:0000003d __SP_L__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:5 *ABS*:00000034 __CCP__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:6 *ABS*:00000000 __tmp_reg__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:7 *ABS*:00000001 __zero_reg__ C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:11 .text:00000000 JetiBox_Update C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:906 .bss:00000001 item.2348 .bss:00000000 last_item.2349 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:885 .progmem.data:00000000 JetiBox_Menu C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:123 .text:0000009a Menu_PosInfo C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:930 .progmem.data:00000044 __c.2304 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:926 .progmem.data:0000003f __c.2307 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:922 .progmem.data:0000003a __c.2313 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:918 .progmem.data:00000035 __c.2315 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:914 .progmem.data:00000025 __c.2317 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:910 .progmem.data:00000018 __c.2319 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:310 .text:0000022c Menu_Battery C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:938 .progmem.data:0000005f __c.2287 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:934 .progmem.data:00000053 __c.2289 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:426 .text:0000032e Menu_Temperature C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:954 .progmem.data:0000009c __c.2258 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:950 .progmem.data:0000008c __c.2260 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:946 .progmem.data:0000007b __c.2262 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:942 .progmem.data:00000072 __c.2264 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:602 .text:000004a6 Menu_Status C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:978 .progmem.data:000000de __c.2216 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:974 .progmem.data:000000d2 __c.2218 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:970 .progmem.data:000000cb __c.2220 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:966 .progmem.data:000000c0 __c.2222 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:962 .progmem.data:000000b3 __c.2224 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccJr6Gjs.s:958 .progmem.data:000000ac __c.2226 UNDEFINED SYMBOLS LIBFC_JetiBox_Clear NaviDataOkay LIBFC_JetiBox_Putchar LIBFC_JetiBox_SetPos GPSInfo _printf_P __udivmodhi4 UBat Capacity __divmodhi4 Motor RequiredMotors ErsatzKompass GIER_GRAD_FAKTOR __divmodsi4 NC_ErrorCode FlugSekunden EE_Parameter HoehenWert VarioCharacter __do_clear_bss