📄 vfdspec.h
字号:
{"multi_on", {ICON_pal, ICON_ntsc},
{ICON_empty } },
{"colonon", {ICON_colon1,ICON_colon2},
{ICON_empty }, },
{"colonoff", {ICON_empty },
{ICON_colon1,ICON_colon2} },
};
#endif
#ifdef VFD_13
#define VFD_MODE 0x02
// *********************************************************************
// Predefined ANODE
// *********************************************************************
#define ANODE_EMPTY GET_NODE_WORD(0x8, 0x01)
#define ICON_EMPTY {0x8, 0x01}
// *********************************************************************
// Refresh Table
// *********************************************************************
BYTE pbVfdRefresh[] = {
0x00, 0x01, 0x02, 0x03,
0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0a,0x0b
};
strucVfdIcon prVfdWheel[] = {
{ 0x1,0x80},
{0x1,0x40},
{0x1,0x20},
{0x1,0x10},
{0x1,0x8},
{0x1,0x4},
/*{0x00, 0x80},
{0x00, 0x40},
{0x00, 0x20},
{0x00, 0x10},
{0x00, 0x08},
{0x00, 0x04},
{0x00, 0x02},*/
};
// *********************************************************************
// Panel/Controller Attributes
// *********************************************************************
#define VFD_CHAR_SEG_SZ 8
#include "vfd_char.h"
#define VFD_SHADOW_LEN VFD_REFRESH_TBL_SZ
#define VFD_FIELD_MAX 6
BYTE pbVfdMsgPosition[] = {
// VFD_TITLE+1,
VFD_TRACK, VFD_TRACK+1,
//VFD_MIN100,
VFD_MINUTE,
VFD_MINUTE+1, VFD_SECOND, VFD_SECOND+1
};
typedef struct structVfdSegment
{
WORD pwSeg[VFD_CHAR_SEG_SZ];
} strucVfdSegment;
#define SEG_TRACK_HIGH { \
GET_NODE_WORD(0x0,0x80), \
GET_NODE_WORD(0x0,0x40), \
GET_NODE_WORD(0x0,0x8), \
GET_NODE_WORD(0x0,0x2), \
GET_NODE_WORD(0x0,0x4), \
GET_NODE_WORD(0x0,0x20), \
GET_NODE_WORD(0x0,0x10), \
ANODE_EMPTY \
}
#define SEG_TRACK_LOW { \
GET_NODE_WORD(0x2,0x80), \
GET_NODE_WORD(0x2,0x40), \
GET_NODE_WORD(0x2,0x8), \
GET_NODE_WORD(0x2,0x2), \
GET_NODE_WORD(0x2,0x4), \
GET_NODE_WORD(0x2,0x20), \
GET_NODE_WORD(0x2,0x10), \
ANODE_EMPTY \
}
#define SEG_MINUTE_HIGH { \
GET_NODE_WORD(0x5,0x80), \
GET_NODE_WORD(0x5,0x40), \
GET_NODE_WORD(0x5,0x8), \
GET_NODE_WORD(0x5,0x2), \
GET_NODE_WORD(0x5,0x4), \
GET_NODE_WORD(0x5,0x20), \
GET_NODE_WORD(0x5,0x10), \
ANODE_EMPTY \
}
#define SEG_MINUTE_LOW { \
GET_NODE_WORD(0x4,0x80), \
GET_NODE_WORD(0x4,0x40), \
GET_NODE_WORD(0x4,0x8), \
GET_NODE_WORD(0x4,0x2), \
GET_NODE_WORD(0x4,0x4), \
GET_NODE_WORD(0x4,0x20), \
GET_NODE_WORD(0x4,0x10), \
ANODE_EMPTY \
}
#define SEG_SECOND_HIGH { \
GET_NODE_WORD(0x7,0x80), \
GET_NODE_WORD(0x7,0x40), \
GET_NODE_WORD(0x7,0x8), \
GET_NODE_WORD(0x7,0x2), \
GET_NODE_WORD(0x7,0x4), \
GET_NODE_WORD(0x7,0x20), \
GET_NODE_WORD(0x7,0x10), \
ANODE_EMPTY \
}
#define SEG_SECOND_LOW { \
GET_NODE_WORD(0x6,0x80), \
GET_NODE_WORD(0x6,0x40), \
GET_NODE_WORD(0x6,0x8), \
GET_NODE_WORD(0x6,0x2), \
GET_NODE_WORD(0x6,0x4), \
GET_NODE_WORD(0x6,0x20), \
GET_NODE_WORD(0x6,0x10), \
ANODE_EMPTY \
}
#define SEG_HOUR { \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY \
}
#define SEG_TITLE_HIGH { \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY \
}
#define SEG_TITLE_LOW { \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY, \
ANODE_EMPTY \
}
strucVfdSegment prVfdCharSegments[] = {
SEG_TRACK_HIGH,
SEG_TRACK_LOW,
SEG_MINUTE_HIGH,
SEG_MINUTE_LOW,
SEG_SECOND_HIGH,
SEG_SECOND_LOW,
SEG_HOUR,
// SEG_TITLE_HIGH,
// SEG_TITLE_LOW,
};
#define VFD_MSG_CHAR_NUM 8
typedef struct structVfdMsg {
char * pcName;
WORD pwMsg[VFD_MSG_CHAR_NUM];
} strucVfdMsg;
strucVfdMsg prVfdMsg[] = {
{"stop", {CHAR_, CHAR_,CHAR_S,CHAR_t,CHAR_O,CHAR_P, CHAR_end}},
{"root", {CHAR_, CHAR_, CHAR_R,CHAR_O,CHAR_O,CHAR_t,CHAR_end}},
{"title", { CHAR_, CHAR_t,CHAR_I,CHAR_t,CHAR_L,CHAR_E,CHAR_end}},
{"nodisc", {CHAR_n,CHAR_O,CHAR_d,CHAR_I,CHAR_S,CHAR_C,CHAR_end}},
{"undisc", {CHAR_U,CHAR_n,CHAR_d,CHAR_I,CHAR_S,CHAR_C,CHAR_end}},
{"open", {CHAR_, CHAR_, CHAR_O,CHAR_P,CHAR_E,CHAR_n,CHAR_end}},
{"close", {CHAR_, CHAR_C,CHAR_L,CHAR_O,CHAR_S,CHAR_E,CHAR_end}},
{"vcd", { CHAR_, CHAR_,CHAR_U,CHAR_C,CHAR_d,CHAR_, CHAR_end}},
{"svcd", { CHAR_, CHAR_, CHAR_S,CHAR_U,CHAR_C,CHAR_d,CHAR_end}},
{"loading", {CHAR_, CHAR_, CHAR_L,CHAR_O,CHAR_A,CHAR_d,CHAR_end}},
{"off", {CHAR_, CHAR__,CHAR_O,CHAR_F,CHAR_F,CHAR__,CHAR_end}},
{"hello", { CHAR_, CHAR_H,CHAR_E,CHAR_L,CHAR_L,CHAR_O,CHAR_end}},
{"jpeg", {CHAR_, CHAR_, CHAR_J,CHAR_P,CHAR_E,CHAR_g,CHAR_end}},
{"p_cd", {CHAR_, CHAR_, CHAR_P,CHAR__,CHAR_c,CHAR_d,CHAR_end}},
{"pbc_play",{CHAR_P,CHAR_b,CHAR_c,CHAR_P,CHAR_L,CHAR_A,CHAR_end}},
{"digest", {CHAR_ ,CHAR_,CHAR_d,CHAR_g,CHAR_S,CHAR_t, CHAR_end}},
{"err", {CHAR_ ,CHAR_, CHAR_E,CHAR_R,CHAR_R,CHAR_, CHAR_end}},
{"upg", {CHAR_ ,CHAR_U,CHAR_P,CHAR_g,CHAR_, CHAR_, CHAR_end}},
{"clearall",{ CHAR_, CHAR_, CHAR_, CHAR_, CHAR_, CHAR_, CHAR_end}}
};
#if (VFD_CHAR_SEG_SZ <= 8)
#define CHAR_all 0x00ff
#elif (VFD_CHAR_SEG_SZ == 10)
#define CHAR_all 0x03ff
#elif (VFD_CHAR_SEG_SZ == 14)
#define CHAR_all 0x3fff
#endif
#define ICON_pbc GET_NODE_WORD(0x5,0x1)
#define ICON_angle ICON_empty
#define ICON_repeat ICON_empty // GET_NODE_WORD(0x4,0x1)
#define ICON_all ICON_empty //GET_NODE_WORD(0x02, 0x40)
#define ICON_dvd GET_NODE_WORD(0x4,0x1)
#define ICON_super GET_NODE_WORD(0x3,0x1)
#define ICON_vcd GET_NODE_WORD(0x3,0x80)
#define ICON_mp3 GET_NODE_WORD(0x7,0x1)
#define ICON_cd GET_NODE_WORD(0x3,0x40)
#define ICON_colon1 GET_NODE_WORD(0x6,0x1)
#define ICON_colon2 ICON_empty// GET_NODE_WORD(0x07, 0x01)
#define ICON_play ICON_empty // GET_NODE_WORD(0x02, 0x10)
#define ICON_pause ICON_empty // GET_NODE_WORD(0x02, 0x20)
#define ICON_ac3 ICON_empty// GET_NODE_WORD(0x08, 0x02)
#define ICON_dts ICON_empty// GET_NODE_WORD(0x08, 0x01)
#define ICON_empty ANODE_EMPTY
#define ICON_ntsc GET_NODE_WORD(0x2,0x1)
#define ICON_pal GET_NODE_WORD(0x3,0x20)
#define ICON_vocal ICON_empty
#define ICON_one ICON_empty
#define ICON_program ICON_empty
#define ICON_l GET_NODE_WORD(0x3,0x4)
#define ICON_slash GET_NODE_WORD(0x3,0x8)
#define ICON_r GET_NODE_WORD(0x3,0x2)
#define ICON_random ICON_empty
#define ICON_s7 ICON_empty
#define ICON_s6 ICON_empty
#define ICON_s5 ICON_empty
#define ICON_s4 ICON_empty
#define ICON_s3 ICON_empty
#define ICON_s2 ICON_empty
#define ICON_s1 ICON_empty
#define ICON_seta ICON_empty
#define ICON_setb ICON_empty
#define ICON_chapter ICON_empty
#define ICON_title ICON_empty
#define ICON_circle GET_NODE_WORD(0x01,0x02)
#define ICON_micphon GET_NODE_WORD(0x03,0x10)
strucVfdIconMacro prVfdIconMacro[] = {
/* Repeat AB related */
{"a2b_a", {ICON_seta}, {ICON_setb} },
{"a2b_b", {ICON_seta, ICON_setb}, {ICON_empty } },
{"a2b_cancel", {ICON_empty }, {ICON_seta, ICON_setb} },
/* Audio selection */
{"mono_l", {ICON_l},
{ICON_r, ICON_slash} },
{"mono_r", {ICON_r},
{ICON_l, ICON_slash} },
{"stereo", {ICON_slash, ICON_l, ICON_r},
{ICON_empty} },
{"stereo_off", {ICON_empty},
{ICON_slash, ICON_l, ICON_r}},
{"vocal_l", {ICON_l},
{ICON_slash, ICON_r} },
{"vocal_r", {ICON_r},
{ICON_slash, ICON_l} },
{"vocal_off", {ICON_empty},
{ICON_empty} },
/* Play selection */
{"fb", {ICON_empty}, {ICON_play, ICON_pause} },
{"ff", {ICON_empty}, {ICON_play, ICON_pause} },
{"pause", {ICON_pause}, {ICON_play} },
{"play", {ICON_play}, {ICON_pause} },
{"stop", {ICON_empty}, {ICON_play, ICON_pause} },
/* PBC selection */
{"pbc_on", {ICON_pbc}, {ICON_empty} },
{"pbc_off", {ICON_empty}, {ICON_pbc} },
/* Intro/digest */
{"intro_on",{ICON_empty}, {ICON_empty} },
{"intro_off",{ICON_empty}, {ICON_empty} },
/* Mic. colon, track, hyphen etc */
{"colon_on", {ICON_colon2}, {ICON_empty} },
{"colon_off",{ICON_empty}, {ICON_colon2} },
{"track", {ICON_chapter}, {ICON_title} },
{"title", {ICON_title, ICON_chapter}, {ICON_empty} },
/* title on/off */
{"title_on", {ICON_title}, {ICON_empty} },
{"title_off",{ICON_empty}, {ICON_title} },
/* Play sequence */
{"sequence", {ICON_empty}, {ICON_program, ICON_random, ICON_repeat, ICON_all, ICON_seta, ICON_setb} },
{"program", {ICON_program},
{ICON_random, ICON_pbc} },
{"shuffle", {ICON_random},
{ICON_program, ICON_pbc} },
/* Repeat related */
{"repeat_off", {ICON_empty},
{ICON_repeat, ICON_one, ICON_all, ICON_seta, ICON_setb} },
{"repeat_one", {ICON_repeat},
{ICON_all} },
{"repeat_all", {ICON_repeat, ICON_all},
{ICON_empty} },
/* CD type */
{"svcd", {ICON_vcd, ICON_super, ICON_cd},
{ICON_dvd} },
{"cdda", {ICON_cd},
{ICON_super, ICON_vcd, ICON_dvd} },
{"vcd", {ICON_vcd, ICON_cd},
{ICON_super, ICON_dvd} },
/* TV type */
{"ntsc", {ICON_ntsc},
{ICON_pal} },
{"pal", {ICON_pal},
{ICON_ntsc} },
/* Key shift */
{"key_up", {ICON_empty},
{ICON_empty} },
{"key_down", {ICON_empty},
{ICON_empty} },
{"key_resume", {ICON_empty},
{ICON_empty} },
/* Initialization */
{"init_state", {ICON_chapter, ICON_l, ICON_r, ICON_s1, ICON_s2,
ICON_s3, ICON_s4, ICON_s5, ICON_s6, ICON_s7},
{ICON_empty} },
{"clear_msg", {ICON_empty }, {ICON_colon1, ICON_colon2, ICON_title, ICON_chapter} },
{"panel4_off", {ICON_empty },
{ICON_ntsc, ICON_pal, ICON_l, ICON_r, ICON_vocal, ICON_pbc, }, },
{"panel5_off", {ICON_empty },
{ICON_angle, ICON_title, ICON_ac3, ICON_dts }, },
{"in_vts", {ICON_dvd, ICON_chapter, ICON_play, ICON_title },
{ICON_empty } },
{"pause_on", {ICON_pause}, {ICON_play} },
{"pause_off", {ICON_play}, {ICON_pause} },
{"angle_on", {ICON_angle}, {ICON_empty } },
{"angle_off", {ICON_empty }, {ICON_angle} },
{"ac3", {ICON_ac3}, {ICON_dts, ICON_mp3} },
{"dts", {ICON_dts}, {ICON_ac3, ICON_mp3} },
{"mp3", {ICON_mp3}, {ICON_ac3, ICON_dts} },
{"pcm", {ICON_empty}, {ICON_dts, ICON_ac3, ICON_mp3} },
{"clear_audio", {ICON_empty}, {ICON_dts, ICON_ac3, ICON_mp3}},
{"chapter_repeat_on", {ICON_repeat, ICON_one },
{ICON_all}, },
{"title_repeat_on", {ICON_repeat, ICON_all },
{ICON_one}, },
{"chapter_repeat_off", {ICON_empty },
{ICON_repeat, ICON_one}, },
{"title_repeat_off", {ICON_empty },
{ICON_repeat, ICON_all}, },
{"dvdon", {ICON_dvd},
{ICON_empty }, },
{"dvdoff", {ICON_empty },
{ICON_dvd} },
{"multi_on", {ICON_pal, ICON_ntsc},
{ICON_empty } },
{"colonon", {ICON_colon1,ICON_colon2},
{ICON_empty }, },
{"colonoff", {ICON_empty },
{ICON_colon1,ICON_colon2} },
{"mic_on", {ICON_micphon}, {ICON_empty} },
{"mic_off", {ICON_empty}, {ICON_micphon} },
{"circle_on", {ICON_circle}, {ICON_empty} },
{"circle_off", {ICON_empty}, {ICON_circle} },
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -