📄 main.h
字号:
#ifndef _mMAIN_H_
#define _mMAIN_H_
#ifdef ROOT
#define EXT
#else
#define EXT extern
#endif
////////////////////////////////////////////////
// If use encoding, define ENC_INCLUDE
////////////////////////////////////////////////
#ifdef MP3_ENC_INCLUDE
#define ENC_INCLUDE
#endif
#ifdef MP2_ENC_INCLUDE
#ifndef ENC_INCLUDE
#define ENC_INCLUDE
#endif
#endif
#ifdef ADPCM_16BIT_INCLUDE
#ifndef ENC_INCLUDE
#define ENC_INCLUDE
#endif
#define ADPCM_INCLUDE
#endif
#ifdef ADPCM_10BIT_INCLUDE
#ifndef ENC_INCLUDE
#define ENC_INCLUDE
#endif
#ifndef ADPCM_INCLUDE
#define ADPCM_INCLUDE
#endif
#endif
#ifdef TVF_INCLUDE
#ifndef ENC_INCLUDE
#define ENC_INCLUDE
#endif
#include "TCC730_TVFCORE.H"
#endif
////////////////////////////////////////////////
#include "TCC730.H"
#include "TCC730_MP3CORE.H"
#include "nls730.h"
#define CLR 0
#define SET 1
#define OFF CLR
#define ON SET
#define DISABLE CLR
#define ENABLE SET
#define NOT_INITIALIZED 0
#define INITIALIZED 1
#define INT_DRV 1
#define EXT_DRV 2
//#define FALSE CLR
//#define TRUE SET
//#define NULL 0
#define LOW CLR
#define HIGH SET
#define INTERNAL 1
#define EXTERNAL 2
#define VOLUME_MAX 17
#define Lcd_Cnt_Max 63
//==================================================================================
// Define for Timer =
//==================================================================================
#define INTERVAL_KEY1 5 // Key chatering 20mS interval
#define INTERVAL_KEY2 25 // Key continuous 500mS interval
#define INTERVAL_KEY3 25 // Key continuous 500mS interval
#define INTERVAL_MUTE 10
//==================================================================================
//
//==================================================================================
#define SMC_PORT_CHECK (P8&0x08)
#define USB_INS_CHECK (INTREG&0x80)
#define TR_MUTE_ON() P8 &= 0xFB
#define TR_MUTE_OFF() P8 |= 0x04
#define ONA_CLR() P8 &= 0xFE
#define ONA_SET() p8 |= 0X01
enum {
IDLE = 0,
PLAY, // Music play
PAUSE, // Music play wait
REC, // Music encoding
WAIT, // Encode wait
ERR1, // No flash memory error
ERR3, // No format error
ERR2, // No file
REW,
FF,
RADIO
};
//=================================
// Bass and Treble Mode
enum {
EQ_NORMAL = 0,
EQ_CLASSIC,
EQ_LIVE,
EQ_POP,
EQ_ROCK
};
// Repeat
enum {
REPEAT_R_L= 0, // 茄邦馆汗
REPEAT_L_ALL , // 傈眉
REPEAT_R_L_ALL, // 傈眉馆汗
RANDOM
//INTRO
};
// Function Mode
enum {
MENU_LCD_CNT = 0,
#ifdef ENC_INCLUDE
MENU_INPUT_SEL,
MENU_MPEG_SEL,
MENU_SYNC,
MENU_VAD,
MENU_SAMPLE_FREQ_SEL,
MENU_REC_MODE,
MENU_REC_BITRATE_SEL,
//MENU_VOICE_BIT,
MENU_SET_SILENCE,
MENU_MEM_SELECT,
#endif
MENU_MEM_SIZE,
#ifdef NLS_INCLUDE
MENU_LANG_SELECT,
#endif
MENU_FORMAT,
MENU_LOWFORMAT,
MENU_ERASE,
MENU_ERASE_ALL
};
#ifdef ENC_INCLUDE
// Recording Music or Voice
enum {
REC_MUSIC = 0,
REC_VOICE
};
enum {
REC_MPEG13 = 0,
REC_MPEG23,
REC_MPEG12,
REC_MPEG25,
REC_ADPCM,
REC_TVF
};
// 1 and SYNC Mode
enum {
SYNC_1_OFF = 0, // All off
SYNC_ON, // 1 off / SYNC on
SYNC_1_ON // 1 on / SYNC on
};
// Voice VAD Mode
enum {
VAD_OFF = 0, // Voice VAD Off
VAD_ON // Voice VAD On
};
enum {
SAMPLE_FREQ1 = 0,
SAMPLE_FREQ2,
SAMPLE_FREQ3
};
enum {
STEREO_MODE1 = 0,
STEREO_MODE2,
STEREO_MODE3
};
// Music BIT_RATE setup (14 Type)
enum {
BIT_RATE_32 = 0, // 32K bps, 44.1 KHz
BIT_RATE_40, // 40K bps, 44.1 KHz
BIT_RATE_48, // 48K bps, 44.1 KHz
BIT_RATE_56, // 56K bps, 44.1 KHz
BIT_RATE_64, // 64K bps, 44.1 KHz
BIT_RATE_80, // 80K bps, 44.1 KHz
BIT_RATE_96, // 96K bps, 44.1 KHz
BIT_RATE_112, // 112K bps, 44.1 KHz
BIT_RATE_128, // 128K bps, 44.1 KHz
BIT_RATE_160, // 160K bps, 44.1 KHz
BIT_RATE_192, // 192K bps, 44.1 KHz
BIT_RATE_224, // 224K bps, 44.1 KHz
BIT_RATE_256 // 256K bps, 44.1 KHz
};
// Voice BIT_RATE setup (14 Type)
enum {
VBIT_RATE_8 = 0, // 8K bps
VBIT_RATE_16, // 16K bps
VBIT_RATE_24, // 24K bps
VBIT_RATE_32,
VBIT_RATE_40,
VBIT_RATE_48,
VBIT_RATE_56,
VBIT_RATE_64,
VBIT_RATE_80,
VBIT_RATE_96,
VBIT_RATE_112,
VBIT_RATE_128,
VBIT_RATE_144,
VBIT_RATE_160
};
// CD sync / VAD silence Level <and> Duration setup
enum {
SL_LOW = 0,
SL_MIDDLE,
SL_HIGH
};
// Voice <or> Rec select
enum {
VOICE_REC_OFF = 0,
VOICE_ON,
REC_ON
};
#endif
// Encode save memory select
enum {
MEM_INT = 1,
MEM_EXT
};
enum {
SPEED_SLOW1 = 0,
SPEED_SLOW2,
SPEED_SLOW3,
SPEED_SLOW4,
SPEED_SLOW5,
SPEED_NORMAL
// SPEED_FAST
};
enum {
NON_MODE =0,
MP3_MODE,
MP2_MODE,
WMA_MODE,
ADPCM_MODE,
TVF_MODE
};
//=================================
#pragma memory=data_seg(TCC730_INTERNAL)
EXT ubyte OSMODE, MENU, VOLUME, EQUALIZE, REPEAT;
// for Menu
EXT ubyte LCD_CONTRAST;
#ifdef ENC_INCLUDE
EXT ubyte REC_SOUCE, REC_MPEG_MODE, REC_SYNC, REC_VAD, REC_SAMPLE_PREQ;
EXT ubyte REC_STEREO_MODE, REC_BITRATE, REC_SILENCE, REC_DRIVE;
#endif
EXT ubyte MEMORYSIZE, FORMAT_DRV, LOWFORMAT_DRV, ERASE_FILE_NUM;
#ifdef NLS_INCLUDE
EXT ubyte LANG_SEL, LANG_MAX;
#endif
// for Flag
EXT ubyte MENU_Flag, PAUSE_Flag, MUTE_Flag, BPS_Flag;
EXT ubyte SMC_Flag, USB_Flag, SpeedFlag;
EXT ubyte REWFF_Flag, AFTER_REWFF_Flag, HOLD_Flag;
#ifdef ENC_INCLUDE
EXT ubyte REC_Flag, SYNC_Flag;
#endif
// for Key input
EXT ubyte KEY_VALUE, KEY_INPUT_Flag, KEY_PUSHING_Flag, PRE_KEY;
EXT ubyte VALID_KEY, TIMER_INPUT;
// for Count Event
EXT ubyte COUNT_KEY, COUNT_EVENT, COUNT_MUTE;
EXT ubyte COUNT_KEY_SEC, COUNT_EVENT_SEC;
// for Time Display
EXT ubyte TIME_SECOND,TIME_MINUTE,TIME_HOUR;
EXT ubyte OLD_SECOND, OLD_MINUTE, OLD_HOUR;
EXT ubyte POWER_SEC, POWER_MIN;
EXT uword PLAY_FILE_SEC;
// for ADC Volume
EXT ubyte CODEC_IN_VOLUME, CODEC_OUT_VOLUME;
// for 500mS Event
EXT ubyte EVENT_OCCUR;
// for Files & File size
EXT uword CURRENT_MUSIC_DISLAY_FILE_NUM;
EXT uword CURRENT_TOTAL_MUSIC_FILE;
EXT uword CURRENT_COUNT_MUSIC_FILE;
EXT long CURRENT_FILE_TOTAL_SIZE;
EXT long CURRENT_FILE_PLAY_SIZE;
EXT long COUNT_OVER_BUFFERING;
// for A-B repeat
EXT ubyte AB_Flag, AB_MODE, AB_MUSIC[2];
EXT ulong AB_SIZE[2];
EXT uword File_Num; // 2001.12.08
EXT uword Current_Driver;
EXT uword BAT_CHECK;
EXT ubyte HOLD_CHECK;
EXT uword SEC_BITRATE;
EXT uword SAVE_IMR0;
EXT uword SAVE_IMR1;
EXT ubyte SCROLL_COUNT;
EXT uword LCD_DISPLAY_FILE_NUM;
EXT ubyte Pre_CODEC_MODE, Seek_Mode;
#ifdef RADIO_INCLUDE
// Global Variables for FM Module /////
EXT ubyte fm_rd_byte[5], fm_wr_byte[5];
EXT ulong fm_khz;
//2002.08.29 KTH ADD
EXT ubyte PRESET_Flag;
EXT ubyte RADIO_USED_Flag;
EXT byte PRESET_Number;
EXT ubyte gRadioUsed[10];
EXT uword gRadioMemory[10];
#endif
#ifdef UNICODE_INCLUDE
EXT ubyte Line1Bitmap[32*8]; // 128*2 Byte
EXT ubyte Line2Bitmap[32*8];
EXT ubyte FONT_Flag;
#endif
EXT ubyte TitleDisplay[64];
EXT ubyte LFN_Buffer[64];
EXT ubyte LFN_Flag;
//#ifdef ADPCM_INCLUDE
// for ADPCM Encoding
EXT ubyte ADPCMENCODING_FLAG, ADDATA_CONVERT_ING;
EXT uword INTERRUPT_COUNT, ADCON_DUMP;
EXT ubyte ADDATA_TEMP1, ADDATA_TEMP2;
//#endif
// 2002.10.15 KTH ADD
EXT ubyte Buffer_Key_Input;
// 2002.10.19 KTH ADD
EXT ubyte RADIO_Flag;
// 2002.10.23 KTH ADD
EXT uword REC_FILE_TOTAL_NUM;
EXT uword REC_FILE_LAST_NUM;
EXT ubyte Chatter_Curr_ADdataKey;
EXT ubyte Chatter_Prev_ADdataKey;
EXT ubyte Chatter_Count;
EXT ubyte Chatter_Valid_Key;
EXT ubyte KEY_LONG_Flag;
EXT ubyte Radio_Stop_Flag;
EXT ubyte index;
EXT ulong init_fm_khz;
#pragma memory=default
//===============================================================
// Function for HWInit =
//===============================================================
extern void mTCC730_HW_Init(void);
extern void mIE_ENABLE(void);
extern void mIE_DISABLE(void);
extern void mIIS_SET_ENC(void);
extern void mIIS_SET_DEC(void);
extern void mEncSystemInit(void);
extern void mDecSystemInit(void);
extern void mTIMER_Init(void);
extern void mTIMER_Setting(unsigned int sam_freq);
extern void mPLL0_Setting(uword input);
extern void mIIS_CLR_DEC(void);
extern void mGPIO_HIGH(void);
extern void mGPIO_LOW(void);
//===============================================================
// Function for INTERRUPT =
//===============================================================
extern void mTIMER_Check(void);
//===============================================================
// Function for KEY =
//===============================================================
extern void mAD_Key_Check(void);
extern void mKEY_Input_Check(void);
extern void mKEY_Process(void);
extern void mKEY_Stop_Process(void);
extern uword mKEY_YesorNo(void);
extern void mMENU_Process(void);
extern void mMENU_Key_Process(uword mode);
#ifdef MAIN_GLOBALS
#define MAIN_EXT
#else
#define MAIN_EXT extern
#endif
//===============================================================
// Function for MAIN =
//===============================================================
// Init Function
MAIN_EXT void mTCC730_Value_Init(void);
MAIN_EXT void mEvent_Init(void);
// Process Function
MAIN_EXT void mTimer_Process(void);
MAIN_EXT void mPower_Down_Process(void);
MAIN_EXT uword mGet_File_Num_Random(void);
MAIN_EXT uword mGet_Recoding_Music_Number(void);
MAIN_EXT void mGet_File_Info_Small_Section(ubyte mode);
MAIN_EXT void mGet_ERASE_File_Info(uword Input_File_Num);
MAIN_EXT void mGet_File_Info_Section(uword input);
MAIN_EXT void mGet_IDTAG3(void);
MAIN_EXT void mGet_PlayFile_Info(uword InputFile, ubyte mode);
MAIN_EXT void mGet_Total_Music_File_Num(void);
// TEMP ACTION 2002.08.27 KTH ADD
MAIN_EXT void delay(int count);
// 2002.10.23 KTH ADD
MAIN_EXT void mGet_Recoding_File_Num(void);
MAIN_EXT void mDelay_1mS(uword count);
MAIN_EXT void mDisplay_Time(void);
MAIN_EXT void mAB_Repeat_Section(void);
MAIN_EXT void mCard_InsRem_Check(void);
MAIN_EXT void mUSB_Ins_Check(void);
MAIN_EXT uword mStorage_Check(uword Input_Drv, uword Mode);
MAIN_EXT void mSet_EQ(void);
MAIN_EXT void mSet_Encoding_Variable(void);
// Encoder & Decoder
MAIN_EXT void (*mCodec_Init_Fnt)(void);
MAIN_EXT void (*mCodec_EnDe_Process_Fnt)(void);
MAIN_EXT void (*mCodec_FFREW_Process_Fnt)(uword mode);
MAIN_EXT void (*mCodec_Process_Fnt)(void);
MAIN_EXT void mDecode_Process(void);
MAIN_EXT void mEncode_Process(void);
MAIN_EXT void MP3_Decode_Init(void);
MAIN_EXT void MP3_Decode_Process(void);
MAIN_EXT void MP3_REWFF_Process(uword mode);
#ifdef MP2_DEC_INCLUDE
MAIN_EXT void MP2_Decode_Init(void);
MAIN_EXT void MP2_Decode_Process(void);
MAIN_EXT void MP2_REWFF_Process(uword mode);
#endif
#ifdef WMA_DEC_INCLUDE
MAIN_EXT void WMA_Decode_Init(void);
MAIN_EXT void WMA_Decode_Process(void);
MAIN_EXT void WMA_REWFF_Process(uword mode);
#define CODEC_INVOKE 1
#define CODEC_DONE 0
#endif
#ifdef ADPCM_INCLUDE
MAIN_EXT void ADPCM_Decode_Init(void);
MAIN_EXT void ADPCM_Decode_Process(void);
MAIN_EXT void ADPCM_REWFF_Process(uword mode);
#endif
#ifdef TVF_INCLUDE
MAIN_EXT void TVF_Decode_Init(void);
MAIN_EXT void TVF_Decode_Process(void);
MAIN_EXT void TVF_REWFF_Process(uword mode);
MAIN_EXT void TVF_Encode_Init(void);
MAIN_EXT void TVF_Encode_Process(void);
#endif
#ifdef MP3_ENC_INCLUDE
MAIN_EXT void MP3_Encode_Init(void);
MAIN_EXT void MP3_Encode_Process(void);
#endif
#ifdef MP2_ENC_INCLUDE
MAIN_EXT void MP2_Encode_Init(void);
MAIN_EXT void MP2_Encode_Process(void);
#endif
#ifdef ADPCM_INCLUDE
MAIN_EXT void ADPCM_Encode_Init(void);
MAIN_EXT void ADPCM_Encode_Process(void);
#endif
extern void Mute_730(void);
extern void mSave_Data(void);
extern void mLoad_Data(void);
#ifdef UNICODE_INCLUDE
extern void mCheck_Font_Exist(void);
#endif
#ifdef NLS_INCLUDE
extern void mSelect_NLS(void);
#endif
extern void mCheck_LFN(unsigned char* str, uword *size);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -