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

📄 main.h

📁 台湾凌阳方案300万数码相机源代码
💻 H
字号:
/*++

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

Module Name:

        main.h

Abstract:

        Header file related to main functions

Environment:

        Keil C51 Compiler

Revision History:

        08/28/2001      Chi-Yeh Tsai    created

--*/

//------------------------------------------------------------------------------
//Constant
//------------------------------------------------------------------------------
//Firmware Version

//Joe@2003.3.19 9:39 modify begin

//#define K_FIRMWARE_VERSION              ((UCHAR)0x44)
#define K_FIRMWARE_VERSION              ((UCHAR)0x0c)
//Joe update from V5.0 To V5.2 at 20030320
//Joe@2003.3.19 9:39 modify end

#define K_FIRMWARE_RELEASE              ((UCHAR)0x0b)
#define K_FIRMWARE_SEQUENCE             ((UCHAR)0x14)
#define K_FIRMWARE_CHIPNUMBER           ((UCHAR)0x04)   //SPCA533

//Size of Buffer
#define K_CtrlCommandSize               8               //size of G_ucCtrlCommand
#define K_CtrlDataSize                  64              //size of G_ucCtrlData
#define K_StorCommandSize               64              //size of G_ucStorCommand
#define K_StorDataSize                  (512+16)        //size of G_ucStorData
#define K_DMA_MaxSize                   1024            //maximun size of DMA //ada@0118
/*++
#define K_Stor2CommandSize              64              //size of G_ucStor2Command
#define K_Stor2DataSize                 (512+16)        //size of G_ucStor2Data
--*/
//Interface Index
#define K_VideoInterface                0
#define K_StorageInterface1             1
#define K_AudioControlInterface         2
#define K_AudioStreamingInterface       3
#define K_StorageInterface2             4

//cytsai@1211
//use in main loop
//capture
#define K_CAPTURE_Image                 0
#define K_CAPTURE_AudioStream           1
#define K_CAPTURE_VideoStream           2
#define K_CAPTURE_AudioVideoStream      3
//delete
#define K_DELETE_ALL                    0
//playback
#define K_PLAYBACK_NineThumbnail        0
#define K_PLAYBACK_FourThumbnail        1
#define K_PLAYBACK_OneImage             2
#define K_PLAYBACK_ImageSlide           3
#define K_PLAYBACK_Video                4
//upload
#define K_UPLOAD_ObjectCount            0
#define K_UPLOAD_ObjectFDBs             1
#define K_UPLOAD_OneObject              2

#define K_Card_PageSize            ((WORD) 0x0200)      // WWW1
#define K_Card_PageSizeShift		((BYTE) 9)      // WWW1

//------------------------------------------------------------------------------
//External Link
//------------------------------------------------------------------------------
extern  data    BIT     G_btSoftwareResetFlag;
extern  data    BIT     G_btStopStream;
extern  data    UCHAR   G_bRequestLock;
extern  data    UCHAR   G_bRequestLog;        //cch@10/15
extern  data    USHORT  G_wIndexLock;
extern  data    USHORT  G_wValueLock;
extern  xdata   UCHAR   G_ucState;
extern  xdata   UCHAR   G_ucState2;             //cch@10/15
extern  xdata   UCHAR   G_ucState3;
extern  xdata   ULONG   G_ulErrorCode;
extern  xdata   UCHAR   G_ucStorageType;
extern  xdata   UCHAR   G_ucCtrlCommand[];
extern  xdata   UCHAR   G_ucCtrlData[];
extern  xdata   UCHAR   G_ucStorCommand[];
extern  xdata   UCHAR   G_ucStorData[];
/*++
extern  xdata   UCHAR   G_ucStor2Command[];
extern  xdata   UCHAR   G_ucStor2Data[];
--*/
extern  UCHAR   *G_pucCtrlDataPointer;  //for both CODE and DATA AREA
extern  xdata   UCHAR   *G_pucStorDataPointer;
/*++
extern  xdata   UCHAR   *G_pucStor2DataPointer;
--*/
extern  xdata   UCHAR   G_ucPktStorIntrf;
extern  xdata   UCHAR   G_ucStorIntrf1Class;
extern  xdata   UCHAR   G_ucStorIntrf2Class;

