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

📄 panel.c

📁 9908 samsung tool soft
💻 C
📖 第 1 页 / 共 5 页
字号:
 	  
	for(i=1;i<method;i++)
	  vfd_dot(VFD_DOT_OFF,vfd_prg[i]);
	
	if(flash_flag)
  	vfd_dot(VFD_DOT_ON,vfd_prg[method]);
	else
	 vfd_dot(VFD_DOT_OFF,vfd_prg[method]);


	 flash_flag = !flash_flag;		
	  
  /*
    prg_flag = (method <= 12) ? method : 12;
    trk = gVcdTrackInfo.Total_track_cnt - gVcdTrackInfo.CurrTrack_no;
   if(trk - 1 > 11)
       trk = 12;
//	cd_disp_trk
    for(i = 1; i <=((MP3_DISC== GetDiscType())?12:trk); i++)
    {
        if(prg_flag == 0)
            FpBuf[vfd_prg[i] >> 3] |= (1 << (vfd_prg[i] & 0x07));
        else if(--prg_flag == 0)
            FpBuf[vfd_prg[i] >> 3] ^= (1 << (vfd_prg[i] & 0x07)); //flash vfd pgm
        else
            FpBuf[vfd_prg[i] >> 3] &= ~(1 << (vfd_prg[i] & 0x07));    //turn off vfd pgm
    }
*/
}
#define MAX_DISC_DOT 6
 vfd_disc[MAX_DISC_DOT]={31,30,29,28,27,26};
 extern USHORT mp3_cur_track;
void vfd_disc_turn(unsigned char mode)
{
   // 	static unsigned char i = 0;
   // 	static unsigned char jj = 0;
	    static BYTE j=0;
      static BYTE t = 0;	
	if(SysGetSema(&gVfd_RWSema,SYS_NO_WAIT ) == SYS_RETURN_SUCCESS )
	{
 	  	vfd_dot(VFD_DOT_ON, VFD_DOT_RING);
     for(t=0;t<MAX_DISC_DOT;t++)
     {
     	if((mode==1)||(mode==2))
		    vfd_dot(VFD_DOT_ON,vfd_disc[t]);	
	  	else
				vfd_dot(VFD_DOT_OFF,vfd_disc[t]);
     }
     if (mode) 
     {
	  	vfd_dot(VFD_DOT_OFF,vfd_disc[j++]);
				if(j>=MAX_DISC_DOT)		
							j=0;  
     }
    switch (j)
    {
        case 1:
            vfd_dot(VFD_DOT_ON, VFD_DOT_COLON);
    	 //   vfd_dot(VFD_DOT_ON, VFD_DOT_PGM);

       if(GetDiscType() == MP3_DISC)
       			vfd_set_pgm(mp3_cur_track); 
			else
       			vfd_set_pgm(gVcdTrackInfo.CurrTrack_no);   

            break;
        case 4:
            vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON);
       //   vfd_dot(VFD_DOT_OFF, VFD_DOT_PGM);
        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_REMAIN);
        vfd_dot(VFD_DOT_OFF, VFD_DOT_COLON); 
}
void vfd_disc_fill_all(void)
{
		  BYTE t;
			for(t=0;t<MAX_DISC_DOT;t++)
      vfd_dot(VFD_DOT_ON,vfd_disc[t]);	
	  			 vfd_set_pgm_all();
		    vfd_dot(VFD_DOT_OFF, VFD_DOT_REMAIN);
        vfd_dot(VFD_DOT_OFF, VFD_DOT_INTRO); 
        vfd_dot(VFD_DOT_OFF, VFD_DOT_1L); 
        vfd_dot(VFD_DOT_OFF, VFD_DOT_2R); 
        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(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)
{
	     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);
}
#endif



void vfd_pause(void)
{
    	vfd_dot(VFD_DOT_ON, VFD_DOT_PAUSE);
    	vfd_dot(VFD_DOT_OFF, VFD_DOT_PLAY);
}
void vfd_play(void)
{
    	vfd_dot(VFD_DOT_OFF, VFD_DOT_PAUSE);
    	vfd_dot(VFD_DOT_ON, VFD_DOT_PLAY);
}

