📄 1008.fip.patch
字号:
diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/drivers/char/Config.in linuxmips-2.4.30/drivers/char/Config.in--- linuxmips-2.4.30.ref/drivers/char/Config.in 2005-07-18 12:41:43.000000000 -0700+++ linuxmips-2.4.30/drivers/char/Config.in 2005-07-18 12:51:14.000000000 -0700@@ -199,6 +199,14 @@ if [ "$CONFIG_TANGO2" = "y" ]; then tristate 'TANGO2 IR remote support' CONFIG_TANGO2_IR fi+if [ "$CONFIG_TANGO2" = "y" ]; then+ tristate 'TANGO2 front panel support' CONFIG_TANGO2_FIP+ if [ "$CONFIG_TANGO2_FIP" = "y" -o "$CONFIG_TANGO2_FIP" = "m" ]; then+ choice 'Reference platform' \+ "Ref1 CONFIG_TANGO2_FIP_REF1 \+ Ref2 CONFIG_TANGO2_FIP_REF2" Ref1+ fi+fi bool 'Unix98 PTY support' CONFIG_UNIX98_PTYS if [ "$CONFIG_UNIX98_PTYS" = "y" ]; then int 'Maximum number of Unix98 PTYs in use (0-2048)' CONFIG_UNIX98_PTY_COUNT 256diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/include/asm-mips/tango2/fip.h linuxmips-2.4.30/include/asm-mips/tango2/fip.h--- linuxmips-2.4.30.ref/include/asm-mips/tango2/fip.h 1969-12-31 16:00:00.000000000 -0800+++ linuxmips-2.4.30/include/asm-mips/tango2/fip.h 2005-07-18 12:51:14.000000000 -0700@@ -0,0 +1,117 @@+/*****************************************+ * Copyright 漏 2001-2007+ * Sigma Designs, Inc. All Rights Reserved+ * Proprietary and Confidential+ ******************************************/++/*+ * FIP related definitions, and function prototypes.+ */+#ifndef _FIP_H_+#define _FIP_H_++#ifdef __KERNEL__+#include <linux/kernel.h>+#include <linux/module.h>+#include <asm/ioctl.h>+#endif /* __KERNEL__ */++/* Valid symbols */+#if defined(CONFIG_TANGO2_FIP_REF1)+#define DVD_FIP_ON 0+#define PLAY_FIP_ON 1+#define DTS_FIP_ON 2+#define MP3_FIP_ON 3+#define DOLBYDIGITAL_FIP_ON 4+#define MPEG4_FIP_ON 5+#define PAUSE_FIP_ON 6+#define DVI_FIP_ON 7+#define TWIRL_1_FIP_ON 8+#define TWIRL_2_FIP_ON 9+#define TWIRL_3_FIP_ON 10+#define TWIRL_4_FIP_ON 11+#define TWIRL_5_FIP_ON 12+#define TWIRL_6_FIP_ON 13+#define ALL_FIP_ON 14+#define REPEAT_FIP_ON 15+#define COLON_MIN_SEC_FIP_ON 16+#define R1080_FIP_ON 17+#define R720_FIP_ON 18+#define COLON_HOUR_MIN_FIP_ON 19+#define R480_FIP_ON 20+#define PAL_FIP_ON 21+#define NTSC_FIP_ON 22+#elif defined(CONFIG_TANGO2_FIP_REF2)+#define DVD_FIP 201+#define VCD_FIP 202+#define MP3_FIP 203+#define CD_FIP 204+#define TITLE_FIP 205+#define TRACK_CHAPTER_FIP 206+#else+#error Unsupport front panel.+#endif++/* Alignment */+#define FIP_LEFT 0x0000 /* flags for fip_write_text() */+#define FIP_CENTER 0x0001+#define FIP_RIGHT 0x0002++/* FIP Keys */+#if defined(CONFIG_TANGO2_FIP_REF1)+#define FIP_KEY_EJECT 0x00000004+#define FIP_KEY_PREV 0x00000800+#define FIP_KEY_NEXT 0x00008000+#define FIP_KEY_FBWD 0x00000008+#define FIP_KEY_FFWD 0x00000080+#define FIP_KEY_PLAYPAUSE 0x00000040+#elif defined(CONFIG_TANGO2_FIP_REF2)+#define FIP_KEY_EJECT 0x00000001+#define FIP_KEY_PLAYPAUSE 0x00000002+#define FIP_KEY_STOP 0x00000004+#define FIP_KEY_PREV 0x00000008+#define FIP_KEY_NEXT 0x00000010+#define FIP_KEY_FBWD 0x00000020+#define FIP_KEY_FFWD 0x00000040+#define FIP_KEY_MENU 0x00000080+#else+#error Unsupport front panel.+#endif++#if defined(__KERNEL__) || !defined(BOOTLOADER)+/* ioctl commands for user level applications*/+#define FIP_IOC_MAGIC 'F'+#define FIP_IOCSHOWSYMBOL _IO(FIP_IOC_MAGIC, 0)+#define FIP_IOCSHOWHMS _IO(FIP_IOC_MAGIC, 1)+#define FIP_IOCDISPCHAR _IO(FIP_IOC_MAGIC, 2)+#define FIP_IOCDISPRAW _IO(FIP_IOC_MAGIC, 3)+#define FIP_IOCDISPTEXT _IO(FIP_IOC_MAGIC, 4)+#define FIP_IOCCLEAR _IO(FIP_IOC_MAGIC, 5)+#define FIP_IOCGETFPTYPE _IO(FIP_IOC_MAGIC, 6)+#endif /* __KERNEL__ || !BOOTLOADER */++#ifdef __KERNEL__+static void fip_write_text(const int position, const char *text, const int flags);+static int fip_show_hms(int hour, int minute, int second);+static void fip_display_symbol(const int symbol, const int on);+static int fip_display_character(const int position, const char character);+static void fip_display_raw(const int byte, const int bit, const int on); +static int is_fip_busy(void);+static void fip_wait_ready(void);+static void fip_clear(void);+#elif defined(BOOTLOADER)+void fip_write_text(const int position, const char *text, const int flags);+int fip_show_hms(int hour, int minute, int second);+void fip_display_symbol(const int symbol, const int on);+int fip_display_character(const int position, const char character);+void fip_display_raw(const int byte, const int bit, const int on); +int is_fip_busy(void);+void fip_wait_ready(void);+void fip_clear(void);+int fip_init(void);+int fip_exit(void);+unsigned long fip_readkey(void);+#endif /* __KERNEL__ */++#endif+diff -Naur --exclude=CVS --exclude='*.o' --exclude='*.a' --exclude='*.so' --exclude='*.elf' --exclude=System.map --exclude=Makefile.d --exclude='*log' --exclude='*log2' --exclude='*~' --exclude='.*~' --exclude='.#*' --exclude='*.bak' --exclude='*.orig' --exclude='*.rej' --exclude='core.[0-9]*' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=.depend --exclude='.*.o.flags' --exclude='*.gz' --exclude=vmlinux --exclude=vmlinux.bin --exclude=yamon-02.06-SIGMADESIGNS-01_el.bin linuxmips-2.4.30.ref/drivers/char/fipkernel.c linuxmips-2.4.30/drivers/char/fipkernel.c--- linuxmips-2.4.30.ref/drivers/char/fipkernel.c 1969-12-31 16:00:00.000000000 -0800+++ linuxmips-2.4.30/drivers/char/fipkernel.c 2005-07-18 12:51:22.000000000 -0700@@ -0,0 +1,1335 @@+/*****************************************+ * Copyright 漏 2001-2007+ * Sigma Designs, Inc. All Rights Reserved+ * Proprietary and Confidential+ * Modified for KiSS Front Panel support+ * By Stefan Hallas Andersen+ ******************************************/++#ifdef __KERNEL__ +#include <linux/init.h>+#include <linux/slab.h>+#include <linux/irq.h>+#include <linux/devfs_fs_kernel.h>+#include <linux/poll.h>+#include <linux/interrupt.h>+#include <linux/timer.h>+#include <asm/delay.h>+#include <asm/io.h>+#include <asm/tango2/rmdefs.h>+#include <asm/tango2/hardware.h>+#else+#include "version.h"+#include "config.h"+#include "io.h"+#endif /* __KERNEL__ */++#include <asm/tango2/fip.h>++#if defined(CONFIG_TANGO2_SIG_BLOCK) || defined(CONFIG_TANGO2_XENV)+extern int tango2_fip_enabled(void);+#endif++/* chip specific register definitions */++/* EM85XX */+#if 0+#define FIP_BASE 0x00500D00+#define FIP_COMMAND 0x00+#define FIP_DISPLAY_DATA 0x04+#define FIP_LED_DATA 0x08+#define FIP_KEY_DATA1 0x0C+#define FIP_KEY_DATA2 0x10+#define FIP_SWITCH_DATA 0x14+#define FIP_CLK_DIV 0x20+#define FIP_TRISTATE_MODE 0x24++#define FIP_TRISTATE_MODE_MASK 0x2+#define FIP_DIVIDER 40+#endif++#ifndef CONFIG_TANGO2+#error "Only TANGO2 is supported/tested."+#endif++/* TANGO2 */+#define FIP_BASE (REG_BASE_system_block + 0x500)+#define FIP_COMMAND 0x40+#define FIP_DISPLAY_DATA 0x44+#define FIP_LED_DATA 0x48+#define FIP_KEY_DATA1 0x4c+#define FIP_KEY_DATA2 0x50+#define FIP_SWITCH_DATA 0x54+#define FIP_CONFIG 0x58+#define FIP_INT 0x5c++#if defined(CONFIG_TANGO2_FIP_REF1)+#define FIP_DIVIDER 27 /* default value */+#elif defined(CONFIG_TANGO2_FIP_REF2)+#define FIP_DIVIDER 54 /* default value */+#endif++#define FIP_BUSY 0x200+#define FIP_ENABLE 0x400++/* FIP commands */+#define FIP_CMD_DISP_MODE_08DIGITS_20SEGMENTS 0x00+#define FIP_CMD_DISP_MODE_09DIGITS_19SEGMENTS 0x08+#define FIP_CMD_DISP_MODE_10DIGITS_18SEGMENTS 0x09+#define FIP_CMD_DISP_MODE_11DIGITS_17SEGMENTS 0x0a+#define FIP_CMD_DISP_MODE_12DIGITS_16SEGMENTS 0x0b+#define FIP_CMD_DISP_MODE_13DIGITS_15SEGMENTS 0x0c+#define FIP_CMD_DISP_MODE_14DIGITS_14SEGMENTS 0x0d+#define FIP_CMD_DISP_MODE_15DIGITS_13SEGMENTS 0x0e+#define FIP_CMD_DISP_MODE_16DIGITS_12SEGMENTS 0x0f+#define FIP_CMD_DATA_SET_RW_MODE_WRITE_DISPLAY 0x40+#define FIP_CMD_DATA_SET_RW_MODE_WRITE_LED_PORT 0x41+#define FIP_CMD_DATA_SET_RW_MODE_READ_KEYS 0x42+#define FIP_CMD_DATA_SET_RW_MODE_READ_SWITCHES 0x43+#define FIP_CMD_DATA_SET_ADR_MODE_INCREMENT_ADR 0x40+#define FIP_CMD_DATA_SET_ADR_MODE_FIXED_ADR 0x44+#define FIP_CMD_DATA_SET_OP_MODE_NORMAL_OPERATION 0x40+#define FIP_CMD_DATA_SET_OP_MODE_TEST_MODE 0x48+#define FIP_CMD_ADR_SETTING 0xC0+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_1_16 0x80+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_2_16 0x81+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_4_16 0x82+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_10_16 0x83+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_11_16 0x84+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_12_16 0x85+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_13_16 0x86+#define FIP_CMD_DISP_CTRL_PULSE_WIDTH_14_16 0x87+#define FIP_CMD_DISP_CTRL_TURN_DISPLAY_OFF_MASK 0x87+#define FIP_CMD_DISP_CTRL_TURN_DISPLAY_ON 0x88++#if defined(CONFIG_TANGO2_FIP_REF1)+#define FIP_DISPLAY_MODE 0xa+#define MAX_FIP_RAM 23+#define NUM_SYMBOLS 23+#define NUM_CHARACTERS 72+#define NUM_DIGITS 7+#elif defined(CONFIG_TANGO2_FIP_REF2)+#define FIP_DISPLAY_MODE 0x0a+#define MAX_FIP_RAM 0x2f+#define NUM_SYMBOLS 206+#define NUM_CHARACTERS 69+#define NUM_X_CHARACTERS 12+#define NUM_DIGITS 8+#define NUM_X_DIGITS 4+#endif++#define L_OFF -1 //means light is or should be off+#define FIP_NO_CLEAR 0x0004++#if defined(CONFIG_TANGO2_FIP_REF1)+/*+ 14 SEGMENT LCD (EXTENDED CHARACTERS MAP)++ a + -----+f |\j| /| b + |i\|/k|+ g-- --h+e |n/|\l| c+ |/m| \|+ -----+ d +*/+#define DIGIT_L(b7,b6,c,l,m,n,e,d) ((b7 << 7) | (b6 << 6) | (c << 5) | (l << 4) | (m << 3) | (n << 2) | (e << 1) | d)+#define DIGIT_H(g,h,i,j,k,a,b,f) ((g << 7) | (h << 6) | (i << 5) | (j << 4) | (k << 3) | (a << 2) | (b << 1) | f)++/* sequence must match fipcharacters */+static const char fipcharactersmap[NUM_CHARACTERS+1] = " +-/0123456789<>ABCDEFGHIJKLMNOPQRSTUVWXYZ\\-abcdefghijklmnopqrstuvwxyz|_";+#elif defined(CONFIG_TANGO2_FIP_REF2)+#define DIGIT_L(M,C,E,R,P,B,D,U) ((M << 7) | (C << 6) | (E << 5) | (R << 4) | (P << 3) | (B << 2) | (D << 1) | U)+#define DIGIT_H(A,B,F,H,J,K,G,S) ((A << 7) | (B << 6) | (F << 5) | (H << 4) | (J << 3) | (K << 2) | (G << 1) | S)+// Following definition is for Title/Track/Chaspter digits+#define DIGIT_X(A,B,F,G,C,E,D,U) ((A << 7) | (B << 6) | (F << 5) | (G << 4) | (C << 3) | (E << 2) | (D << 1) | U)+ +static const char fipcharactersmap[NUM_CHARACTERS+1] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";+static const char fipxcharactersmap[NUM_X_CHARACTERS+1] = "0123456789- ";+#endif++/* we use the inverted mask for clearing a digit without clearing other things */+static const char fipcharactermask[2] = {+#if defined(CONFIG_TANGO2_FIP_REF1)+ DIGIT_L(1,1,0,0,0,0,0,0), + DIGIT_H(0,0,0,0,0,0,0,0)+#elif defined(CONFIG_TANGO2_FIP_REF2)+ DIGIT_L(0,0,0,0,0,0,0,0), + DIGIT_H(0,0,0,0,0,0,0,0)+#endif+};++#if defined(CONFIG_TANGO2_FIP_REF1)+/* the format is lower byte, higher byte */+static const char fipcharacters[NUM_CHARACTERS][2] = {+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, //+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(1,1,0,1,0,0,0,0)}, // ++ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // -+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,1,0,0,0)}, // /++ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // 0+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // 1+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,0)}, // 2+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,0)}, // 3+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,1,1)}, // 4+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // 5+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // 6+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(0,0,0,0,0,1,1,0)}, // 7+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // 8+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // 9++ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,0,0,1,0,0,0)}, // <+ {DIGIT_L(0,0,0,0,0,1,0,0), DIGIT_H(0,0,0,1,0,0,0,0)}, // >++ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // A+ {DIGIT_L(0,0,1,0,1,0,0,1), DIGIT_H(0,1,0,1,0,1,1,0)}, // B+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,0,1)}, // C+ {DIGIT_L(0,0,1,0,1,0,0,1), DIGIT_H(0,0,0,1,0,1,1,0)}, // D+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // E+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,0,1)}, // F+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // G+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,1,1)}, // H+ {DIGIT_L(0,0,0,0,1,0,0,1), DIGIT_H(0,0,0,1,0,1,0,0)}, // I+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(0,0,0,0,0,0,1,0)}, // J+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,0,0,0,1,0,0,1)}, // K+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,1)}, // L+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(0,0,1,0,1,0,1,1)}, // M+ {DIGIT_L(0,0,1,1,0,0,1,0), DIGIT_H(0,0,1,0,0,0,1,1)}, // N+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // O+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // P+ {DIGIT_L(0,0,1,1,0,0,1,1), DIGIT_H(0,0,0,0,0,1,1,1)}, // Q+ {DIGIT_L(0,0,0,1,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // R+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // S+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,1,0,1,0,0)}, // T+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,1,1)}, // U+ {DIGIT_L(0,0,1,1,0,0,0,0), DIGIT_H(0,0,1,0,0,0,1,0)}, // V+ {DIGIT_L(0,0,1,1,0,1,1,0), DIGIT_H(0,0,0,0,0,0,1,1)}, // W+ {DIGIT_L(0,0,0,1,0,1,0,0), DIGIT_H(0,0,1,0,1,0,0,0)}, // X+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,1,0,1,0,0,0)}, // Y+ {DIGIT_L(0,0,0,0,0,1,0,1), DIGIT_H(0,0,0,0,1,1,0,0)}, // Z++ {DIGIT_L(0,0,0,1,0,0,0,0), DIGIT_H(0,0,1,0,0,0,0,0)}, // Slash+ {DIGIT_L(0,0,0,0,0,0,0,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // -++ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // a+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,1)}, // b+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // c+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,1,0)}, // d+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // e+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,0,0,0,0,1,0,1)}, // f+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,1,1)}, // g+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,0,1)}, // h+ {DIGIT_L(0,0,0,0,1,0,0,0), DIGIT_H(0,0,0,0,0,0,0,0)}, // i+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(0,0,0,0,0,0,0,0)}, // j+ {DIGIT_L(0,0,0,1,1,0,0,0), DIGIT_H(0,1,0,1,0,0,0,0)}, // k+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,1)}, // l+ {DIGIT_L(0,0,1,0,1,0,1,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // m+ {DIGIT_L(0,0,1,0,0,0,1,0), DIGIT_H(1,1,0,0,0,0,0,0)}, // n+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(1,1,0,0,0,0,0,0)}, // o+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // p+ {DIGIT_L(0,0,1,0,0,0,0,0), DIGIT_H(1,1,0,0,0,1,1,1)}, // q+ {DIGIT_L(0,0,0,0,0,0,1,0), DIGIT_H(1,0,0,0,0,0,0,0)}, // r+ {DIGIT_L(0,0,1,0,0,0,0,1), DIGIT_H(1,1,0,0,0,1,0,1)}, // s+ {DIGIT_L(0,0,0,0,0,0,1,1), DIGIT_H(1,0,0,0,0,0,0,1)}, // t+ {DIGIT_L(0,0,1,0,0,0,1,1), DIGIT_H(0,0,0,0,0,0,0,0)}, // u
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -