📄 panel.c
字号:
{
print_vfd_msg(0, cd_disp_trk/100);
if(cd_disp_trk>=100)
print_vfd_msg(1, (cd_disp_trk-100)/10);
else
print_vfd_msg(1, cd_disp_trk/10);
print_vfd_msg(2, cd_disp_trk %10);
print_vfd_msg(3, (CurrentTime/60)/10);
print_vfd_msg(4, (CurrentTime/60)%10);
print_vfd_msg(5, (CurrentTime%60)/10);
print_vfd_msg(6, (CurrentTime%60)%10);
}else
{
#if VFD_SHOW_HOUR
print_vfd_msg(0, cd_disp_trk/10);
print_vfd_msg(1, cd_disp_trk%10);
print_vfd_msg(2, CurrentTime/3600);
print_vfd_msg(3, ((CurrentTime%3600) /60)/10);
print_vfd_msg(4, ((CurrentTime%3600) /60)%10);
print_vfd_msg(5, (CurrentTime%60)/10);
print_vfd_msg(6, (CurrentTime%60)%10);
#else
print_vfd_msg(0, cd_disp_trk/100);
if(cd_disp_trk>=100)
print_vfd_msg(1, (cd_disp_trk-100)/10);
else
print_vfd_msg(1, cd_disp_trk/10);
print_vfd_msg(2, cd_disp_trk %10);
print_vfd_msg(3, (CurrentTime/60)/10);
print_vfd_msg(4, (CurrentTime/60)%10);
print_vfd_msg(5, (CurrentTime%60)/10);
print_vfd_msg(6, (CurrentTime%60)%10);
#endif
}
}
void vfd_mp3_show_time_stop(void)
{
extern USHORT gMp3TotalFile;
extern Mp3_FolderPageInfo_t *gFolderPage;
unsigned char cd_disp_mm,cd_disp_ss,cd_disp_trk1;
cd_disp_trk1 = (unsigned char)gFolderPage->content_num;
cd_disp_mm = gMp3TotalFile/100;
cd_disp_ss = gMp3TotalFile%100;
print_vfd_msg(0, cd_disp_trk1/100);
print_vfd_msg(1, (cd_disp_trk1%100)/10);
print_vfd_msg(2, (cd_disp_trk1%100)%10);
print_vfd_msg(3, gMp3TotalFile/1000);
print_vfd_msg(4, (gMp3TotalFile%1000)/100);
print_vfd_msg(5, cd_disp_ss/10);
print_vfd_msg(6, cd_disp_ss%10);
vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
}
void vfd_disc_fill_all(void)
{
FpBuf[8] |= 0xfc;
FpBuf[9] |= 0x7f;
vfd_dot(VFD_DOT_OFF, VFD_DOT_REP1);
vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PBC);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PLAY);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PAUSE);
}
void vfd_open(void)
{
FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(3, CHAR_O);
print_vfd_msg(4, CHAR_P);
print_vfd_msg(5, CHAR_E);
print_vfd_msg(6, CHAR_N);
}
void vfd_close(void)
{
//FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(2, CHAR_C);
print_vfd_msg(3, CHAR_L);
print_vfd_msg(4, CHAR_O);
print_vfd_msg(5, CHAR_S);
print_vfd_msg(6, CHAR_E);
}
void vfd_nodisc(void)
{
print_vfd_msg(1, CHAR_N);
print_vfd_msg(2, CHAR_O);
print_vfd_msg(3, CHAR_D);
print_vfd_msg(4, CHAR_I);
print_vfd_msg(5, CHAR_S);
print_vfd_msg(6, CHAR_C);
}
#elif PANEL_FUT14 //HTS VCD-5700
#define VFD_DOT_S1 14
#define VFD_DOT_S2 13
#define VFD_DOT_S3 12
#define VFD_DOT_S4 11
#define VFD_DOT_S5 10
#define VFD_DOT_S6 9
#define MAX_DISC_DOT 6
const UINT8 vfd_disc[MAX_DISC_DOT] = {VFD_DOT_S1,VFD_DOT_S2,VFD_DOT_S3,
VFD_DOT_S4,VFD_DOT_S5,VFD_DOT_S6 };
const unsigned char vfd_addr[8] = {1,3, 2, 5, 4, 7, 6, 8};
void print_vfd_msg(unsigned char no, unsigned char data)
{
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
if(no<9)
{
FpBuf[vfd_addr[no]]&=0x80;
FpBuf[vfd_addr[no]]|=vfd_digit[data];
}
SysReleaseSema(&gVfd_RWSema );
}
}
void vfd_disc_turn(unsigned char mode)
{
static unsigned char i = 0;
static unsigned char jj = 0;
static unsigned char j=0;
static unsigned char t = 0;
vfd_dot(VFD_DOT_ON,VFD_DOT_COLON1);
for(i=0;i<MAX_DISC_DOT;i++)
{
if((mode==1)||(mode==2))
vfd_dot(VFD_DOT_ON,vfd_disc[i]);
else
vfd_dot(VFD_DOT_OFF,vfd_disc[i]);
}
if (mode)
{
vfd_dot(VFD_DOT_OFF,vfd_disc[j++]);
if(j>=MAX_DISC_DOT)
j=0;
}
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
if(i > 5) i = 0;
i++;
switch (i)
{
case 1:
vfd_dot(VFD_DOT_ON, VFD_DOT_COLON);
break;
case 4:
vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
break;
case 3:
case 6:
break;
default:
break;
}
SysReleaseSema(&gVfd_RWSema );
}
}
void vfd_readtoc(void)
{
FPClearFp();
print_vfd_msg(3, CHAR_C);
print_vfd_msg(4, CHAR_L);
print_vfd_msg(5, CHAR_O);
print_vfd_msg(6, CHAR_S);
print_vfd_msg(7, CHAR_E);
}
void vfd_show_time(USHORT track , ULONG32 time)
{
static unsigned char cd_time_ss = 0xff;
unsigned char cd_disp_trk,cd_disp_hh,cd_disp_mm,cd_disp_ss;
ULONG32 CurrentTime;
vfd_dot(VFD_DOT_ON, VFD_DOT_COLON1);
CurrentTime = time;
cd_disp_trk = (unsigned char) track;
if(MP3_DISC== GetDiscType())
{
print_vfd_msg(1, (cd_disp_trk%1000)/100);
print_vfd_msg(2, (cd_disp_trk%100)/10);
print_vfd_msg(3, (cd_disp_trk%100)%10);
print_vfd_msg(4, (CurrentTime/60)/10);
print_vfd_msg(5, (CurrentTime/60)%10);
print_vfd_msg(6, (CurrentTime%60)/10);
print_vfd_msg(7, (CurrentTime%60)%10);
}else
{
#if VFD_SHOW_HOUR
print_vfd_msg(1, cd_disp_trk/10);
print_vfd_msg(2, cd_disp_trk%10);
print_vfd_msg(3, CurrentTime/3600);
print_vfd_msg(4, ((CurrentTime%3600) /60)/10);
print_vfd_msg(5, ((CurrentTime%3600) /60)%10);
print_vfd_msg(6, (CurrentTime%60)/10);
print_vfd_msg(7, (CurrentTime%60)%10);
#else
#if PANEL_FUT14
print_vfd_msg(0, 20/*gVcdTrackInfo.Total_track_cnt/10*/);
print_vfd_msg(1, 20/*gVcdTrackInfo.Total_track_cnt%10*/);
#else
print_vfd_msg(0, gVcdTrackInfo.Total_track_cnt/10);
print_vfd_msg(1, gVcdTrackInfo.Total_track_cnt%10);
#endif
print_vfd_msg(2, cd_disp_trk/10);
print_vfd_msg(3, cd_disp_trk %10);
print_vfd_msg(4, (CurrentTime/60)/10);
print_vfd_msg(5, (CurrentTime/60)%10);
print_vfd_msg(6, (CurrentTime%60)/10);
print_vfd_msg(7, (CurrentTime%60)%10);
#endif
}
}
void vfd_mp3_show_time_stop(void)
{
extern USHORT gMp3TotalFile;
extern Mp3_FolderPageInfo_t *gFolderPage;
unsigned char cd_disp_mm,cd_disp_ss,cd_disp_trk1;
cd_disp_trk1 = (unsigned char)gFolderPage->content_num;
cd_disp_mm = gMp3TotalFile/100;
cd_disp_ss = gMp3TotalFile%100;
print_vfd_msg(0, cd_disp_trk1/100);
print_vfd_msg(1, (cd_disp_trk1%100)/10);
print_vfd_msg(2, (cd_disp_trk1%100)%10);
print_vfd_msg(3, gMp3TotalFile/1000);
print_vfd_msg(4, (gMp3TotalFile%1000)/100);
print_vfd_msg(5, cd_disp_ss/10);
print_vfd_msg(6, cd_disp_ss%10);
vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
}
void vfd_disc_fill_all(void)
{
// FpBuf[8] |= 0xfc;
// FpBuf[9] |= 0x7f;
vfd_dot(VFD_DOT_OFF, VFD_DOT_REP1);
vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PBC);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PLAY);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PAUSE);
}
void vfd_open(void)
{
FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(4, CHAR_O);
print_vfd_msg(5, CHAR_P);
print_vfd_msg(6, CHAR_E);
print_vfd_msg(7, CHAR_N);
}
void vfd_close(void)
{
//FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(3, CHAR_C);
print_vfd_msg(4, CHAR_L);
print_vfd_msg(5, CHAR_O);
print_vfd_msg(6, CHAR_S);
print_vfd_msg(7, CHAR_E);
}
void vfd_nodisc(void)
{
print_vfd_msg(2, CHAR_N);
print_vfd_msg(3, CHAR_O);
print_vfd_msg(4, CHAR_D);
print_vfd_msg(5, CHAR_I);
print_vfd_msg(6, CHAR_S);
print_vfd_msg(7, CHAR_C);
}
#elif PANEL_FUT13 //HTS VCD-5700
const unsigned char vfd_addr[6] ={ 0, 2, 5, 4, 7, 6 }; // { 6, 7, 4, 5, 2, 0 };
void print_vfd_msg(unsigned char no, unsigned char data)
{
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
if(no <6)
{
FpBuf[vfd_addr[no]] &= (0x01);
FpBuf[vfd_addr[no]] |= (vfd_digit[data]);
}
SysReleaseSema(&gVfd_RWSema );
}
}
void print_vfd_message(unsigned char no, unsigned char data)
{
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
if(no <6)
{
FpBuf[vfd_addr[no]] &= (0x01);
FpBuf[vfd_addr[no]] |= (data);
}
SysReleaseSema(&gVfd_RWSema );
}
}
unsigned char vfd_disc[] = {15,14,13,12,11,10};
void vfd_disc_turn(unsigned char mode)
{
static unsigned char i = 0;
static unsigned char jj = 0;
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
vfd_dot(VFD_DOT_ON, VFD_DOT_RING);
if(jj>5)jj=0;
for(i=0;i<6;i++)
vfd_dot(VFD_DOT_ON, vfd_disc[i]);
if(mode)
vfd_dot(VFD_DOT_OFF, vfd_disc[jj]);
else
{
for(i=0;i<6;i++)
vfd_dot(VFD_DOT_OFF, vfd_disc[i]);
}
jj++;
switch (jj)
{
case 1:
vfd_dot(VFD_DOT_ON, VFD_DOT_COLON);
break;
case 4:
vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
break;
case 3:
case 6:
//FpBuf[VFD_DOT_PLAY / 8] |= (1 << (VFD_DOT_PLAY % 8));
//FpBuf[VFD_DOT_PAUSE / 8] &= (~(1 << (VFD_DOT_PAUSE % 8)));
break;
default:
break;
}
SysReleaseSema(&gVfd_RWSema );
}
}
void vfd_readtoc(void)
{
FPClearFp();
print_vfd_msg(1, CHAR_C);
print_vfd_msg(2, CHAR_L);
print_vfd_msg(3, CHAR_O);
print_vfd_msg(4, CHAR_S);
print_vfd_msg(5, CHAR_E);
}
const BYTE hex22bcd[]={VFD_7SEG_A,VFD_7SEG_b,VFD_7SEG_C,VFD_7SEG_d,VFD_7SEG_E,VFD_7SEG_F,
VFD_7SEG_H,VFD_7SEG_II,VFD_7SEG_J};
void vfd_show_time(USHORT track , ULONG32 time)
{
static unsigned char cd_time_ss = 0xff;
unsigned char cd_disp_trk,cd_disp_hh,cd_disp_mm,cd_disp_ss;
unsigned char trk_ttp11;
ULONG32 CurrentTime;
vfd_dot(VFD_DOT_ON, VFD_DOT_COLON1);
CurrentTime = time;
cd_disp_trk = (unsigned char) track;
if(MP3_DISC== GetDiscType())
{
if(cd_disp_trk>=100)
{
cd_disp_trk = cd_disp_trk %100;
trk_ttp11 = cd_disp_trk /10;
if (trk_ttp11 >= 8)
print_vfd_message(0,VFD_7SEG_J);//hex22bcd[trk_ttp11]);
else
print_vfd_message(0, hex22bcd[trk_ttp11]);
}
else
print_vfd_msg(0, cd_disp_trk/10);
print_vfd_msg(1, cd_disp_trk %10);
print_vfd_msg(2, (CurrentTime/60)/10);
print_vfd_msg(3, (CurrentTime/60)%10);
print_vfd_msg(4, (CurrentTime%60)/10);
print_vfd_msg(5, (CurrentTime%60)%10);
}else
{
#if VFD_SHOW_HOUR
print_vfd_msg(0, cd_disp_trk/10);
print_vfd_msg(1, cd_disp_trk%10);
print_vfd_msg(2, CurrentTime/3600);
print_vfd_msg(3, ((CurrentTime%3600) /60)/10);
print_vfd_msg(4, ((CurrentTime%3600) /60)%10);
print_vfd_msg(5, (CurrentTime%60)/10);
print_vfd_msg(6, (CurrentTime%60)%10);
#else
print_vfd_msg(0, (cd_disp_trk%100)/10);
print_vfd_msg(1, (cd_disp_trk%100) %10);
print_vfd_msg(2, (CurrentTime/60)/10);
print_vfd_msg(3, (CurrentTime/60)%10);
print_vfd_msg(4, (CurrentTime%60)/10);
print_vfd_msg(5, (CurrentTime%60)%10);
#endif
}
}
void vfd_mp3_show_time_stop(void)
{
extern USHORT gMp3TotalFile;
extern Mp3_FolderPageInfo_t *gFolderPage;
unsigned char cd_disp_mm,cd_disp_ss,cd_disp_trk1;
cd_disp_trk1 = (unsigned char)gFolderPage->content_num;
cd_disp_mm = gMp3TotalFile/100;
cd_disp_ss = gMp3TotalFile%100;
print_vfd_msg(0, (cd_disp_trk1%100)/10);
print_vfd_msg(1, (cd_disp_trk1%100)%10);
print_vfd_msg(2, gMp3TotalFile/1000);
print_vfd_msg(3, (gMp3TotalFile%1000)/100);
print_vfd_msg(4, cd_disp_ss/10);
print_vfd_msg(5, cd_disp_ss%10);
vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
}
void vfd_disc_fill_all(void)
{
FpBuf[1] |= 0xfE;
vfd_dot(VFD_DOT_OFF, VFD_DOT_PLAY);
vfd_dot(VFD_DOT_OFF, VFD_DOT_PAUSE);
}
void vfd_open(void)
{
FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(2, CHAR_O);
print_vfd_msg(3, CHAR_P);
print_vfd_msg(4, CHAR_E);
print_vfd_msg(5, CHAR_N);
}
void vfd_close(void)
{
//FPClearFp();
VfdDiscTurnF = 0;
print_vfd_msg(1, CHAR_C);
print_vfd_msg(2, CHAR_L);
print_vfd_msg(3, CHAR_O);
print_vfd_msg(4, CHAR_S);
print_vfd_msg(5, CHAR_E);
}
void vfd_nodisc(void)
{
print_vfd_msg(0, CHAR_N);
print_vfd_msg(1, CHAR_O);
print_vfd_msg(2, CHAR_D);
print_vfd_msg(3, CHAR_I);
print_vfd_msg(4, CHAR_S);
print_vfd_msg(5, CHAR_C);
}
#elif PANEL_FUT297
const unsigned char vfd_addr[12] = { 1, 0, 3, 2, 4, 6, 8, 11, 10, 0, 0, 0 }; // { 6, 7, 4, 5, 2, 0 };
void print_vfd_msg(unsigned char no, unsigned char data)
{
if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
{
switch (no)
{
case 0:
case 2:
case 7:
FpBuf[vfd_addr[no]] &= (~0x3f);
FpBuf[vfd_addr[no] - 1] &= (~0x80);
if(vfd_digit[data] & 0x01)
FpBuf[vfd_addr[no] - 1] |= (0x80);
FpBuf[vfd_addr[no]] |= (vfd_digit[data] >> 1);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -