www.pudn.com > MP3DIY.rar > user.h


//===================================================================== 
//   Project Name(项目名称):  SPCA755 rebuild 
//   File Name(模块名称): user.h 
//   Built Date(创建日期):2004-09-14 
//   Abstract(模块描述): 用户函数模块 
//   Revision History(版本信息): 
//   Rev      Date           Author       Comment(修改说明) 
//   1.0      2004-09-14      XYQ         created 
//====================================================================== 
//lcm 
#include "..\LCM\lcd501.h" 
//===========================user define=============================== 
extern xdata U8	gc_PLAY_DPC; 
extern xdata U8 gc_PlayEQMode; 
extern xdata U8	gc_DSP_Volume; 
extern 	idata	U8	gc_DOS_ErrorStatus;//lzp add for test 
//extern xdata U8  ADC_Table[]; 
//---------------------------------------------------------------------- 
extern void USER_Remove_USB(void); 
extern U8 USER_LogFile_ReadWrite(bit tbt_ReadOrWrite); 
extern void USER_FillSettingInfo(void); 
extern U16 USER_GetMusicTotalTime(void); 
extern void USER_GetSettingInfo(void); 
extern void X_Get_DefaultUserValue(); 
 
/*===================================== 
  VARIABLE 
=======================================*/ 
extern  bit          gb_ShowNowSongNumberFG; 
extern  data  bit    gb_Openfile;//use         // For Open file Flag behind the UI-State transition 
extern  data  bit    _GRecordPauseAndStop;	// chamber@030121 Close file when Stop after Pause!! 
extern 	data  U8 gc_sts; 
extern 	data  U8 gc_Battery_Detect_Timer;//lyh add 
extern 	data  U8 gc_USB_Connect;//lyh add 
extern 	xdata U8  gc_TheSameLRC;//lyh add 
extern 	xdata U8 ADCOldKey1; 
extern 	xdata U8 X_G_LRC_HaveGetFirstLyrics;//lyh add 
extern 	xdata U8 gc_USR_PowerOffCount;//for poweroff  lyh add 
extern  xdata U8  gc_SKeyState;//[2]; 
extern  xdata U8  gc_SPressingKey; 
extern  xdata U8  gc_SKeyHoldCnt;//[2]; 
extern  xdata U8  gc_fileend; 
extern  xdata U8  REC_name[12];         //chchang_11/20/2002 
extern  xdata U16 G_Currtotalsecond;    //chchang_01/17/2003 
extern  xdata U16 G_APointLRCStartSecond; 
extern  xdata U16 gw_LrcRecentTime;//use lyh add 
extern data U8 gc_KeyValue; 
extern data U8 gc_LongKeyDelay; 
extern idata U8	gc_DOS_ErrorStatus; 
extern data U8 gc_BlinkTimer; 
extern data U8 gc_ADCOldKey; 
extern xdata U8	gc_LrcFileName_Exist; 
 
 
//============================底层会用的UI定义的变量========================= 
extern U8 code  EXT_NameA[]; 
extern U8 code  EXT_NameB[]; 
extern U8 xdata  EXT_NameC[];  
extern U8  *code EXT_Name[]; 
extern xdata U32 gdw_USER_DirClus[K_USER_DIR_NUM]; 
 
//========================system define for UI interface=================== 
extern code U16 USB_VersionCode; 
extern code U16 DSP_VersionCode; 
extern code U16 Dos_VersionCode; 
extern code U16 SYS_VersionCode; 
extern code U16 ID3_VersionCode; 
extern code U16 LRC_VersionCode; 
extern code U16 Nand_VersionCode; 
extern data U8 gc_BatteryValue; 
extern data U8 gc_ReadWriteTimeOut; 
extern data U8 gc_CurrentCard; 
extern xdata U8 gc_CurrentExistMedia; 
extern xdata U8	G_CurrentHZK;//0:English 1:GB2312 2:big5 3:Japanese	4:German 
extern xdata U8 gc_PlayRecordDataBuf[]; 
extern xdata U8 gc_FileLongName[]; 
extern data U8 gc_DispTime[]; 
extern xdata U8 G_USBReadWriteCount; 
extern xdata U16 gw_FileIndex[]; 
extern xdata U16 gw_FileTotalNumber[]; 
extern xdata U32 gdw_DOS_RootDirClus;//xyq040811 
extern xdata U32 gdw_UserRsvSectorNum;//xyq040812 
extern data	bit	gb_LrcGetTimeOrNot; 
extern bit  gbt_FindFlag; 
extern xdata U8	gc_LrcDisplayBuf[]; 
extern xdata U8	gc_LrcCurrentLen; 
extern xdata File_FCB gs_File_FCB[]; 
extern bit	_G_USBReadOrWrite_ForUI; 
extern data System_Struct gs_System_State;//用户不能修改 
extern U8 xdata G_USBMSDC_ubRefreshNeeded; 
extern xdata U8 gc_RECLowBattValue; 
extern xdata U8 gc_RecLowBattFLag; 
extern bit gbt_OLEDChipSelected; 
 
//-------------------------------- sysinit.h ----------------------------------- 
extern void Sys_Initialize(); 
extern void INITIO_Initialize(void); 
extern void USER_DelayDTms(unsigned char DT);//最大一次延时250ms 
//---------------------------------update--------------------------------------- 
extern void USER_ReadReserveBlock(U16 tw_ReserveBLKSector); 
extern void USER_WriteReserveBlock(U16 tw_ReserveBLKSector); 
extern void USER_EraseReserveBlock(U16 tw_ReserveBLKSector); 
//---------------------------------timer and extinterrupt----------------------- 
extern void INTR_Int0(void); 
extern void TIMER0_Routine(void); 
//----------------------------------sysfunction--------------------------------- 
extern U8 CODEC_DSP_TO_MCU(void); 
extern U8 CODEC_MCU_TO_DSP(void); 
extern U8 System_Play(U8 tc_FileHandle); 
extern U8 System_Pause(void); 
extern U8 System_Stop(void); 
extern void System_NextOrPrev(bit tbt_NextOrPrev, U16 tw_NextPrevNumber, U8 tc_FileHandle); 
extern U8 System_Record(U8 tc_RECType_ASForWAV); 
extern U8 System_FileFixPoint(U16 tw_CurrentSecond); 
extern U8 System_FastForBackward(void); 
extern void System_SetVolume(U8 tc_Volume); 
extern void System_SetEQ(U8 tc_EQtype); 
extern void System_SetPlayDPC(U8 tc_PlayDPC); 
extern U8 System_SetRepeatAB(U8 tc_CurrentABMode); 
extern U16 UI_GetDispTimeFromDispBuf(); 
extern void UI_SetDispTimeToDispBuf(U16 tw_Time); 
extern void USER_MCUClock_Select(U8 tc_MCUClockStep); 
extern U8 USB_GetState(); 
extern void USB_DisConnect(); 
extern void USB_Connect(void); 
extern void USB_Process(); 
extern void USB_Reset(); 
extern void USB_Suspend(); 
extern U8 System_IdleManage(void); 
extern U32 USER_Get_SYSInformation(U8 tc_InformationType); 
extern U8 USER_READSAR(U8 tc_SARChannel); 
extern void X_EXE_ISP(); 
 