//L1 global variables
//ISP
extern  xdata   UCHAR   G_ISP;
extern  xdata   ULONG   G_ISPDRAMAddr;
extern  xdata   ULONG   G_ISPROMAddr;
extern  xdata   ULONG   G_ISPSecAddr;
extern  xdata   USHORT  G_ISPSecCnt;
//device component
extern  xdata   UCHAR   G_SensorID;
//patch5.0@richie@sdram mapping mark
//extern  xdata   UCHAR   G_CardType;
extern  xdata   UCHAR   G_AudioModuleType;
extern  xdata   UCHAR   G_DisplayType;
//mode setting
extern  xdata   UCHAR   G_CamMode;
//extern  xdata   UCHAR   G_QtableIndex;     //ada@0225
extern  xdata   UCHAR   G_DRAMint;
//user interface
extern  xdata   USHORT  G_ObjectID;
extern  xdata   UCHAR   G_ObjectType;
extern  xdata   USHORT  G_KeyState;
//component setting
extern  xdata   UCHAR   G_FrameRate;
extern  xdata   USHORT  G_Hsize;
extern  xdata   USHORT  G_Vsize;
extern  xdata   USHORT  G_MHSize;
extern  xdata   USHORT  G_MVSize;
extern  xdata   USHORT  G_DSPHsize;
extern  xdata   USHORT  G_DSPVsize;
extern  xdata   UCHAR   G_PVZFactor;
extern  xdata   UCHAR   G_PBZFactor;
extern  xdata   UCHAR   G_3ACount;
extern  xdata   UCHAR   G_3AFlag;
extern  xdata   UCHAR   G_PBID;
extern  xdata   UCHAR   G_GOSDID;
//SDRAM arrangement
extern  xdata   ULONG   G_BadPxlAddr;
extern  xdata   ULONG   G_FOSDAddr;
extern  xdata   ULONG   G_AudioAddr;
extern  xdata   ULONG   G_FreeAddr;
extern  xdata   ULONG   G_RawImageBufAddr; //version4.2@yichang@0513 for continue snapping
//date/time
extern  xdata   UCHAR   G_DateStamp;
extern  xdata   struct  DATESTC G_DATEINFO;
//USB
extern  xdata   UCHAR   G_TurnOnBulkInEn;
extern  xdata   UCHAR   G_TurnOnBulkOutEn;
extern  xdata   UCHAR   G_TurnOnIntInEn;
extern  xdata   UCHAR   G_TurnOnBulkIn2En;
extern  xdata   UCHAR   G_TurnOnBulkOut2En;
extern  xdata   UCHAR   G_TurnOnIntIn2En;
extern  xdata   ULONG   G_BulkSize;
extern  xdata   ULONG   G_BulkOutSize;
extern  xdata   ULONG   G_BulkDRAMAddr;
extern  xdata   UCHAR   G_LastBulk;
extern  xdata   ULONG   G_BulkFlash;
extern  xdata   ULONG   G_BulkFlashAddr;
extern  xdata   ULONG   G_BulkSRAMAddr;
//testing
extern  xdata   UCHAR   G_L1_ModuleID;
extern  xdata   UCHAR   G_L2_ModuleID;
extern  xdata   UCHAR   G_L1_FuncID;
extern  xdata   UCHAR   G_L2_FuncID;
extern  xdata   ULONG   G_ArgBuf[];

//richie
extern  data    BIT  G_btBulkIntr;
//patch4.4@richie@usbvd
extern	data	BIT	G_btEP0Intr;
//for video clip
extern  xdata   UCHAR G_ABVLCIntFlag;
extern  xdata   ULONG G_AVLCSize;
extern  xdata   ULONG G_BVLCSize;

//patch3.2@ada@0401 For file system refreshing when back from mass storage
//For system refreshing when back from mass storage
extern  xdata UCHAR G_MassStorage_Mode;

//richie@si0418
extern xdata ULONG G_ulExifThumbAddr;
extern xdata ULONG G_ulExifThumbSize;

//patch4.2@ada@0527 for key scan
extern xdata UCHAR G_MainLoopCount;

//patch4.4@richie@flip
extern	xdata	UCHAR	G_ucFlip;

//patch4.5@richie@mlun begin
extern	xdata UCHAR G_ucMSDC_MLUN;
//patch4.5@richie@mlun end

//patch4.5@richie@vender info begin
extern	xdata UCHAR G_ucMSDC_CARD;
extern	xdata UCHAR G_ucMSDC_BUILT_IN;
/*
extern	xdata    UCHAR   G_ScsiVendorInformation[];
extern	xdata    UCHAR   G_ScsiProductIdentification[];
extern	xdata    UCHAR   G_ScsiProductRevisionLevel[];
*/
//patch4.5@richie@vender info end

//patch5.0@richie@avi size begin
extern	xdata	USHORT	G_usVideoClip_Width;
extern	xdata	USHORT	G_usVideoClip_Height;
//patch5.0@richie@avi size end

//------------------------------------------------------------------------------
//Function Prototype
//------------------------------------------------------------------------------
void main(void);
void spca533main(void);
void MAIN_LockLoop(void);
void MAIN_PreDpc(void);
void MAIN_PostDpc(void);
void MAIN_EventPreDpc(void);
void MAIN_EventPostDpc(void);
void STROBE_Charge(void); // WWWW0409


⌨️ 快捷键说明

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