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

📄 hal.h

📁 车载电子影音系统dvd播放系统原程序代码
💻 H
📖 第 1 页 / 共 2 页
字号:
// Micky1.10, support CDG reset
#define HAL_RESET_CDG           8

// [19] parameter for A/V sync control : HAL_AVSync() -- LLY.105 re-modify
#define HAL_AVSYNC_INITIAL      0
#define HAL_AVSYNC_STEP         1
#define HAL_AVSYNC_VPTS         2
#define HAL_AVSYNC_RESYNC       3
#define HAL_AVSYNC_DISABLE      4
#define HAL_AVSYNC_RESETSYNC    5
#define HAL_AVSYNC_VIDEOMASTER  6   // ** TCH1.00-908; 

// [20] parmeter for monitor case : HAL_Monitor()
#define HAL_MONITOR_AUDIO_FREQ_PREPARE      0
#define HAL_MONITOR_AUDIO_FREQ              1
#define HAL_MONITOR_VIDEO_STATUS_PREPARE    2
#define HAL_MONITOR_VIDEO_STATUS_DONE       3
#define HAL_MONITOR_BITSTREAM_ERROR         4
#define HAL_MONITOR_CDDA_FORMAT             5  // LLY.101
#define HAL_MONITOR_LPCM_DEEMPHASIS         6  // wyc.170-2

// [21] parameter for display case : HAL_Display()
#define HAL_DISPLAY_VIDEO           0
#define HAL_DISPLAY_SPST            1
#define HAL_DISPLAY_ONE_FIELD       2   // LLY.100
#define HAL_DISPLAY_JPEG            3

// [22] parameter for Audio Type setting : HAL_SetAudioType()
//Kevin2.33, modify
#define HAL_AUDIO_NONE      0
#define HAL_AUDIO_BEGIN		1 
#define HAL_AUDIO_PCM       (HAL_AUDIO_BEGIN+0)
#define HAL_AUDIO_MPG       (HAL_AUDIO_BEGIN+1)
#define HAL_AUDIO_AC3       (HAL_AUDIO_BEGIN+2)
#define HAL_AUDIO_MP3       (HAL_AUDIO_BEGIN+3)
#define HAL_AUDIO_MP2       (HAL_AUDIO_BEGIN+4)
#define HAL_AUDIO_LPCM      (HAL_AUDIO_BEGIN+5)
#define HAL_AUDIO_DTS       (HAL_AUDIO_BEGIN+6)
#define HAL_AUDIO_WMA       (HAL_AUDIO_BEGIN+7) 
#define HAL_AUDIO_END		(HAL_AUDIO_WMA)

// [23] parameter for playing mode setting : HAL_SetPlayMode()
#define HAL_PLAYMODE_CDROM          0
#define HAL_PLAYMODE_MPEG           1
#define HAL_PLAYMODE_CDDA           2
#define HAL_PLAYMODE_JPEG_PREPARE   3
#define HAL_PLAYMODE_JPEG           4 //CoCo.jpeg

// [24] define for A/V buffer setting type : HAL_SetBuffer()
#define HAL_SETBUFFER_AV        0
#define HAL_SETBUFFER_AUDIO     1

// [25] parameter for A/V buffer setting mode : HAL_SetBuffer()  -- LLY.275a
// General buffer mode -- use normal case audio buffer threshold value
#define HAL_BUFFERMODE_GENERAL_BEGIN    1
#define HAL_BUFFERMODE_NORMAL           (HAL_BUFFERMODE_GENERAL_BEGIN+0)  //1
#define HAL_BUFFERMODE_DEFAULT          (HAL_BUFFERMODE_GENERAL_BEGIN+1)  //2
// LLY0.81, add MPG/ AC3/ DTS case
#define HAL_BUFFERMODE_MPG              (HAL_BUFFERMODE_GENERAL_BEGIN+2)  //3
#define HAL_BUFFERMODE_AC3              (HAL_BUFFERMODE_GENERAL_BEGIN+3)  //4
#define HAL_BUFFERMODE_DTS              (HAL_BUFFERMODE_GENERAL_BEGIN+4)  //5
// LLY0.85, add CDROM decoding case
#define HAL_BUFFERMODE_CDROM            (HAL_BUFFERMODE_GENERAL_BEGIN+5)  //6
#define HAL_BUFFERMODE_GENERAL_END      (HAL_BUFFERMODE_CDROM)
// Special buffer mode -- runtime change buffer size/ audio buffer threshold value
#define HAL_BUFFERMODE_SPECIAL_BEGIN    (HAL_BUFFERMODE_GENERAL_END+1)
#define HAL_BUFFERMODE_MP3              (HAL_BUFFERMODE_SPECIAL_BEGIN+0)  //7
#define HAL_BUFFERMODE_LPCM             (HAL_BUFFERMODE_SPECIAL_BEGIN+1)  //8
#define HAL_BUFFERMODE_JPEG             (HAL_BUFFERMODE_SPECIAL_BEGIN+2)  //9
//LJY1.10, for CDG
// audio MP3 mode, video use JPEG configuration
#define HAL_BUFFERMODE_CDG             (HAL_BUFFERMODE_SPECIAL_BEGIN+3)  //10

