📄 menus.lst
字号:
711 3 if(digit_index < 4)
712 3 {
713 4 if (digit_index)
714 4 {
715 5 if (key == 13) //Enter
716 5 {
717 6 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
718 6 {
719 7
720 7 CAN_HWOBJ[mo].uwMSGCTR = 0xfb7f; // Set CPU Update, reset MSGVAL
721 7 if (digit_index == 1)
722 7 {
723 8 CAN_HWOBJ[mo].ulCANAMR = (unsigned long)(digits[0]) << 18;
724 8 }
725 7 else if (digit_index == 2)
726 7 {
727 8 CAN_HWOBJ[mo].ulCANAMR = (unsigned long)((digits[0]<<4)|digits[1]) << 18;
728 8 }
729 7 else if (digit_index == 3)
730 7 {
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 13
731 8 CAN_HWOBJ[mo].ulCANAMR = ((unsigned long)((unsigned long)(digits[0]<<8)|(digits[1]<<4)|digits[2
-]) & 0x07FF) << 18;
732 8 }
733 7 CAN_HWOBJ[mo].uwMSGCTR = 0xf7bf; // reset CPUUPD, set MSGVAL
734 7 }
735 6 else
736 6 {
737 7 if (digit_index == 1)
738 7 {
739 8 CAN_HWOBJ[mo].ulCANAMR = (unsigned long)(digits[0]) << 18;
740 8 }
741 7 else if (digit_index == 2)
742 7 {
743 8 CAN_HWOBJ[mo].ulCANAMR = (unsigned long)((digits[0]<<4)|digits[1]) << 18;
744 8 }
745 7 else if (digit_index == 3)
746 7 {
747 8 CAN_HWOBJ[mo].ulCANAMR = ((unsigned long)((unsigned long)(digits[0]<<8)|(digits[1]<<4)|digits[2
-]) & 0x07FF) << 18;
748 8 }
749 7 }
750 6 MO_Status[mo] = 1;
751 6 PrintPrompt(3, mo);
752 6 MenuID = 3;
753 6 }
754 5 }
755 4 if (digit_index < 3)
756 4 {
757 5 if ( (key < ';') && (key > '/') ) // digit
758 5 {
759 6 putchar(key);
760 6 CursorPosX++;
761 6 digits[digit_index++] = key-48; // convert to number
*** WARNING C192 IN LINE 761 OF MENUS.C: '=': value truncated
762 6 }
763 5 else if ( (key < 'G') && (key > '@') ) // Cap Letter
764 5 {
765 6 putchar(key);
766 6 CursorPosX++;
767 6 digits[digit_index++] = key-55; // convert to number
*** WARNING C192 IN LINE 767 OF MENUS.C: '=': value truncated
768 6 }
769 5 else if ( (key < 'g') && (key > 96) ) // Small Letter
770 5 {
771 6 putchar(key);
772 6 CursorPosX++;
773 6 digits[digit_index++] = key-87; // convert to number
*** WARNING C192 IN LINE 773 OF MENUS.C: '=': value truncated
774 6 }
775 5 }
776 4 }
777 3 break;
778 3 case 7:
779 3 if (key == 27) // Escape
780 3 {
781 4 PrintPrompt(3,mo);
782 4 MenuID = 3;
783 4 }
784 3 if (digit_index)
785 3 {
786 4 if (key == 8) // backspace
787 4 {
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 14
788 5 MoveCursor(CursorPosY, --CursorPosX);
789 5 putchar(' ');
790 5 MoveCursor(CursorPosY, CursorPosX);
791 5 digits[--digit_index] = 0;
792 5 }
793 4 }
794 3 if(digit_index < 9)
795 3 {
796 4 if (digit_index)
797 4 {
798 5 if (key == 13) //Enter
799 5 {
800 6 // <<<<<<<<< NEED TO add NEWDAT and Check if DIR is RX or TX
801 6 CAN_HWOBJ[mo].uwMSGCTR = 0xfaff; // set CPUUPD and NEWDAT
802 6 if (CAN_HWOBJ[mo].uwMSGCTR & 0x0080) // if MO valid
803 6 {
804 7 CAN_HWOBJ[mo].uwMSGCFG &= 0xFF0F;
805 7 CAN_HWOBJ[mo].uwMSGCFG |= digit_index << 4; // Set DLC
806 7 for (i = 0; i< digit_index; i++)
807 7 CAN_HWOBJ[mo].ubData[i] = digits[i];
808 7 CAN_HWOBJ[mo].uwMSGCTR = 0xf7bf; // reset CPUUPD, set MSGVAL
809 7 }
810 6 else
811 6 {
812 7 CAN_HWOBJ[mo].uwMSGCFG &= 0xFF0F;
813 7 CAN_HWOBJ[mo].uwMSGCFG |= digit_index << 4; // Set DLC
814 7 for (i = 0; i< digit_index; i++)
815 7 CAN_HWOBJ[mo].ubData[i] = digits[i];
816 7 CAN_HWOBJ[mo].uwMSGCTR = 0xf7Ff; // reset CPUUPD
817 7 }
818 6 MO_Status[mo] = 1;
819 6 PrintPrompt(3, mo);
820 6 MenuID = 3;
821 6 }
822 5 }
823 4 if (digit_index < 8)
824 4 {
825 5 if ( (key < 127) && (key > 31) ) // visible key
826 5 {
827 6 putchar(key);
828 6 CursorPosX++;
829 6 digits[digit_index++] = key;
*** WARNING C192 IN LINE 829 OF MENUS.C: '=': value truncated
830 6 }
831 5 }
832 4 }
833 3 break;
834 3 case 8:
835 3 if (key == 27) // Escape
836 3 {
837 4 PrintPrompt(3,mo);
838 4 MenuID = 3;
839 4 }
840 3 else if (key == 'E' || key == 'e')
841 3 {
842 4 CAN_HWOBJ[mo].uwMSGCTR = 0xffbf; // enable MO
843 4 PrintPrompt(3,mo);
844 4 MenuID = 3;
845 4 MO_Status[mo]=1;
846 4 UpdateStatus();
847 4 }
848 3 else if (key == 'D' || key == 'd')
C166 COMPILER V6.02, MENUS 08/28/2006 10:05:57 PAGE 15
849 3 {
850 4 CAN_HWOBJ[mo].uwMSGCTR = 0xff7f; // disable MO
851 4 PrintPrompt(3,mo);
852 4 MenuID = 3;
853 4 MO_Status[mo]=1;
854 4 UpdateStatus();
855 4 }
856 3 break;
857 3
858 3 default:
859 3 break;
860 3 }
861 2 }
862 1 }
MODULE INFORMATION: INITIALIZED UNINITIALIZED
CODE SIZE = 5616 --------
NEAR-CONST SIZE = 962 --------
FAR-CONST SIZE = -------- --------
HUGE-CONST SIZE = -------- --------
XHUGE-CONST SIZE = -------- --------
NEAR-DATA SIZE = 14 --------
FAR-DATA SIZE = -------- --------
XHUGE-DATA SIZE = -------- --------
IDATA-DATA SIZE = -------- --------
SDATA-DATA SIZE = -------- --------
BDATA-DATA SIZE = -------- --------
HUGE-DATA SIZE = -------- --------
BIT SIZE = -------- --------
INIT'L SIZE = 6 --------
END OF MODULE INFORMATION.
C166 COMPILATION COMPLETE. 9 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -