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

📄 l2.h

📁 dz3000_51.0.0.4.rar
💻 H
📖 第 1 页 / 共 2 页
字号:
/*++

Copyright (c) 2001 Sunplus Technology Co., Ltd.

Module Name:

        L2.h

Abstract:

        Header file related to L2 functions

Environment:

        Keil C51 Compiler

Revision History:

        11/12/2001      bu210    created

--*/
//-----------------------------------------------------------------------------
// Header file
//-----------------------------------------------------------------------------
#include "device.h"

//-----------------------------------------------------------------------------
// Data type
//-----------------------------------------------------------------------------
// date
struct DATESTC
{
  UCHAR Year;
  UCHAR Month;
  UCHAR Day;
  UCHAR Hour;
  UCHAR Minute;
  UCHAR Second;
};

//------------------------------------------------------------------------------
//Constant
//------------------------------------------------------------------------------
#define L2K_SUCCESS                     0x00
#define L2K_ERROR_GENERAL               0x01
#define L2K_ERROR_PARAMETER             0x02

#define L2K_CPUInternal                 0x01   // 0 is for external ICE
                                               // 1 is for internal 8051

//Joe@2003.3.6 16:25 modify begin
//#define L2K_CPUP1                       0x01   // 0 is for low byte address
                                               // 1 is for 8051 GPIO P1
#define L2K_CPUP1                       0x00   // 0 is for low byte address
//Joe@2003.3.6 16:25 modify end

#define L2K_P1OE                        0xff
#define L2K_P3OE                        0x3e   // P3o is input for RXD

/*#define K_Q50                         0x00 //ada@0225
#define K_Q70                           0x01
#define L2K_Q80                         0x02
#define L2K_Q85                         0x03
#define L2K_Q88                         0x04
#define L2K_Q90                         0x05
#define L2K_Q92                         0x06
#define L2K_Q95                         0x07
#define L2K_Q1                          0xff*/

#define L2K_DateWhite                                   0x00
#define L2K_DateYellow                                  0x01
#define L2K_DateCyan                                    0x02
#define L2K_DateGreen                                   0x03
#define L2K_DateMagenta                                 0x04
#define L2K_DateRed                                     0x05
#define L2K_DateBlue                                    0x06
#define L2K_DateBlack                                   0x07

//GLOBAL
#define PPG struct PGSTC *
#define PDATE struct DATESTC *

// for test flash only
#ifdef  TestModeEn
#define L2K_FMactType   0x03       // 0:GPIOs 1:NAND 2:SMC 3:CF(IDE) 4:CF(MEM) 5:SD 6:MMC 7:SPI 8:NX
#define L2K_FMinactType 0x01       // 0:Only one flash 1:NAND 2:SMC 3:CF(IDE) 4:CF(MEM) 5:SD 6:MMC 7:SPI 8:NX
#define L2K_FMSize      0x40       // 64M bytes
#define L2K_FMPageSize  0x01       // 0:256 bytes/page 1:512 bytes/page 2:1024 bytes/page
#endif

//-----------------------------------------------------------------------------
// RS232 debug define
//-----------------------------------------------------------------------------
#if SIMULATE			// WWWW
#define INIT_RS232
#else
#define INIT_RS232      {                                       \
                                UCHAR revid;                    \
                                XBYTE[0x2C03]|=0x02;            \
                                XBYTE[0x2024] = 0x01;     \
                                SCON0 = 0x50;             \
                                PCON |= 0x80;             \
                                TMOD |= 0x20;             \
                                TH1 = 0xF3;               \
                                TR1 = 1;                  \
                                TI = 1;                   \
                                L2_ReadRevID(&revid);     \
                                if(revid==0)      DbgPrint("\nSPCA533A debug environment is establised successfully!\n"); \
                                else if(revid==1) DbgPrint("\nSPCA533B debug environment is establised successfully!\n"); \
                                else if(revid==2) DbgPrint("\nSPCA533C debug environment is establised successfully!\n"); \
                                else              DbgPrint("\nSPCA533 debug environment is establised successfully!\n"); \
                        }
#endif
//patch4.4@richie@move to DEBUG_PRINTL2
//#define PRINT_L2        printf

#define SLASH2 /
#ifdef DEBUG_FRONT
#define PRINT_FRONT printf
#else
#define PRINT_FRONT ;/SLASH2
#endif

#ifdef DEBUG_PRINTL2
#define PRINT_L2 printf
#else
#define PRINT_L2 ;/SLASH2
#endif

//------------------------------------------------------------------------------
//External Link
//------------------------------------------------------------------------------
//extern  xdata   UCHAR   L2G_XXX;

//------------------------------------------------------------------------------
//Function Prototype
//------------------------------------------------------------------------------

// TestMode
#ifdef TestModeEn
UCHAR L2_TestGlobal(UCHAR);
UCHAR L2_TestSDRAM(UCHAR);
UCHAR L2_TestFront(UCHAR);
UCHAR L2_TestCDSP(UCHAR);
UCHAR L2_TestLCDTV(UCHAR);
UCHAR L2_TestAudio(UCHAR);
UCHAR L2_TestUSB(UCHAR);
UCHAR L2_TestCPU(UCHAR);
UCHAR L2_TestDMAC(UCHAR);
UCHAR L2_TestFlash(UCHAR);
UCHAR L2_TestTVSRAM(UCHAR bank);
UCHAR L3_TestCDSPSRAM(UCHAR, UCHAR, UCHAR, UCHAR);
#endif

//Global
UCHAR  L2_Suspend(UCHAR);
void   L2_Resume(void);
void   L2_PowerDown(void);
UCHAR  L2_SetModuPowerDown(USHORT);
UCHAR  L2_SetCPUClock(UCHAR);
void   L2_PowerUp(void);
UCHAR  L2_SetModuPowerUp(USHORT);
UCHAR  L2_ConfigGTimer(UCHAR);
void   L2_StartGTimer(void);
void   L2_StopGTimer(void);
UCHAR  L2_WriteGTimer(ULONG);
void   L2_ReadGTimer(PULONG);
UCHAR  L2_Wait(ULONG);
UCHAR  L3_DateToBin(PDATE, PDATE);
UCHAR  L3_WriteRTCData(UCHAR, UCHAR);
UCHAR  L2_WriteRTC(PDATE);
UCHAR  L3_ReadRTCData(UCHAR, PUCHAR);
UCHAR  L3_BinToDate(PDATE, PDATE);
UCHAR  L2_ReadRTC(PDATE);
UCHAR  L2_WriteAlarm(PDATE);
UCHAR  L2_ReadAlarm(PDATE);
UCHAR  L2_ConfigPG(ULONG, UCHAR, UCHAR, USHORT, USHORT, UCHAR, UCHAR,
                   UCHAR, UCHAR, UCHAR, UCHAR);
void   L2_StartPG(void);
void   L2_StopPG(void);
UCHAR  L2_ConfigUI(UCHAR);
void   L2_WakeUI(void);
UCHAR  L2_WriteUI(USHORT);
UCHAR  L2_ReadUI(PUCHAR);
UCHAR  L2_ConfigGPIOBit(UCHAR, UCHAR);
UCHAR  L2_ConfigGPIOByte(UCHAR, UCHAR);
UCHAR  L2_SetGPIOBit(UCHAR, UCHAR);
UCHAR  L2_SetGPIOByte(UCHAR, UCHAR);
UCHAR  L2_GetGPIOBit(UCHAR, PUCHAR);
UCHAR  L2_GetGPIOByte(UCHAR, PUCHAR);
UCHAR  L2_InitGlobal(UCHAR);
UCHAR  L2_SetTGPll(UCHAR);
void   L2_ReadRevID(PUCHAR);
UCHAR  L2_SetCamMode(UCHAR);
void   L2_GetCamMode(PUCHAR);
UCHAR  L2_WaitVD(UCHAR, UCHAR);
void   L2_ReadIOTrap(PUCHAR);
void  L2_RTCTransferText(PDATE,PUCHAR);     //ada@0220