extern void  User_Set_MuxPinFunc(U8 tc_MuxPinFunc);//设置多功能pin(GPIO)的功能 
extern void User_Set_GPIOMode(U8 tc_InputOrOutput); 
extern void User_Set_P1Mode(U8 tc_InputOrOutput); 
extern void User_Set_P3Mode(U8 tc_InputOrOutput); 
extern void User_Write_GPIO(U8 tc_WriteData); 
extern U8 User_Read_GPIO(void); 
extern U8  User_Read_MuxPinFunc(void); 
extern U8 User_Read_GPIOMode(void); 
extern U8 User_Read_P1Mode(void); 
extern U8 User_Read_P3Mode(void); 
U32 USER_Get_SYSInformation(U8 tc_InformationType); 
U8	USER_Set_SYSInformation(U8 tc_SetInfType,U16 tc_SetInfData); 
//---------------------------------- fontread ----------------------------------------- 
extern U8   X_DetectHZK(void); 
extern void X_HZK_Get_BMP(unsigned char q,unsigned char w,unsigned char *BMP_Buffer); 
extern unsigned char X_Unicode2ISN(unsigned char *UnicodeArray,bit Convert); 
//---------------------------------- DOS ----------------------------------------------- 
extern U8 DOS_Format(void); 
extern U8 SMC_Initializes(void); 
U8 SMC_STORAGE_Initialize(void); 
U8 Dos_GetFileLongName(U8 tc_FileHandle,bit tb_UicodeToISN, U8 * tpc_LongName); 
U32 DOS_Make_Dir(U8 * tpc_DirName, U32 tdw_DirStartCluster); 
void USER_Create_Dir(U8 tc_UserDirNum, U32 tdw_DirStartCluster); 
U8 USER_FindDir(U8 tc_UserDirNum, U32 tdw_DirStartCluster); 
U8 DOS_AppendWrite_File(U8 tc_FileHandle); 
U8 DOS_Close_File(U8 tc_FileHandle, U8 tc_CloseMode, U8 * tpc_FileName); 
U8 DOS_Delete_File(U8 tc_FileHandle); 
U8 DOS_Open_File(U8 tc_FileHandle, U8 tc_OpenMode, U8 * tpc_FileName); 
U8 DOS_Read_File(U8 tc_FileHandle); 
U32 DOS_Seek_File(U8 tc_FileHandle, U32 tdw_SectorNumber); 
U8 DOS_Write_File(U8 tc_FileHandle); 
U8	DOS_Search_File(U8 tc_Mode, U8 tc_Type, U8 tc_PrevOrNext); 
//----------------------------------- ID3 -------------------------------------------- 
extern U8 UI_GET_ID3INFO(U8 * tpc_ID3buffer); 
//----------------------------------- LRC -------------------------------------------- 
extern void X_Get_LRC_TimeStamp(void); 
extern void X_Get_LRC_Lyrics(void); 
extern U8 LRCName_IsExist(); 
//------------------------------------------------------------------------------------ 
extern void UI_PreProcessor_scan_key(void);// lyh add 
extern void UI_Processorstate_transition(void);// lyh add 
extern void UI_EventPostDpc(void);//lyh add 
//void VolUpDown();//lyh add 
extern void UI_FastForBackward();//lyh add 
extern void Rep_AB();//lyh add 
extern void UI_Close_File();//lyh add 
extern void Playing_To_Stop();//lyh add 
extern void UI_Exe_Format();//lyh add 
extern void UI_Disp_Page0();//lyh add 
extern void UI_Refresh_DispAll(bit DispFileName);//lyh add 
extern U8 UI_StorageIsError();//lyh add 
extern void UI_idle_Display();//lyh add 
extern void UI_RollFileName();//lyh add 
extern void UI_GetFileNameLength();//lyh add 
extern bit Func10_CheckLRC();//lyh add 
extern void UI_FFFR(bit XFFFR);//lyh add 
extern void UI_GetMusicInfo();//lyh add 
extern void UI_Connect_USB();//lyh add 
extern void UI_Battery_Detect_ND_Display();//lyh add 
extern void LED_Blink(void);//lyh add 
extern void X_RandomGetFileIndex(void);//lyh add 
//=============================================AudioCodec============================================ 
void Audio_CoDec(void);//lyh add 
void Main_Get_FreeMemory();//lyh add 
//===============================user layer========================================================== 
extern void CardDetectInUsb(void); 
extern xdata U8 MlunSequence[]; 
#if ((K_CARD_TYPE &0x02)== 0x02) 
extern U8 xdata gc_MlunCardType; 
extern data bit gb_USBCardST0; 
extern data bit gb_USBCardST1; 
#endif 
extern void USER_Remove_USB(void); 
extern U8 USB_PlugDetect(void); 
extern void ftest()   ; 
//=====================================LYH ADD NOW========================================================== 
//=================Txt.h===lyh add===================================================================== 
 
extern xdata	U32	gdw_TxtFileStartCluster;//lyh add 
extern xdata	U32	gdw_TxtFileCurrentCluster; 
extern xdata	U16	gw_TxtOffset; 
extern xdata	U32	gdw_TxtFilePointer; 
extern xdata	U32	gdw_TxtFileSize; 
extern xdata	U8	gc_TxtDisplayBuf[41]; 
extern xdata	U8	gc_TxtCurrentLen; 
extern xdata 	U8  gc_TheSameTXT; 
extern xdata 	U8  gc_DownorUp; 
extern xdata 	U8  gc_OffsetByte; 
extern U8 data gc_PeriphStep; 
 
U8 X_Get_Txt(void); 
bit X_Get_Txt_Offset(void); 
U8 X_TxtFile_ReadToSram(U8 tb_ReadNextSector); 
void X_Display_TxtBackPage(void);//lyh add 
void X_Display_TxtPrePage(void);//lyh add 
U8 X_DisPlay_InASector(void);//lyh add 
U8 ShowTheFirstLcd();//lyh add 
 
void X_Open_TheNextTxt();//lyh add 
void X_Open_ThePreTxt();//lyh add 
 
//================================== USBMSDC.H ======================================= 
extern void Usb_WriteProtectInitio(U8 tc_LockKeySts);//tc_LockKeySts 0: NO_protect 1:protect//add new 
extern void Usb_WriteProtectFunc(U8 tc_LockKeySts);//add new 
extern void System_SetFMVolume(U8 tc_Volume);//SET the FM DAC GAIN VALUE 
extern U8 System_FMInit(U8 tc_EncodeType); 
extern U16 USER_Get_File_BitRate(U8 tc_Handle); 
extern U8 USER_ReadReserveBlockData_To_OLED(U32 tdw_StartByteAddr,U32 tdw_ByteNum);