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

📄 usbsidc.h

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

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

Module Name:

        usbsidc.h

Abstract:

        Header file related to USB Still Image Class Bulk Only Transfer

Environment:

        Keil C51 Compiler

Revision History:

        08/28/2001      Chi-Yeh Tsai    created                 

--*/

//------------------------------------------------------------------------------
//Constant
//------------------------------------------------------------------------------
//Class Request
#define K_USBSIDC_CANCEL_REQUEST                0x64
#define K_USBSIDC_GET_EXTENDED_EVENT_DATA       0x65
#define K_USBSIDC_DEVICE_RESET_REQUEST          0x66
#define K_USBSIDC_GET_DEVICE_STATUS             0x67
//Container Type
#define K_USBSIDC_Undefined                     0x0000         
#define K_USBSIDC_CommandBlock                  0x0100         
#define K_USBSIDC_DataBlock                     0x0200         
#define K_USBSIDC_ResponseBlock                 0x0300
#define K_USBSIDC_EventBlock                    0x0400
//Payload Count
#define K_USBSIDC_ParamCount                    3

//------------------------------------------------------------------------------
//Type Definition
//------------------------------------------------------------------------------
//Generic Container Structure
#define K_USBSIDC_CONTAINER_SIZE        0x0c    //not counting paramteter size
typedef struct _USBSIDC_CONTAINER
{
        ULONG   ulContainerLength;
        USHORT  usContainerType;
        USHORT  usCode;
        ULONG   ulTransactionId;
        ULONG   ulParameter[K_USBSIDC_ParamCount];
} USBSIDC_CONTAINER, *PUSBSIDC_CONTAINER;

//------------------------------------------------------------------------------
//External Link
//------------------------------------------------------------------------------
extern  PUSBSIDC_CONTAINER      G_USBSIDC_pCommand;

extern  data    BIT     G_USBSIDC_btFirstOutPacket;
extern  xdata   ULONG   G_USBSIDC_ulLogicalBlockAddress;
extern  xdata   USHORT  G_USBSIDC_usSizeProcessed;
extern  xdata   USHORT  G_USBSIDC_usDeviceStatus;
extern  xdata   USHORT  G_USBSIDC_usResponseCode;
extern  xdata   UCHAR   G_USBSIDC_ucResponseParamCount;
extern  xdata   ULONG   G_USBSIDC_ulResponseParam[];

//richie
extern  xdata   ULONG   G_USBSIDC_ulSdramBufferAddress;

//------------------------------------------------------------------------------
//Function Prototype
//------------------------------------------------------------------------------
void USBSIDC_NoDataPhase(void);
void USBSIDC_PreInDataPhase(void);
void USBSIDC_PreOutDataPhase(void);
void USBSIDC_PostInDataPhase(void);
void USBSIDC_PostOutDataPhase(void);
void USBSIDC_BulkInData(void);
void USBSIDC_BulkOutData(void);
void USBSIDC_ClearCommandBuffer(void);
UCHAR USBSIDC_Command(UCHAR len);
UCHAR USBSIDC_Status(void);
void USBSIDC_SetBulkInPacket(UCHAR len);
UCHAR USBSIDC_GetBulkOutPacket(void);
UCHAR USBSIDC_GetBulkOutPacketToBlock(void);
UCHAR USBSIDC_PostBulkOutDataPhase(void);
void USBSIDC_ParseContainer(void);
void USBSIDC_PreInBlock(void);
void USBSIDC_PostInBlock(void);
void USBSIDC_PreOutBlock(void);
void USBSIDC_PostOutBlock(void);
void USBSIDC_StallBulkInOutPacket(void);
void USBSIDC_ClearStallBulkInOutPacket(void);

//richie
UCHAR USBSIDC_L2_SetUSBDMA(UCHAR USBDMASrc, UCHAR USBDMADst);
UCHAR USBSIDC_L2_SetDRAMDMA(ULONG DRAMAddr);
UCHAR USBSIDC_L2_DoDMA(UCHAR Src,UCHAR Dst, USHORT nByte, UCHAR Mode, UCHAR FlashPageDMA);
//richie@pa0429
UCHAR USBSIDC_L2_ReadRTC(PDATE DatePt);
UCHAR USBSIDC_L3_ReadRTCData(UCHAR Addr, PUCHAR DataPt);
UCHAR USBSIDC_L3_BinToDate(PDATE BinPt, PDATE DatePt);
UCHAR USBSIDC_L2_WriteRTC(PDATE DatePt);
UCHAR USBSIDC_L3_DateToBin(PDATE DatePt, PDATE BinPt);
UCHAR USBSIDC_L3_WriteRTCData(UCHAR Addr, UCHAR Data);

⌨️ 快捷键说明

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