void vfd_normal_state(void)
{
	
    	ULONG32	CurrentTime;
    	vfd_audio_channel();
	    vfd_display_mode();
	
#if SHOW_REMAIN_TIME_IN_VFD //zmf
    if(DISC_REMAIN_TIME== gVcdDisplayTime)
		{
			 CurrentTime = VcdGetRemSecInDisc() ;
       vfd_show_time(gVcdTrackInfo.Total_track_cnt , CurrentTime);
       #if PANEL_FUT58
          vfd_dot(VFD_DOT_ON, VFD_DOT_REMAIN);
       #endif
		}	 
	  else if( TRK_REMAIN_TIME == gVcdDisplayTime)
	  {	
	  		CurrentTime = VcdGetRemSecInTrk();
       	vfd_show_time(gVcdTrackInfo.CurrTrack_no , CurrentTime);
       	#if PANEL_FUT58
          vfd_dot(VFD_DOT_ON, VFD_DOT_REMAIN);
       #endif
		}
		else if( TRK_ELAPSE_TIME == gVcdDisplayTime)
#endif
    {	
    	CurrentTime = VcdGetCurSec();
            	vfd_show_time(gVcdTrackInfo.CurrTrack_no , CurrentTime);
        #if PANEL_FUT58
          vfd_dot(VFD_DOT_OFF, VFD_DOT_REMAIN);
       #endif
    }
             	vfd_dot(VFD_DOT_ON,VFD_DOT_PLAY);
             	vfd_dot(VFD_DOT_OFF,VFD_DOT_PAUSE);
}

void vfd_mp3(void)
{
			vfd_dot(VFD_DOT_ON, VFD_DOT_MP3);
}
void vfd_repeatOne(void)
{
#if PANEL_FUT32||PANEL_FUT14
			vfd_dot(VFD_DOT_ON, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
#elif  PANEL_FUT58 || PANEL_FUT297  || PANEL_FUT63
			vfd_dot(VFD_DOT_ON, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
#endif
}
void vfd_repeatAll(void)  //ZMF
{
#if PANEL_FUT32||PANEL_FUT14
			vfd_dot(VFD_DOT_ON, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_ON, VFD_DOT_REPALL);
#elif  PANEL_FUT58 || PANEL_FUT297  || PANEL_FUT63	
			vfd_dot(VFD_DOT_ON, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_ON, VFD_DOT_REPALL);
#endif
}
void vfd_micon(void)
{
			vfd_dot(VFD_DOT_ON, VFD_DOT_MIC1);
			#if PANEL_FUT58
			vfd_dot(VFD_DOT_ON, VFD_DOT_MIC2);
			#endif

}
void vfd_micoff(void)
{
			vfd_dot(VFD_DOT_OFF, VFD_DOT_MIC1);
			#if PANEL_FUT58
			vfd_dot(VFD_DOT_OFF, VFD_DOT_MIC2);
			#endif
}
void vfd_repeatOff(void)
{
#if PANEL_FUT32||PANEL_FUT14
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
#elif  PANEL_FUT58 || PANEL_FUT297  || PANEL_FUT63
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REP1);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REPALL);
#endif
}
void vfd_mp3_stop(void)
{
			vfd_mp3_show_time_stop();
			vfd_disc_fill_all();
			VfdDiscTurnF = 0;
			
}
#endif

#if LED1623
/********************************************************************
							LED 1623
********************************************************************/
 void ShowVFD(OsdMsg_t  * vfd_msg)
 {
 #if 0
 	static unsigned char dot = 0;
 	 FPClearFp();								//test front panel
	 FpBuf[dot / 8] |= (1 << (dot % 8));
	 dot ++;
	 if (dot > 0x5f)	dot = 0;	
#else
     	ULONG32	CurrentTime;
     	CHAR temp,i;
	CurrentTime = VcdGetCurSec();
	    vfd_audio_channel();
	    vfd_display_mode();
	     temp=vfd_msg->mode;
	switch(vfd_msg->mode){
		case DSP_VCD:
#if _SUPPORT_GAMECD
			if(gIsGameCD){
				vfd_dot(VFD_DOT_ON, VFD_DOT_PLAY);
				vfd_show_time(0, 0);
				VfdDiscTurnF = 1;
			}else
#endif
			{
	#if HTS_C2
				vfd_dot(VFD_DOT_ON, VFD_DOT_DVD);
				vfd_dot(VFD_DOT_ON, VFD_DOT_MP4);
				vfd_dot(VFD_DOT_ON, VFD_DOT_MP3);
				vfd_dot(VFD_DOT_ON, VFD_DOT_DB);
				vfd_dot(VFD_DOT_ON, VFD_DOT_DTS);
				vfd_dot(VFD_DOT_ON, VFD_DOT_CD);
				//vfd_dot(VFD_DOT_ON, VFD_DOT_VCD);
	#else
	      vfd_dot(VFD_DOT_ON, VFD_DOT_VCD);
	#endif
	      vfd_dot(VFD_DOT_ON, VFD_DOT_PLAY);
			}
			VfdDiscTurnF = 0;
			break;			
		case DSP_CDDA:
			vfd_dot(VFD_DOT_ON, VFD_DOT_CD);
			vfd_dot(VFD_DOT_ON, VFD_DOT_PLAY);
			//vfd_dot(VFD_DOT_ON, VFD_DOT_DB);
			//vfd_dot(VFD_DOT_ON, VFD_DOT_DTS);
	#if HTS_C2
			vfd_dot(VFD_DOT_ON, VFD_DOT_MP3);
	#endif
			VfdDiscTurnF = 0;
			break;
		case DSP_PLAY:
			 vfd_play();
			break;
		case DSP_PAUSE:
			 vfd_pause();
			 VfdDiscTurnF = 0;
			break;
		case DSP_STOP:
			vfd_show_stop();
			VfdDiscTurnF = 0;
			vfd_dot(VFD_DOT_OFF, VFD_DOT_REP);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_PLAY);
			vfd_dot(VFD_DOT_OFF, VFD_DOT_PAUSE);
      vfd_dot(VFD_DOT_ON, VFD_DOT_DOTM);
		  vfd_dot(VFD_DOT_ON, VFD_DOT_DOTS);
		  vfd_disc_fill_all();
			break;
		case DSP_PREV:
		case DSP_NEXT:
		case DSP_FR:
		case DSP_FF:
		case DSP_SR:
		case DSP_SF:
			vfd_show_time(gVcdTrackInfo.CurrTrack_no,CurrentTime);
			VfdDiscTurnF = 0;
			break;

		case DSP_REPEAT_TRK:
            		vfd_dot(VFD_DOT_ON, VFD_DOT_REP);
			break;
		case DSP_REPEAT_ALL:
            		vfd_dot(VFD_DOT_ON, VFD_DOT_REP);
			break;
#if _SUPPORT_REPEAT_AB
		case DSP_REPEAT_A:
			break;
		case DSP_REPEAT_AB:
			break;
#endif			
		case DSP_REPEAT_OFF:
            		vfd_dot(VFD_DOT_OFF, VFD_DOT_REP);
			break;

		case DSP_ON:
			#if 0
			if( PBC_PROGRAM == Vcd_GetPBCState())
				vfd_dot(VFD_DOT_ON, VFD_DOT_PGM);
			   else vfd_dot(VFD_DOT_OFF, VFD_DOT_PGM);
		    if(PBC_RANDOM == Vcd_GetPBCState())
				vfd_dot(VFD_DOT_ON, VFD_DOT_RAN);
			  else
				vfd_dot(VFD_DOT_OFF, VFD_DOT_RAN);
			if(PBC_INTRO==Vcd_GetPBCState())
				vfd_dot(VFD_DOT_ON, VFD_DOT_INTRO);
		       else vfd_dot(VFD_DOT_OFF, VFD_DOT_INTRO);
		       #endif
			        break;
	    	case DSP_NO_DISC:
	    	 	 vfd_nodisc();
	    		 break;
	    	case DSP_UNKNOW_DISC:
			vfd_unknowdisc();
	    		break;
		case DSP_RETURN:
#if _SUPPORT_GAMECD
			if(gIsGameCD){
				vfd_show_time(0, 0);
				VfdDiscTurnF = 1;
			}
#endif	 
        case DSP_DISPLAYMODE:
		    vfd_display_mode();
		     break;
		case DSP_AUDIO:
			 vfd_audio_channel();
			 break;
		default:
#if _SUPPORT_GAMECD
			if(!gIsGameCD)
#endif
			{
 				if(PBC_PBCON == Vcd_GetPBCState())
	            			vfd_dot(VFD_DOT_ON, VFD_DOT_PBC);
				else if(PBC_NORMAL== Vcd_GetPBCState())
					vfd_dot(VFD_DOT_OFF, VFD_DOT_PBC);
			}
			break;
	}
	switch(vfd_msg->control)
	{
		case CTRL_UPDATED_TIME:
			vfd_normal_state();
			VfdDiscTurnF = 1;
			break;
		default:
			break;
	}
#endif
 }

unsigned char ReceiveByte()
{
	unsigned char i,value=0;
	SetInputMode_VFDData();
	SetVFDClk();

	for(i=0;i<8;i++)
	{
		ClearVFDClk();
		FP_Delay(UPD16311_TW_CLOCK_DELAY);
		SetVFDClk();
		FP_Delay(UPD16311_TW_CLOCK_DELAY);
		value<<=1;
		if(GetVFDData())	
			value++;
	}

	return value;
}

void SendByte(unsigned char uctemp)
{
	unsigned char i;
	SetOutputMode_VFDData();
	FP_Delay(UPD16311_TW_CLOCK_DELAY);
		
	for (i

⌨️ 快捷键说明

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