📄 system.lst
字号:
294 1 switch(cmd[1])
295 1 {
296 2 case CMD_SETBAUD:
297 2 if(len != 4)
298 2 {
299 3 cmd[0] = ERRORCMDLEN;
300 3 return 1;
301 3 }
302 2 if((cmd[2] >= 6) || (cmd[3] >= 6))
C51 COMPILER V8.00 SYSTEM 04/23/2009 15:56:17 PAGE 6
303 2 {
304 3 cmd[0] = ERRORCMD;
305 3 return 1;
306 3 }
307 2 // cmd[3]: reserved for format
308 2 snr[0] = SUCCESS;
309 2 snr[1] = cmd[2];
310 2 snr[2] = cmd[3];
311 2 if(CommSend(snr, 3))
312 2 {
313 3 delay(50);
314 3 // if communicate success, change baudrate
315 3 ComOpen(SYSCLOCK, baud[cmd[2]]);
316 3 }
317 2 return 0;
318 2
319 2 case CMD_EJECTCARD:
320 2 if(len != 2)
321 2 {
322 3 cmd[0] = ERRORCMDLEN;
323 3 return 1;
324 3 }
325 2 if(IccUserEject())
326 2 cmd[0] = SUCCESS;
327 2 else
328 2 cmd[0] = FAIL;
329 2 return 1;
330 2
331 2 case CMD_SETMODE:
332 2 if(len != 3)
333 2 {
334 3 cmd[0] = ERRORCMDLEN;
335 3 return 1;
336 3 }
337 2 fLed = cmd[2] & F_LED;
338 2 fTCBeep = cmd[2] & F_BOTC;
339 2 fRFCBeep = cmd[2] & F_BORFC;
340 2 InvPack = cmd[2] & F_CINV;
341 2 fNotice = cmd[2] & F_NOTICE;
342 2 fStopOnACK = cmd[2] & F_SNOA;
343 2 fAutoSearchCard = cmd[2] & F_ASC;
344 2
345 2 if(ParaWrite(PARA_SWITCHS, cmd[2]) == cmd[2])
346 2 {
347 3 cmd[0] = SUCCESS;
348 3 }
349 2 else
350 2 {
351 3 cmd[0] = FAIL;
352 3 }
353 2 return 1;
354 2
355 2 case CMD_GETMODE:
356 2 if(len != 2)
357 2 {
358 3 cmd[0] = ERRORCMDLEN;
359 3 return 1;
360 3 }
361 2
362 2 ch = ParaRead(PARA_SWITCHS);
363 2 if(ch >= 0)
364 2 {
C51 COMPILER V8.00 SYSTEM 04/23/2009 15:56:17 PAGE 7
365 3 cmd[0] = SUCCESS;
366 3 cmd[1] = (unsigned char)ch;
367 3 return 2;
368 3 }
369 2 else
370 2 {
371 3 cmd[0] = FAIL;
372 3 cmd[1] = (char)ch;
373 3 return 2;
374 3 }
375 2
376 2 case CMD_SETRFRXGAIN:
377 2 if(len != 3)
378 2 {
379 3 cmd[0] = ERRORCMDLEN;
380 3 return 1;
381 3 }
382 2
383 2 M500SetRcvGain(cmd[2]);
384 2 // write parameter to flash
385 2 if(ParaWrite(PARA_RFRXGAIN, cmd[2]) == cmd[2])
386 2 cmd[0] = SUCCESS;
387 2 else
388 2 cmd[0] = FAIL;
389 2 return 1;
390 2
391 2 case CMD_GETVER:
392 2 if(len != 2)
393 2 {
394 3 cmd[0] = ERRORCMDLEN;
395 3 return 1;
396 3 }
397 2
398 2 cmd[0] = SUCCESS;
399 2 strcpy(cmd+1, ver);
400 2 return strlen(ver)+1;
401 2
402 2 case CMD_GETSYSINFO:
403 2 if(len != 2)
404 2 {
405 3 cmd[0] = ERRORCMDLEN;
406 3 return 1;
407 3 }
408 2
409 2 cmd[0] = SUCCESS;
410 2 strcpy(cmd+1, sysinfo);
411 2 return strlen(sysinfo)+1;
412 2
413 2 case CMD_SYSRESET:
414 2 if(len != 2)
415 2 {
416 3 cmd[0] = ERRORCMDLEN;
417 3 return 1;
418 3 }
419 2
420 2 cmd[0] = SUCCESS;
421 2 cmd[1] = CMD_SYSRESET;
422 2 CommSend(cmd, 2);
423 2 while(1) {LED = ~LED;} // wait watchdog reset
424 2 // continue;
425 2
426 2 case CMD_TESTCARD:
C51 COMPILER V8.00 SYSTEM 04/23/2009 15:56:17 PAGE 8
427 2 if(len != 2)
428 2 {
429 3 cmd[0] = ERRORCMDLEN;
430 3 return 1;
431 3 }
432 2
433 2 cmd[0] = SUCCESS;
434 2 cmd[1] = IccUserTest();
435 2 cmd[2] = M1Search(snr);
436 2 return 3;
437 2
438 2 case CMD_SETICCBRATE:
439 2 if(len != 3)
440 2 {
441 3 cmd[0] = ERRORCMDLEN;
442 3 return 1;
443 3 }
444 2
445 2 //todo: init icc etu!!!!!!!!!!
446 2 cmd[0] = SUCCESS;
447 2 return 1;
448 2
449 2 case CMD_USEDEBUG:
450 2 if(len != 3)
451 2 {
452 3 cmd[0] = ERRORCMDLEN;
453 3 return 1;
454 3 }
455 2
456 2 if(cmd[2])
457 2 CommUseDbg(1);
458 2 else
459 2 CommUseDbg(0);
460 2
461 2 cmd[0] = SUCCESS;
462 2 return 1;
463 2
464 2 case CMD_BEEP:
465 2 if(len != 4)
466 2 {
467 3 cmd[0] = ERRORCMDLEN;
468 3 return 1;
469 3 }
470 2 beep(cmd[2], cmd[3]); // cmd[1]: times, cmd[2]: time
471 2 cmd[0] = SUCCESS;
472 2 return 1;
473 2
474 2 case CMD_INV_PACK:
475 2 if(len != 3)
476 2 {
477 3 cmd[0] = ERRORCMDLEN;
478 3 return 1;
479 3 }
480 2
481 2 InvPack = cmd[2] ? 1 : 0;
482 2 cmd[0] = SUCCESS;
483 2 return 1;
484 2
485 2 case CMD_RFRESET:
486 2 if(len != 2)
487 2 {
488 3 cmd[0] = ERRORCMDLEN;
C51 COMPILER V8.00 SYSTEM 04/23/2009 15:56:17 PAGE 9
489 3 return 1;
490 3 }
491 2
492 2 if(M500PcdInit() == MI_OK)
493 2 cmd[0] = SUCCESS;
494 2 else
495 2 cmd[0] = FAIL;
496 2 return 1;
497 2
498 2 case CMD_GETHDINFO:
499 2 if(len != 2)
500 2 {
501 3 cmd[0] = ERRORCMDLEN;
502 3 return 1;
503 3 }
504 2
505 2 cmd[0] = SUCCESS;
506 2 strcpy(cmd+1, pcbinfo);
507 2 return strlen(pcbinfo)+1;
508 2
509 2 case CMD_SETTOCRF:
510 2 if(len != 3)
511 2 {
512 3 cmd[0] = ERRORCMDLEN;
513 3 return 1;
514 3 }
515 2
516 2 CardConfirmTime = (unsigned int)cmd[2] * 10;
517 2 if(ParaWrite(PARA_RFCCT, cmd[2]) == cmd[2])
518 2 {
519 3 cmd[0] = SUCCESS;
520 3 }
521 2 else
522 2 {
523 3 cmd[0] = FAIL;
524 3 }
525 2 return 1;
526 2
527 2 case CMD_USERPOWER:
528 2 if(len != 3)
529 2 {
530 3 cmd[0] = ERRORCMDLEN;
531 3 return 1;
532 3 }
533 2
534 2 IccUserPower(cmd[2]);
535 2 cmd[0] = SUCCESS;
536 2 return 1;
537 2
538 2 case CMD_SETLED:
539 2 if(len != 6)
540 2 {
541 3 cmd[0] = ERRORCMDLEN;
542 3 return 1;
543 3 }
544 2
545 2 lorc = cmd[2];
546 2 lotc = cmd[3];
547 2 lobc = cmd[4];
548 2 lonc = cmd[5];
549 2
550 2 cmd[0] = SUCCESS;
C51 COMPILER V8.00 SYSTEM 04/23/2009 15:56:17 PAGE 10
551 2 cmd[1] = ParaWrite(PARA_LORC, lorc);
552 2 cmd[2] = ParaWrite(PARA_LOTC, lotc);
553 2 cmd[3] = ParaWrite(PARA_LOBC, lobc);
554 2 cmd[4] = ParaWrite(PARA_LONC, lonc);
555 2 return 5;
556 2
557 2 case CMD_CTRLLED:
558 2 if(len != 3)
559 2 {
560 3 cmd[0] = ERRORCMDLEN;
561 3 return 1;
562 3 }
563 2
564 2 led(cmd[2]);
565 2 cmd[0] = SUCCESS;
566 2 return 1;
567 2
568 2 // todo: test over load error.
569 2
570 2 /*
571 2 case CMD_STARTISP:
572 2 */
573 2
574 2 default:
575 2 cmd[0] = ERRORCMD;
576 2 return 1;
577 2 }
578 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2849 ----
CONSTANT SIZE = 370 ----
XDATA SIZE = 7 21
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = 9 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -