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

📄 request.h

📁 ISP1362 Fat32 coldfire523x
💻 H
字号:
#ifndef __REQUEST_H__
#define __REQUEST_H__

#include"hal.h"

#define     TRY_NUM             100
#define		MAX_EP				5
#define		PIDSETUP			0x00
#define		PIDOUT				0x01
#define		PIDIN				0x02
/*
#define		NOERROR						0x0
#define		CRC							0x1
#define		BITSTUFFING					0x2
#define		DATATOGGLEMISMATCH			0x3
#define		STALL						0x4
#define		DEVICENOTRESPONDING			0x5
#define		PINCHECKFAILURE				0x6
#define		UNEXPECTEDPIN				0x7
#define		DATAOVERRUN					0x8
#define		DATAUNDERRUN				0x9
#define		BUFFEROVERRUN				0xC
#define		BUFFERUNDERRUN				0xD
#define		SEND_RECEIVE_DATA_FALSE		0xA
#define		TRANSFERCOMPLETED			0xB
*/

/* USB HUB CONSTANTS (not OHCI-specific; see hub.h and USB spec) */
 
/* destination of request */
#define RH_INTERFACE               0x01
#define RH_ENDPOINT                0x02
#define RH_OTHER                   0x03
#define RH_CLASS                   0x20
#define RH_VENDOR                  0x40

/* Requests: bRequest << 8 | bmRequestType */
#define RH_GET_STATUS           0x0080
#define RH_CLEAR_FEATURE        0x0100
#define RH_SET_FEATURE          0x0300
#define RH_SET_ADDRESS			0x0500
#define RH_GET_DESCRIPTOR		0x0680
#define RH_SET_DESCRIPTOR       0x0700
#define RH_GET_CONFIGURATION	0x0880
#define RH_SET_CONFIGURATION	0x0900
#define RH_GET_STATE            0x0280
#define RH_GET_INTERFACE        0x0A80
#define RH_SET_INTERFACE        0x0B00
#define RH_SYNC_FRAME           0x0C80
/* Our Vendor Specific Request */
#define RH_SET_EP               0x2000

/*typedef struct _SPTDHEADER
{
	uint16 ActualBytes      :10;
	uint16 Toggle 			:1 ;
	uint16 Active 			:1 ;
	uint16 CompletionCode   :4 ;
	uint16 MaxPacketSize    :10;
	uint16 Speed            :1 ;
	uint16 B3_3             :1 ;               
	uint16 EndpointNum      :4 ;
	uint16 TotalBytes       :10;
	uint16 DirToken         :2 ;
	uint16 Reserve0         :2 ;
	uint16 PingPong         :1 ;
	uint16 Paired           :1 ;
	uint16 FunctionAddress  :7 ;
	uint16 Reserved1        :1 ;
	uint16 Reserved2        :8 ;

} SPTDHEADER;*/

typedef struct _SUDEV
{
    uint16 OutTogl;
    uint16 InTogl;
    uint16 epbulkin;
    uint16 epbulkout;
	uint16 wEPMaxPSize[MAX_EP];
    uint8  bNumOfEPs;        		/* actual number endpoint from slave*/
    uint8  bInterfaceCls;          
    uint8  bInterfaceSubCls;
    uint8  bEPAddr[MAX_EP];  		/* bit 7 = 1 = use PID_IN, */
    uint8  bEPAttr[MAX_EP];     		/* ISO | Bulk | Interrupt | Control*/
    uint8  bDataTog[MAX_EP];    		/* DataToggle value*/
	uint8  bak;

} SUDEV;

/***************************定义标准设备请求**************************/
uint8 GetDeviceDesc(uint8 FunAddr);
uint8 SetAddress(uint8 NewAddr);
uint8 GetConfigDesc(void);
uint8 GetAllConfigDesc(uint8 CfgTotalLen);
uint8 GetConfig(void);
uint8 SetConfig(void);
uint8 GetDevEPInfo(void);
uint8 EnumUSBDev(void);
uint8 Ep0Xfer(uint16 * pBuf, uint16 ATLAddr, uint32 Shift);
uint8 CheckPingPong(uint16 PingPongFlag);

#endif

⌨️ 快捷键说明

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