//CDSP
UCHAR  L2_SetCDSPBadPixelMode(UCHAR);
UCHAR  L2_WriteCDSPBadPixel(UCHAR, USHORT, USHORT);
UCHAR  L2_ReadCDSPBadPixel(UCHAR, PUSHORT, PUSHORT);
UCHAR  L2_SetCDSPScale(USHORT, USHORT);
UCHAR  L2_SetWB(UCHAR, UCHAR, UCHAR, UCHAR, USHORT, USHORT, USHORT, USHORT);
UCHAR  L2_SetColorC(USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT);
UCHAR  L2_SetLutGamma(UCHAR);
UCHAR  L2_SetYEdge(UCHAR);
UCHAR  L2_SetYUVAvg(UCHAR);
UCHAR  L2_SetBriCont(UCHAR, UCHAR);
UCHAR  L2_SetHueSat(USHORT, UCHAR);
UCHAR  L2_ConfigWindow(UCHAR, UCHAR, UCHAR, USHORT);
UCHAR  L3_GetWindowSize(PUCHAR, PUCHAR, PUSHORT, PUSHORT);
UCHAR  L2_ReadAEWindow(UCHAR, PUCHAR);
UCHAR  L3_GetBYRYHigh(UCHAR, PUCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR  L2_ReadBYWindow(UCHAR, PSHORT);
UCHAR  L2_ReadRYWindow(UCHAR, PSHORT);
UCHAR  L2_ConfigAFWindow(USHORT, USHORT, USHORT, USHORT);
void   L2_ReadAFWindow(PUSHORT);
UCHAR  L2_ConfigOB(USHORT, USHORT, UCHAR, UCHAR, USHORT);
void   L2_ReadAutoOB(PUSHORT);
UCHAR  L2_ConfigSPW(UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR  L2_ReadSPW(UCHAR, PULONG, PUCHAR, PCHAR, PCHAR); //patch3.2@cytsai@0328
UCHAR  L2_InitCDSP(UCHAR);
UCHAR  L2_DoCDSP(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, UCHAR, UCHAR);
UCHAR  L2_SetSignalGen(UCHAR, UCHAR);
UCHAR  L2_SetMenuBar(UCHAR, USHORT, USHORT, USHORT, USHORT);
UCHAR  L2_SetYlut(UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR,
                  UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR, UCHAR);
UCHAR  L2_SetHorFilt(PCHAR, UCHAR); // WWWW
UCHAR  L2_SetVerFilt(PCHAR, UCHAR); // WWWW
UCHAR  L2_DoCDSP2(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, UCHAR, UCHAR, ULONG);

//AUDIO
UCHAR L2_InitAudio(ULONG CamMode);
UCHAR L2_InitAC97(void);
UCHAR L2_RdAC97Reg(UCHAR AC97Addr, USHORT* Value);
UCHAR L2_WrAC97Reg(UCHAR AC97Addr, USHORT Value);
UCHAR L2_InitEmbAudCodec(BIT Play);
UCHAR L2_SetEmbAudCodecVol(UCHAR Volume);
UCHAR L2_EnableAudStream(UCHAR AudFormat, UCHAR ADCFreq);
UCHAR L2_PlayAud(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_RecordAud(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat);
UCHAR L2_RecordAudDMAMode(UCHAR AudFormat);
UCHAR L2_StopAud(void);
UCHAR L2_RecordAudToDRAM(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat);
UCHAR L2_PlayAudFromDRAM(ULONG DRAMAddr, UCHAR AudBufSize, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_PlayAudDMAMode(ULONG DRAMAddr, UCHAR AudFormat, UCHAR PlayFreq );
UCHAR L2_ReadDRAMAudBufCnt(ULONG *pDRAMAudBufCnt);
UCHAR L2_ReadAudBufCnt(ULONG *pAudBufCnt);
UCHAR L2_SetDRAMAudDMACnt(UCHAR Enable);

//DRAM
UCHAR L2_InitSDRAM(UCHAR);
UCHAR L2_DRAMSetStartAddr(ULONG, UCHAR);
UCHAR L2_DRAMReadWord(UCHAR *, UCHAR *);
UCHAR L2_DRAMWriteWord(UCHAR, UCHAR);
//UCHAR L2_DRAMReadWord(ULONG, UCHAR *, UCHAR *);
//UCHAR L2_DRAMWriteWord(ULONG, UCHAR, UCHAR);
UCHAR L2_FillDRAM(ULONG, USHORT, UCHAR, UCHAR);
UCHAR L2_SetJPEGVscale(USHORT, USHORT);
UCHAR L2_WriteQTable(UCHAR, UCHAR, UCHAR*);
UCHAR L2_ReadQTable(UCHAR, UCHAR *, UCHAR *);
UCHAR L2_Compress(UCHAR, ULONG, USHORT, USHORT, ULONG, ULONG, UCHAR);
UCHAR L2_DeCompress(ULONG, USHORT, USHORT, ULONG, UCHAR, UCHAR, USHORT);
UCHAR L2_ReadCompSize(ULONG*);
UCHAR L2_CheckDecompress(void);
UCHAR L2_SetAFBAddr(ULONG);
UCHAR L2_SetAFBSize(USHORT, USHORT);
UCHAR L2_SetBFBAddr(ULONG);
UCHAR L2_SetBFBSize(USHORT, USHORT);
UCHAR L2_SetRFBSize(USHORT, USHORT);
UCHAR L2_SetAVLCAddr(ULONG);
UCHAR L2_SetBVLCAddr(ULONG);
UCHAR L2_SetDCTAddr(ULONG);
UCHAR L2_SetAUDAddr(ULONG);
UCHAR L2_SetFOSDAddr(ULONG);
UCHAR L2_SetRFBAddr(ULONG);
UCHAR L2_SetACDSPWidth(USHORT);
UCHAR L2_SetBCDSPWidth(USHORT);
UCHAR L2_SetRCDSPWidth(USHORT);
UCHAR L2_SetImageType(UCHAR);
UCHAR L2_SetDisplayMode(UCHAR, UCHAR);
UCHAR L2_ClrVLCRdy(UCHAR);
UCHAR L2_SelDRAMRefreshSrc(UCHAR);
UCHAR L2_EnterExitSelfRefresh(UCHAR);
UCHAR L2_SetAGBAddr(ULONG);
UCHAR L2_SetBGBAddr(ULONG);
UCHAR L2_SetAGBSize(USHORT, USHORT);
UCHAR L2_SetBGBSize(USHORT, USHORT);
UCHAR L2_DoDRAMDMA(ULONG, ULONG, ULONG);
//patch5.0@richie@sdram mapping begin
UCHAR L2_ScaleUpImage(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_ScaleUpImage_H(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize, ULONG DstAddr, USHORT DstHsize);
UCHAR L2_ScaleUpImage_V(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize ,ULONG DstAddr, USHORT DstVsize);
UCHAR L2_ScaleDownImage(ULONG, USHORT, USHORT, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_ScaleDownImage_H(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize,ULONG DstAddr, USHORT DstHsize);
UCHAR L2_ScaleDownImage_V(ULONG SrcAddr, USHORT SrcHsize, USHORT SrcVsize, ULONG DstAddr,USHORT DstVsize);
//patch5.0@richie@sdram mapping end
UCHAR L2_SetFixBadPxlThd(UCHAR);
UCHAR L2_FixOneBadPixel(USHORT, USHORT);
UCHAR L2_SetStampFontColor(UCHAR, UCHAR, UCHAR);
UCHAR L2_SetStampFontScale(UCHAR);
UCHAR L2_StampOneFont(ULONG, ULONG, USHORT, USHORT, ULONG);
UCHAR L2_RotateImage(ULONG, USHORT, USHORT, ULONG, BIT);
UCHAR L2_TransYUV420toYUV422(ULONG, USHORT, USHORT);
UCHAR L2_CopyImage(ULONG, USHORT, USHORT, USHORT, USHORT, USHORT, USHORT, ULONG, USHORT, USHORT, USHORT, USHORT);
UCHAR L2_SetCopyColorKey(BIT, UCHAR);
UCHAR L2_SubDarkFrame(ULONG, ULONG, USHORT, USHORT);
UCHAR L2_ChkDRAMImgRdy(void);
UCHAR L2_CheckDRAMStatus(void);
UCHAR L2_SetCapint(UCHAR);




//LCDTV
UCHAR L2_InitLCDTV(UCHAR CamMode);
UCHAR L2_SetDisplayType(UCHAR index);
UCHAR L2_SetDisplaySrcImgSize(USHORT hsize, USHORT vsize, UCHAR type);
UCHAR L2_TurnOnOffDisplay(UCHAR mode);
UCHAR L2_SetColorPalette(UCHAR index, UCHAR r, UCHAR g, UCHAR b);
UCHAR L2_SetFOSDIndex(UCHAR y, UCHAR x, USHORT value);
UCHAR L2_SetFOSDAttr(UCHAR y, UCHAR x, UCHAR attr);
UCHAR L2_SetFOSDOffset(UCHAR x, UCHAR y, UCHAR scrll);
UCHAR L2_SetFOSDBGMixlevel(UCHAR level);
UCHAR L2_SetOSDSelWindow(USHORT x0, USHORT y0, USHORT x1, USHORT y1, UCHAR color);
UCHAR L2_SetLCDTVGamma(UCHAR* table);
UCHAR L2_TurnOnTVGamma(UCHAR mode);
UCHAR L2_DefineColorKey(UCHAR attrib);
UCHAR L2_CtrlScreen(UCHAR attrib);
UCHAR L2_ShowFOSDEffect(UCHAR attrib, UCHAR color);
UCHAR L2_SetDisplayOffset(USHORT xoff, USHORT yoff);


//FRONT
UCHAR L2_InitFront(UCHAR CamMode);
void  L2_InitLens(void);
UCHAR L2_ReadMState(UCHAR *Action);
UCHAR L2_WCShutter(void);
UCHAR L2_WOShutter(void);
void  L2_CloseMShutter(void);
void  L2_OpenMShutter(void);
UCHAR L2_SetIris(UCHAR Step);
UCHAR L2_SetFocus(UCHAR Step, UCHAR Option);
UCHAR L2_SnapFront(UCHAR SnapNum);
UCHAR L2_SetFlash(USHORT Width, USHORT Ftnum, UCHAR Mode);
UCHAR L2_SetFrameRate (UCHAR FrameRate, UCHAR Option);
UCHAR L2_SetExposureTime (ULONG  Number, UCHAR Option);
UCHAR L2_AdjustGain(USHORT Value, UCHAR Option);
UCHAR L2_SetFrontImgOffsetc(USHORT Hoffset, USHORT Voffset);
UCHAR L2_SetFrontImgSizec(USHORT Hsize, USHORT Vsize);
UCHAR L2_SetFrontImgOffsetm(USHORT Hoffset, USHORT Voffset);
UCHAR L2_SetFrontImgSizem(USHORT Hsizem, USHORT Vsizem);
UCHAR L2_WriteSI(UCHAR *RegData, UCHAR Option);
UCHAR L2_WriteSSC (UCHAR *RegAddr, UCHAR *RegData, UCHAR Count, UCHAR Option);
UCHAR L2_ReadSSC(UCHAR RegAddr, UCHAR *RegData, UCHAR Count, UCHAR Option);
void  L2_SuspendFront(void);
void  L2_SetCMOSPreview(void);
void  L3_PowerOnCMOS (void);
void  L3_PowerOnCCD (void);
void  L3_CCDIniSerial(void);
UCHAR L3_SetMotorStep(UCHAR IN1, UCHAR IN2, USHORT PlusTime);
UCHAR L3_SetMotorCCW(UCHAR Number);
UCHAR L3_SetMotorCW(UCHAR Number);
UCHAR L3_SetProbe(UCHAR Mode);

#ifdef OV13
void  L3_CMOSIniPad00(void);
void  L3_CMOSIniClk00(void);
void  L3_CMOSIniPhase00(void);

⌨️ 快捷键说明

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