#define HAL_BUFFERMODE_PCM              (HAL_BUFFERMODE_SPECIAL_BEGIN+4)  //11
#define HAL_BUFFERMODE_SPECIAL_END      (HAL_BUFFERMODE_PCM)

// [26] parameter for FIFO type to push remainder data : HAL_PushFIFOData()
#define HAL_PUSHDATA_IFIFO              0
#define HAL_PUSHDATA_VCFIFO             1
#define HAL_PUSHDATA_SPFIFO             2   // LLY.170
// wyc1.07, add one mode to push AC3 sync into IFIFO.
#define HAL_PUSHDATA_IFIFO_AC3SYNC     3

// wyc.101 for HAL_PreFillBuffer usage
// [27] parameter for prefill A/V buffer data : HAL_PreFillBuffer
    //Kevin1.00, prefill video/audio buffer according to disc types
#define HAL_FILL_VIDEO_BUFFER           0
#define HAL_FILL_AUDIO_BUFFER           1
// wyc1.10, remove HAL_FILL_JPEG_BUFFER define because of not need it now.
/*
#define HAL_FILL_JPEG_BUFFER            2  // LLY2.78b-3
*/
#define HAL_FILL_AV_BUFFER              3
#define FILL_CDDA_BUFFER_FULL           10000L

// [28] parameter for reset some peripheral usage: HAL_ResetPeripheral() -- LLY.101
#define HAL_RESET_TVENCODER             0
#define HAL_RESET_AUDIODAC              1

// [29] parameter for query bitstream stauts: HAL_QueryStream() -- LLY.170
#define HAL_QUERY_STILL                 0

//CoCo.jpeg
//[44] define the parameters for HAL_QueryStatus
#define HAL_JPEG_PARSE_HEADER               0
#define HAL_JPEG_DECODE_STATUS              1 //CoCo2.80a, for CT908 JPEG

//CoCo.jpeg
//[45] define the return value for HAL_QueryStatus
#define HAL_QUERY_RESULT_FAIL               0
#define HAL_QUERY_RESULT_OK                 1
#define HAL_QUERY_RESULT_UNFINISH           2
#define HAL_QUERY_RESULT_UNSUPPORT          3 //CoCo2.80a, for CT908 JPEG


// [50] Define for HAL_WriteGPIO()/ HAL_ReadGPIO() 1st parameter setting -- LLY2.81
// Notice: Can't change each define's value, because it will be trasted as
//         the index of aGPIOOutValue[] & aGPIODirection[]
// bPort or bStatus[6:0], the desired GPCR port
// Micky0.91, add GPIO control.
// GPIO, KCHong 0.90
#define GPIO_GP0        0
#define GPIO_GP1        1
#define GPIO_GP2        2
#define GPIO_GP3        3
#define GPIO_GP4        4
#define GPIO_GP5        5
#define GPIO_GP6        6
#define GPIO_GP7        7
#define GPIO_GP8        8
#define GPIO_GP9        9
#define GPIO_GP10      10
#define GPIO_GP11      11
#define GPIO_GP12      12
#define GPIO_GP13      13
#define GPIO_GP14      14
#define GPIO_GP15      15

// bStatus[7], the desired action
#define GPIO_PL         0x00  // PL action
#define GPIO_PH         0x80  // PH action

// wyc.278-3, define the external IO control by follow method.
// Used for HAL_ExtIOCtrl()
#define EXT_PLLML_HI         0x18
#define EXT_PLLML_LO         0x10
#define EXT_FS1_HI            0x19
#define EXT_FS1_LO            0x11
#define EXT_FS2_HI            0x1a
#define EXT_FS2_LO            0x12
#define EXT_SCK_HI            0x1b
#define EXT_SCK_LO            0x13
#define EXT_NPRN_HI            0x1c
#define EXT_NPRN_LO            0x14
#define EXT_WEN_HI            0x1d
#define EXT_WEN_LO            0x15
#define EXT_ADACCS_HI         0x1e
#define EXT_ADACCS_LO         0x16
#define EXT_FPCS_HI           0x1f
#define EXT_FPCS_LO           0x17

// [Tuner related define]
#define GP0_HI                   0
#define GP0_LO                   1
#define GP0_RD                   2
#define GP1_HI                   3
#define GP1_LO                   4
#define GP1_RD                   5
#define GP2_HI                   6
#define GP2_LO                   7
#define GP2_RD                   8
#define GP3_HI                   9
#define GP3_LO                  10
#define GP3_RD                  11
#define GP4_HI                  12
#define GP4_LO                  13
#define GP4_RD                  14
#define GP5_HI                  15
#define GP5_LO                  16
#define GP5_RD                  17

//Kevin0.87, add
//I2C Interface for EEPROM
#ifdef I2C_USING_P4 
#define PIN_I2CSCK	0x01        //P4^0 
#define PIN_I2CSDA	0x02        //P4^1    
#else //Kevin0.91, I2C via P3.4/P3.5
#define PIN_I2CSCK	0x10        //P3^4 
#define PIN_I2CSDA	0x20        //P3^5 
#endif

/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
// ***** Function prototype definition Area *****
void    HAL_Variables_PowerON (void );  // ** TCH1.00-908; 

//# [1] Video relative function
void    HAL_Display(BYTE bDispType, BYTE bDispAction);
void    HAL_AdjustTVMode(void);
void    HAL_TVSetAPS(BYTE bType);
void    HAL_TVEncoderInitial(void); // LLY.102p
void    HAL_SetAspectRatio(BYTE bMode);
void    HAL_AdjustBrightView(BYTE bMode);
void    HAL_AdjustContrast(BYTE bLevel);
void    HAL_ControlHighlight(BYTE bAction, BYTE bButton);
void    HAL_CoordConvert(BYTE bType, PRECT pRect); // LLY.049
void    HAL_VCD30_Area(BYTE bOn); // LLY.049
void    HAL_VCD30_Color(void); // LLY.275
void    HAL_RedrawVCD30Area(void);  // LLY.275
void    HAL_SetBorderColor(BYTE bColor);
void    HAL_SetSCART (BYTE bScartType) ;    // TCC099
//# [2] Audio relative function
void    HAL_SetAudioType(BYTE bType);
void    HAL_SetAudioDAC(BYTE bSampleFreq);
//# [3] Parser relative function
void    HAL_ControlParser(BYTE bPacketType, BYTE bID);
//# [4] DIGEST relative function
void    HAL_DigestEnableFrame(BYTE bUpdate);
void    HAL_DigestInitial(BYTE bFrames);
void    HAL_DigestEnableVBI(void);
void    HAL_DigestPosition(WORD wXStart, WORD wYStart);
void    HAL_DigestCommand(void);
//# [5] CDIF relative function
void    HAL_CDIFCountSectors(BIT bFindHeader, BYTE bSectors);
void    HAL_ControlCDIF(BYTE bOn);
BIT     HAL_CheckCDIF(BYTE bCheck, BYTE bParam);
BIT     HAL_CheckCDIFbyISR(BYTE bCheck, BYTE bParam);
void    HAL_WriteCDHeader(DWORD hsgTime);
DWORD   HAL_GetSectorID(void);
void    HAL_SetInputPath(BYTE bPath);
void    HAL_SetSectorFormat(BYTE bFormat);
//# [6] CDROM decoding relative function
void    HAL_PrepareCDROMDecode(DWORD dwStartSector, BYTE bSectors);
void    HAL_CDROMDecode(void);
void    HAL_CDROMDecodeDone(void); // DVD.038
WORD    HAL_DumpUserData(BYTE* pbBuf, WORD wLen, BYTE bSectorNO);
WORD    HAL_DumpUserDatabyOffset( BYTE* pbBuf, WORD wLen, BYTE bSectorNO, WORD wOffset );
BOOL    HAL_IsNeedCDROMDecoding( DWORD hsgTime, BYTE NOofSector );
//# [7] Interrupt /Event relative function
void    HAL_ClearEvent(BYTE bEvent);
BIT     HAL_CheckEvent(BYTE bEvent);
BIT     HAL_CheckInterrupt(DWORD dwInt);
//# [8] Clear frame buffer relative function
// LLY0.86, split CT9928AF & CT908 two modes
// Because the command meaning of CT908 has updated.
void    HAL_ClearScreen(BYTE bColro);
//# [9] Get bitstream info. relative function
BIT     HAL_GetStreamInfo(void);
BYTE    HAL_QueryStream(BYTE bType);     // LLY.170
//# [10]Set play mode relative function
void    HAL_SetStillPicture(BYTE bHighStill, BYTE bColorTruncate);
void    HAL_SetPlayMode(BYTE bMode);
//# [11]Power on/off relative function
void    HAL_PowerDown(BYTE  bPowerDown);
//# [12]Zoom relative function
BYTE    HAL_Zoom(BYTE bAction); //CoCo.276
//# [13]A/V buffer control relative function
// wyc.101 to modify the paraneter for this function
void    HAL_PreFillBuffer(BYTE bBuffType, DWORD dwParam);
//# [14]Disc change relative fucntion
void    HAL_SetDiscType(WORD wDiscType); // LLY.276p-4
//# [15]Reset relative function
void    HAL_Reset(BYTE bType);
void    HAL_RealResetInitial(void);  // LLY.160a-1
void    HAL_ResetPeripheral(BYTE bType, BYTE bAction); // LLY.102p
//# [16]A/V sync control relative function
void    HAL_AVSync(BYTE bFunction, DWORD dwParam); // LLY.105 re-modify
//# [17]Debug relative function
BIT     HAL_Monitor(BYTE bType);
//# [18]A/V buffer setting relative function
void    HAL_SetBuffer(BYTE bType, BYTE bMode);  // LLY.050
//# [19]EEPROM read/write function
void    HAL_EEPROM_Write(BYTE bAddr, BYTE bValue);
void    HAL_EEPROM_PWrite(BYTE bAddr, BYTE* pbValue, BYTE bCount);
BYTE    HAL_EEPROM_Read(BYTE bAddr);
void    HAL_EEPROM_PRead(BYTE bAddr, BYTE bCount,BYTE* pbval );
//# [20]FIFO relative function
void    HAL_PushFIFOData(BYTE bFIFO, BYTE bNo);
//# [21]GPIO relative function  -- LLY2.81
BYTE    HAL_ReadGPIO(BYTE bPort);
void    HAL_WriteGPIO(BYTE bStatus);
extern  void    HAL_HardwareMute(BYTE bHWMute); //Kevin1.00
//extern  void    HAL_DetectChipsVersionID(void); //Kevin1.08 //Kevin2.26, comment

// wyc.277a, for HKC code.
//# [21] for AV system usage.
void HAL1_ExtIOCtrl(BYTE bControl);

BYTE HAL_QueryStatus(BYTE bMode);
//LJY1.10 for CDG
void HAL_CDGInitial(void);

void HAL_SetDecodeMode(void); // Brian2.32

//----------------------------------------------------------------//
// protected: internal function pototype
// which's body code is in HAL1.C and will be called by other module
//# [1-2]TV encoder setting relative function
void    _TVModeSet(void);
void    _TVEncoderOff(void); // LLY.102b

#ifdef  SUPPORT_I2C
void    _I2C_Write ( BYTE DevSel, BYTE *pBuffer, BYTE count );
BYTE    _I2C_Read  ( BYTE DevSel, BYTE  addr, BYTE count, BYTE *value);
#ifdef TFT_CONTROL
void I2C_VX1818_Write(bSubAddr,bValue); // hwtan20040210 for malata
void I2C_VX1818_Read(BYTE addr,BYTE *val);
 void delay_nop(void);
 void stop_con(void);
void start_con(void);
void nack_con(void);
void ack_con(void);
bit send_con(char);
char receive_con(void);

#endif
#endif  // #ifdef SUPPORT_I2C

//wyc2.80, extern functions.
#ifdef  EXT_IO
BYTE HAL1_ExtIOStatus() ;
#endif  // #ifdef EXT_IO


/////////////////////////////////////////////////////////////////////

#ifdef __cplusplus
   }
#endif

#endif  // __HAL_H__

⌨️ 快捷键说明

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