⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfdspec.c

📁 ESS3890+SL原代码(1*16内存)
💻 C
📖 第 1 页 / 共 2 页
字号:
/* Copyright 1998, ESS Technology, Inc.					*//* SCCSID @(#)vfdspec.c	4.1.1.1 12/01/04 *//* Based on vfdspec.c	1.32 01/28/02 */#include "vfdshare.h"#include "keydef.h"/* * Customization is now a lot simpler! * * You need to provide the following information for your particular * VFD: * 1) Position of icons. * 2) VFD_refresh_address (i.e. mapping of internal GP to external GP) * 3) VFD_char_segments (GP's for track/minute/sec high/low characters.) *    Order has to match those defined in vfdshare.h, i.e.: *	track high, track low, minute high, minute low, second high, *	second low, minute 100, title high, title low  *    you don't need everything if your VFD doesn't have all the fields, *    however, if you do, you have to follow the order. * 4) VFD_msg: message to be displayed (such as "OPEN", "CLOSE"). Since *    not all VFD's have the same layout, this array goes with individual *    VFD. * 5) VFD_msg_position. Since some VFD has weird layout, we use this *    array to specify the location of displaying characters in VFD_msg. * 6) VFD_calendar_table. Different VFD has different number of calendar  *    items. * 7) Icon message. Icons can now be controlled just like OSD! * 8) 7 segment massages: see VFD_msg; if there are any more to add, here *    is the place. * 9) If there is a wheel, specify the fans of the wheel and ring in *    VFD_wheel and VFD_ring. * 10) Front panel key assignments: see VFD_key_tbl. *//************************************************************************ * Local typedefs							* ************************************************************************//* Messages to be displayed on 16 segments */typedef struct {    char * name;		/* Name you'll be using in C		*/#ifdef VFD_ZEC1301    unsigned short msg[11];	/* 14-segment char (defined in vfdshare.h*/#else    unsigned short msg[10];	/* 7 segment char (defined in vfdshare.h*/#endif} VFD_MSG;/* * Tell me which icon to lite and which one to clear when you want * to specify a VFD message. */typedef struct {    char * name;		/* Name you'll be using in C		*/#ifdef VFD_ZEC1301    unsigned short lite[12];	/* Icon to lite				*/    unsigned short clear[12];	/* Icon to clear			*/#else    unsigned short lite[10];	/* Icon to lite				*/    unsigned short clear[10];	/* Icon to clear			*/#endif} VFD_ICON;/* * For all VFD layouts, the following messages and icon commands * should be provided. If not actually used in a specific layout,  * they should be filled as empty. * (1) Messages: nodisc, undisc, open, close, vcd30 * (2) Icon commands: (lite and clear icons should be limited to  * 10, otherwise the structure of VFD_icon should be changed) * clear_ab, seta, setb, mono_l, mono_r, stereo, vocal_l, vocal_r,  * vocal_off, fb, ff, pause, play, stop, pbc_on, pbc_off, intro_on,  * intro_off, more_on, more_off, colon_on, colon_off, track,  * hyphen_on, hyphen_off, program, shuffle, repeat_off, repeat_one,  * repeat_all, cdda, vcd, ntsc, pal, key_up, key_down, key_resume, * init_state *//************************************************************************ * VFD specific stuff							* ************************************************************************/#if !(defined(VFD_FUT166) || defined(VFD_FUT267) || defined(VFD_FUT297) || \      defined(VFD_FUT106) || defined(VFD_FUT33)  || defined(VFD_FUT213) || \      defined(VFD_ZEC702) || defined(VFD_ZEC703) || defined(VFD_ZEC704) || \      defined(VFD_ZEC901) || defined(VFD_SVV0708) || defined(VFD_FUT155) || \      defined(VFD_FUT13 ) || defined(VFD_FUT32 ) || defined(VFD_FUT58 ) ||\      defined(VFD_FUT63)  || defined(VFD_FUT625) || defined(LCD_DISC)   ||\      defined(VFD_HAOS)   || defined(LCD_6DANCE)|| defined(LCD_2DANCE))#define VFD_ZEC901#endif#include "fut13.vfd"#include "fut58.vfd"#include "fut32.vfd"#include "fut63.vfd"#include "fut625.vfd"#include "lcd.vfd"#include "dance.vfd"#include "fut33.vfd"#include "fut155.vfd"#include "fut166.vfd"#include "fut213.vfd"#include "fut267.vfd"#include "fut297.vfd"#include "fut106.vfd"#include "zec702.vfd"#include "zec703.vfd"#include "zec704.vfd"#include "zec901.vfd"#include "svv0708.vfd"/************************************************************************ * Stuff common to all VFD's						* ************************************************************************//* * Common table for 7-segment digits */unsigned short VFD_digit_table[] = {    CHAR_0, CHAR_1, CHAR_2, CHAR_3, CHAR_4,     CHAR_5, CHAR_6, CHAR_7, CHAR_8, CHAR_9#ifdef VFD_ZEC1301    , CHAR__#endif};/* * Front panel key assignments */unsigned char VFD_key_tbl[] = {#ifdef VFD_ZEC1301    _STEP_KEY,    _PAUSE_KEY,    _EJECT_KEY,    _POWER_KEY,    _NEXT_KEY,      _PREVIOUS_KEY,    _RETURN_KEY,    _EJECT_KEY, /*07,OPEN/CLOSE VFD KEY*/    _MENU_KEY,    _TITLE_KEY,    _FF_KEY,    _FB_KEY,    _REPEAT_AB_KEY,    _REPEAT_KEY,    _NO_KEY, /*  _PBC_KEY,*/    _PROGRAM_KEY,    _KEY_4,    _KEY_3,    _KEY_2,    _KEY_1,    _KEY_7,    _KEY_6,    _KEY_PLUS_5,    _KEY_5,    _KEY_PLUS_10,    _KEY_0,    _KEY_9,    _KEY_8,    _ROTATE_ANTI_CLOCK_KEY,    _THIRD_DISC_KEY,    _SECOND_DISC_KEY,    _FIRST_DISC_KEY,#ifdef FIVE_CDS    _EJECT_DISC1_KEY,    _FIFTH_DISC_KEY,    _FORTH_DISC_KEY,#else    _VOLUME_UP_KEY,    _VOLUME_DOWN_KEY,    _TIME_KEY,#endif    _EXCHANGE_KEY,#ifdef FIVE_CDS    _EJECT_DISC5_KEY,    _EJECT_DISC4_KEY,    _EJECT_DISC3_KEY,    _EJECT_DISC2_KEY,#else    _NO_KEY, /* POP_KEY */    _NO_KEY, /* CLASS_KEY */    _NO_KEY, /* ROCK_KEY */    _NO_KEY, /* FLAT_KEY */#endif    _AUDIO_KEY,    _KEY_PLUS,    _KEY_RESUME_KEY,    _KEY_MINUS,    _RESUME_KEY,    _MODE_KEY,    _VFD_KEY,    _GOTO_KEY#endif /*vfd_zec1301*/#ifdef D16311    _NO_KEY,                    /* 0x00 */    _SHUFFLE_KEY,               /* 0x01 */    _PREVIOUS_KEY,              /* 0x02 */    _ENTER_KEY,                 /* 0x03 */    _NO_KEY,                    /* 0x04 */    _PLAY_KEY,                  /* 0x05 */    _PAUSE_KEY,                 /* 0x06 */    _NEXT_KEY,                  /* 0x07 */    _NO_KEY,                    /* 0x08 */    _STOP_KEY,                  /* 0x09 */    _NO_KEY,                    /* 0x0a */    _EJECT_KEY,                 /* 0x0b */    _NO_KEY,                    /* 0x0c */    _FF_KEY,                    /* 0x0d */    _FB_KEY,                    /* 0x0e */    _SCREEN_ON_KEY,             /* 0x0f */    _NO_KEY,                    /* 0x10 */    _SET_A_KEY,                 /* 0x11 */    _REPEAT_KEY,                /* 0x12 */    _UP_KEY,                    /* 0x13 */    _NO_KEY,                    /* 0x14 */    _RIGHT_KEY,                 /* 0x15 */    _LEFT_KEY,                  /* 0x16 */    _DOWN_KEY,                  /* 0x17 */    _HITRUN_KEY,            	/* 0x18 */#endif /* D16311 */#ifdef D16312    _POWER_KEY,			/* 0x00 */#ifdef VFD_FUT33    _STOP_KEY,                  /* 0x01 */    _PAUSE_KEY,                 /* 0x02 */    _PLAY_KEY,                  /* 0x03 */    _NEXT_KEY,                  /* 0x04 */    _PREVIOUS_KEY,              /* 0x05 */    _EJECT_KEY,                 /* 0x06 */#else    _EJECT_KEY,			/* 0x01 */    _PLAY_KEY,			/* 0x02 */    _STOP_KEY,			/* 0x03 */    _PBC_KEY,			/* 0x04 */    _SHUFFLE_KEY,		/* 0x05 */    _PAUSE_KEY,			/* 0x06 */#endif    _NO_KEY,			/* 0x07 */    _MODE_KEY,			/* 0x08 */    _REPEAT_KEY,		/* 0x09 */    _VOCAL_ASSIST_KEY,		/* 0x0a */    _RESUME_KEY,		/* 0x0b */    _KEY_RESUME_KEY,		/* 0x0c */    _NO_KEY,			/* 0x0d */    _SLOW_KEY,			/* 0x0e */    _NO_KEY,			/* 0x0f */    _KEY_MINUS,			/* 0x10 */    _ECHO_MINUS,		/* 0x11 */    _FB_KEY,			/* 0x12 */    _NEXT_KEY,			/* 0x13 */    _KEY_PLUS,			/* 0x14 */    _ECHO_PLUS,			/* 0x15 */    _FF_KEY,			/* 0x16 */    _PREVIOUS_KEY,		/* 0x17 */#endif /* D16312 */#ifdef MN12510    /*     * 12510 can use 5 keyscan, so I don't put two keyscan into one,     * just put 4 NO_KEYs --- Liang Weihua     */    _POWER_KEY,			/* 0x00 */    _EJECT_KEY,			/* 0x01 */    _PLAY_KEY,			/* 0x02 */    _STOP_KEY,			/* 0x03 */    _NO_KEY,			/* 0x04 */    _NO_KEY,			/* 0x05 */    _NO_KEY,			/* 0x06 */    _NO_KEY,			/* 0x07 */    _PBC_KEY,			/* 0x08 */    _SHUFFLE_KEY,		/* 0x09 */    _PAUSE_KEY,			/* 0x0a */    _NO_KEY,			/* 0x0b */    _NO_KEY,			/* 0x0c */    _NO_KEY,			/* 0x0d */    _NO_KEY,			/* 0x0e */    _NO_KEY,			/* 0x0f */    _MODE_KEY,			/* 0x10 */    _REPEAT_KEY,		/* 0x11 */    _VOCAL_ASSIST_KEY,		/* 0x12 */    _RESUME_KEY,		/* 0x13 */    _NO_KEY,			/* 0x14 */    _NO_KEY,			/* 0x15 */    _NO_KEY,			/* 0x16 */    _NO_KEY,			/* 0x17 */    _KEY_RESUME_KEY,		/* 0x18 */    _NO_KEY,			/* 0x19 */    _SLOW_KEY,			/* 0x1a */    _NO_KEY,			/* 0x1b */    _NO_KEY,			/* 0x1c */    _NO_KEY,			/* 0x1d */    _NO_KEY,			/* 0x1e */    _NO_KEY,			/* 0x1f */    _KEY_MINUS,			/* 0x20 */    _ECHO_MINUS,		/* 0x21 */    _FB_KEY,			/* 0x22 */    _NEXT_KEY,			/* 0x23 */    _NO_KEY,			/* 0x24 */    _NO_KEY,			/* 0x25 */    _NO_KEY,			/* 0x26 */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -