📄 vfd_cus.h
字号:
/*************** MTK CONFIDENTIAL & COPYRIGHTED ****************/
/*************** ****************/
/*************** Description : VFD Driver Customer ****************/
/*************** HW Leve Header file ****************/
/*************** ****************/
/*************** Company : MediaTek Inc. ****************/
/*************** Programmer : Harrison Hsieh ****************/
/**********************************************************************/
#ifndef _VFD_CUS_H_
#define _VFD_CUS_H_
#ifdef VFD_SUPPORT
#if defined(CS360)
#define VFD_16312
#else
#define VFD_16311
#endif
#define VFD_LED
//#define DIRECT_CROSS_TABLE
// how many segments on this VFD
#define MAX_SEG_SEQ_NUM 7// 9 //MAX message Length
// VFD command related
#define MODESET 0x04 // 10 digits, 18 segment in 16311 xiao 03-04-22
#define VFD_CONTROL 0x8E // set Display ON and Set Pulse width
#if defined(CS360)
#define MAX_VFD_ADDR 0x15 // the real Max VFD_ADDR 9 digits 16 segements
#else
#define MAX_VFD_ADDR 0x23 // the real Max VFD_ADDR 9 digits 16 segements
#endif
#define MAX_DISC_NUM 9 //rotating disk
#define SEG_SIZE 14
// VFD mode constant code define here
code BYTE _pbVfdMode[] = {
#if defined(VFD_16312)
0xff, 0xff, 0x0f, 0x01, 0x0f, 0x02, 0x06, 0x01, 0x05, 0x20, 0x0f, 0x10,//6
0x0f, 0x08, 0x0f, 0x04, 0x0f, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,//12, //11,all? 02/03/04 long
0x0e, 0x02, 0x0e, 0x01, 0x0d, 0x20, 0x03, 0x20, 0x04, 0x01, 0xff, 0xff,
0x0a, 0x01, 0x07, 0x20, 0xff, 0xff, 0x0e, 0x04, 0x0e, 0x20, 0x0e, 0x40,
0x01, 0x20, 0xff, 0xff
#else
0x15, 0x10, 0x16, 0x02, 0x16, 0x04, 0x09, 0x01, 0x07, 0x80, 0x16, 0x40,//6
0x16, 0x20, 0x16, 0x10, 0x16, 0x80, 0x15, 0x80, 0x15, 0x80, 0x0d, 0x80,//12, //11,all? 02/03/04 long
0x15, 0x02, 0x15, 0x01, 0x13, 0x80, 0x04, 0x80, 0x06, 0x01, 0x16, 0x08,
0x0f, 0x01, 0x0a, 0x80, 0xff, 0xff, 0x15, 0x04, 0x15, 0x20, 0x15, 0x40,
0x01, 0x80, 0xff, 0xff
#endif
};
//xiao 03-04-22
code BYTE _pbVfdDisc[] = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
// VFD seven-segment related defined here, not only for digits, but also for words
code BYTE _pbVfdSeg[7][28] = {
#if defined(VFD_16312)
{0x0d, 0x10, 0x0d, 0x08, 0x0c, 0x40, 0x0c, 0x02, 0x0c, 0x04, 0x0d, 0x01, 0x0c, 0x80, 0x0d, 0x02, // ABCDEFGH
0x0c, 0x80, 0x0c, 0x10, 0x0c, 0x10, 0x0c, 0x20, 0x0d, 0x04, 0x0c, 0x08}, // MJPNKR
{0x0b, 0x10, 0x0b, 0x08, 0x0a, 0x40, 0x0a, 0x02, 0x0a, 0x04, 0x0b, 0x01, 0x0a, 0x80, 0x0b, 0x02, // ABCDEFGH
0x0a, 0x80, 0x0a, 0x10, 0x0a, 0x10, 0x0a, 0x20, 0x0b, 0x04, 0x0a, 0x08},
{0x09, 0x10, 0x09, 0x08, 0x08, 0x40, 0x08, 0x02, 0x08, 0x04, 0x09, 0x01, 0x08, 0x80, 0x09, 0x02, // ABCDEFGH
0x08, 0x80, 0x08, 0x10, 0x08, 0x10, 0x08, 0x20, 0x09, 0x04, 0x08, 0x08},
{0x07, 0x10, 0x07, 0x08, 0x06, 0x40, 0x06, 0x02, 0x06, 0x04, 0x07, 0x01, 0x06, 0x80, 0x07, 0x02, // ABCDEFGH
0x06, 0x80, 0x06, 0x10, 0x06, 0x10, 0x06, 0x20, 0x07, 0x04, 0x06, 0x08},
{0x05, 0x10, 0x05, 0x08, 0x04, 0x40, 0x04, 0x02, 0x04, 0x04, 0x05, 0x01, 0x04, 0x80, 0x05, 0x02, // ABCDEFGH
0x04, 0x80, 0x04, 0x10, 0x04, 0x10, 0x04, 0x20, 0x05, 0x04, 0x04, 0x08},
{0x03, 0x10, 0x03, 0x08, 0x02, 0x40, 0x02, 0x02, 0x02, 0x04, 0x03, 0x01, 0x02, 0x80, 0x03, 0x02, // ABCDEFGH
0x02, 0x80, 0x02, 0x10, 0x02, 0x10, 0x02, 0x20, 0x03, 0x04, 0x02, 0x08},
{0x01, 0x10, 0x01, 0x08, 0x00, 0x40, 0x00, 0x02, 0x00, 0x04, 0x01, 0x01, 0x00, 0x80, 0x01, 0x02, // ABCDEFGH
0x00, 0x80, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x01, 0x04, 0x00, 0x08}
#else
{0x13, 0x40, 0x13, 0x20, 0x12, 0x40, 0x12, 0x02, 0x12, 0x04, 0x13, 0x02, 0x12, 0x80, 0x13, 0x04, // ABCDEFGH
0x13, 0x01, 0x13, 0x08, 0x12, 0x10, 0x12, 0x20, 0x13, 0x10, 0x12, 0x08}, // MJPNKR
{0x10, 0x40, 0x10, 0x20, 0x0f, 0x40, 0x0f, 0x02, 0x0f, 0x04, 0x10, 0x02, 0x0f, 0x80, 0x10, 0x04,
0x10, 0x01, 0x10, 0x08, 0x0f, 0x10, 0x0f, 0x20, 0x10, 0x10, 0x0f, 0x08},
{0x0d, 0x40, 0x0d, 0x20, 0x0c, 0x40, 0x0c, 0x02, 0x0c, 0x04, 0x0d, 0x02, 0x0c, 0x80, 0x0d, 0x04,
0x0d, 0x01, 0x0d, 0x08, 0x0c, 0x10, 0x0c, 0x20, 0x0d, 0x10, 0x0c, 0x08},
{0x0a, 0x40, 0x0a, 0x20, 0x09, 0x40, 0x09, 0x02, 0x09, 0x04, 0x0a, 0x02, 0x09, 0x80, 0x0a, 0x04,
0x0a, 0x01, 0x0a, 0x08, 0x09, 0x10, 0x09, 0x20, 0x0a, 0x10, 0x09, 0x08},
{0x07, 0x40, 0x07, 0x20, 0x06, 0x40, 0x06, 0x02, 0x06, 0x04, 0x07, 0x02, 0x06, 0x80, 0x07, 0x04,
0x07, 0x01, 0x07, 0x08, 0x06, 0x10, 0x06, 0x20, 0x07, 0x10, 0x06, 0x08},
{0x04, 0x40, 0x04, 0x20, 0x03, 0x40, 0x03, 0x02, 0x03, 0x04, 0x04, 0x02, 0x03, 0x80, 0x04, 0x04,
0x04, 0x01, 0x04, 0x08, 0x03, 0x10, 0x03, 0x20, 0x04, 0x10, 0x03, 0x08},
{0x01, 0x40, 0x01, 0x20, 0x00, 0x40, 0x00, 0x02, 0x00, 0x04, 0x01, 0x02, 0x00, 0x80, 0x01, 0x04,
0x01, 0x01, 0x01, 0x08, 0x00, 0x10, 0x00, 0x20, 0x01, 0x10, 0x00, 0x08}
#endif
};
code BYTE _pbSegSequence[] = {
VFD_SEG_CHAP_HIGH, VFD_SEG_CHAP_LOW, VFD_SEG_HR, VFD_SEG_MIN_HIGH, VFD_SEG_MIN_LOW,
VFD_SEG_SEC_HIGH,VFD_SEG_SEC_LOW
};
code BYTE _pbVfdMsg[] = {
0x07, SEG_CHAR_H, SEG_CHAR_E, SEG_CHAR_L, SEG_CHAR_L, SEG_CHAR_O, SEG_CLEAN, SEG_CLEAN, // hello
0x07, SEG_CHAR_S, SEG_CHAR_T, SEG_CHAR_O, SEG_CHAR_P, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // stop
0x07, SEG_CHAR_R, SEG_CHAR_O, SEG_CHAR_O, SEG_CHAR_T, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // root
0x07, SEG_CHAR_T, SEG_CHAR_I, SEG_CHAR_T, SEG_CHAR_L, SEG_CHAR_E, SEG_CLEAN, SEG_CLEAN, // title
0x07, SEG_CHAR_N, SEG_CHAR_O, SEG_CHAR_d, SEG_CHAR_I, SEG_CHAR_S, SEG_CHAR_C, SEG_CLEAN, // nodisc
0x07, SEG_CHAR_U, SEG_CHAR_N, SEG_CHAR_d, SEG_CHAR_I, SEG_CHAR_S, SEG_CHAR_C, SEG_CLEAN, // undisc
0x07, SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // open
0x07, SEG_CHAR_C, SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_S, SEG_CHAR_E, SEG_CLEAN, SEG_CLEAN, // close
0x07, SEG_CLEAN , SEG_CLEAN , SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, SEG_CLEAN, // loading
0x07, SEG_CHAR_O, SEG_CHAR_F, SEG_CHAR_F, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // OFF
0x07, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // jpeg
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CHAR_C, SEG_CHAR_d, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // p-cd
0x07, SEG_CHAR_E, SEG_CHAR_R, SEG_CHAR_R, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // err
0x07, SEG_CHAR_U, SEG_CHAR_P, SEG_CHAR_G, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // upg
0x07, SEG_CHAR_d, SEG_CHAR_I, SEG_CHAR_g, SEG_CHAR_E, SEG_CHAR_S, SEG_CHAR_t, SEG_CLEAN, // digest
0x07, SEG_CHAR_P, SEG_CHAR_b, SEG_CHAR_C, SEG_CHAR__, SEG_CHAR_P, SEG_CHAR_L, SEG_CHAR_A,// SEG_CHAR_y, // pbc-play
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // I-
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // V-
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // P-
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_L, SEG_CHAR_O, SEG_CHAR_A, SEG_CHAR_d, // loading
0x07, SEG_CHAR_I, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_V, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_P, SEG_CHAR__, SEG_CLEAN, SEG_CHAR_O, SEG_CHAR_P, SEG_CHAR_E, SEG_CHAR_N, // open
0x07, SEG_CHAR_V, SEG_CHAR_O, SEG_CHAR_L, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // VOL
0x07, SEG_CHAR_F, SEG_CHAR_L, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // FL
0x07, SEG_CHAR_F, SEG_CHAR_R, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // FR
0x07, SEG_CHAR_C, SEG_CHAR_N, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // CENT
0x07, SEG_CHAR_S, SEG_CHAR_W, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // SUb
0x07, SEG_CHAR_L, SEG_CHAR_S, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // LS
0x07, SEG_CHAR_R, SEG_CHAR_S, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // RS
0x07, SEG_CHAR_T, SEG_CHAR_R, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // Tr
0x07, SEG_CHAR_b, SEG_CHAR_A, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // ba
0x07, SEG_CLEAN, SEG_CHAR_A, SEG_CHAR_U, SEG_CHAR_X, SEG_CHAR_I, SEG_CHAR_N, SEG_CLEAN , // AUXIN
0x07, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, SEG_CLEAN, // clean all
0x07, SEG_CHAR_S, SEG_CHAR_T, SEG_CHAR_A, SEG_CHAR_N, SEG_CHAR_d, SEG_CHAR_b, SEG_CHAR_y, // standby
0x07, SEG_CLEAN, SEG_CLEAN, SEG_CHAR_M, SEG_CHAR_U, SEG_CHAR_T, SEG_CHAR_E, SEG_CLEAN, // mute
0x07, SEG_CLEAN, SEG_CLEAN, SEG_CHAR_A, SEG_CHAR_U, SEG_CHAR_T, SEG_CHAR_O, SEG_CLEAN, // AUTO
0x07, SEG_CLEAN, SEG_CHAR_M, SEG_CHAR_A, SEG_CHAR_N, SEG_CHAR_U, SEG_CHAR_A, SEG_CHAR_L // MANUAL
#ifdef BASS_BOOST_DRIVER
,
0x07, SEG_CHAR_b, SEG_CHAR_O, SEG_CHAR_O, SEG_CHAR_S,SEG_CHAR_T, SEG_CLEAN, SEG_CLEAN, // bass boost
#endif
#ifdef PRESET_MEMORY_STATION
,
0x07, SEG_CLEAN, SEG_CHAR_P, SEG_CHAR_R, SEG_CHAR_E, SEG_CHAR_S, SEG_CHAR_E, SEG_CHAR_T // PRESET
#endif
#if defined(USE_PT2399)
,
0x07, SEG_CHAR_M, SEG_CHAR_V, SEG_CHAR_O, SEG_CHAR_L, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // MVOL
0x07, SEG_CHAR_E, SEG_CHAR_C, SEG_CHAR_H, SEG_CHAR_O, SEG_CLEAN, SEG_CLEAN , SEG_CLEAN, // ECHO
#endif
};
code WORD _pbMsgTable[] = {
0 ,8 ,16 , 24, 32, 40, 48, 56, 64, 72,
80 ,88 ,96 ,104,112,120,128,136,144,152,
160,168,176,184,192,200,208,216,224,232,
240,248,256,264,272,280,288,296,304,312
#ifdef BASS_BOOST_DRIVER
,320
#endif
#ifdef PRESET_MEMORY_STATION
,320
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -