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

📄 usbd_sampletask.h

📁 epson usb2.0 控制芯片 S1R72V05 固件程序。
💻 H
字号:
/*
 *	description	:
 *	Maker		:
 *	Copyright	: (C)2003,SEIKO EPSON Corp. All Rights Reserved.
 */

#ifndef USBD_SAMPLE_TSK_H
#define USBD_SAMPLE_TSK_H

#include <SampleTask.h>
#include <usbd_SampleTaskAPI.h>

//==========================================================================//
//--------------------------------------------------------------------------//
//							 Necessary for RTOS, 							//
//--------------------------------------------------------------------------//
// Task  					:  HostSampleTask								//
// Fixed length memory block:  MPF_ID_MSGUSBD_SAMPLE						//
// Mailbox					:  MBX_ID_USBD_SAMPLE							//
// Event flag				:  FLG_ID_USBD_SAMPLE							//
//==========================================================================//
//==========================================================================//
 #define	MSGUSBDSMP_DATSIZE				(32)/* Size of message data */

// Structure declaration of mailbox header


//--------------------------------------------------------------------------
// HostSample IRQ number
//--------------------------------------------------------------------------
#ifdef TOYA2_C
	#define USBD_SAMPLE_CHIP_INT (8)							// IRQ 8
#else
	#define USBD_SAMPLE_CHIP_INT (20)							// IRQ 20(undecided)
#endif

//--------------------------------------------------------------------------
// Setting value for task
//--------------------------------------------------------------------------
/* SAMPLE task */
#define TSK_EXINFO_USBD_SAMPLE					(NULL)			// Extension information
#define TSK_ATTRIBUTE_USBD_SAMPLE				(OS_TA_HLNG)	// Attribute
#define TSK_PRIORITY_USBD_SAMPLE				(4)				// Priority order
#define TSK_STACK_SIZE_USBD_SAMPLE				(1024)			// Stack size
#define TSK_STACK_ADD_USBD_SAMPLE				(0)				// Stack address
/* USB task */
#define TSK_EXINFO_USBD_USBD					(NULL)			// Extension information
#define TSK_ATTRIBUTE_USBD_USBD					(OS_TA_HLNG)	// Attribute
#define TSK_PRIORITY_USBD_USBD					(4)				// Priority order
#define TSK_STACK_SIZE_USBD_USBD				(1024)			// Stack size
#define TSK_STACK_ADD_USBD_USBD					(0)				// Stack address

//--------------------------------------------------------------------------
// Fixed length memory pool for message transmission
//--------------------------------------------------------------------------
#define MPF_ATTRIBUTE_USBD_SAMPLE_MSG			(OS_TA_TFIFO)	// Attribute
#define MPF_BLOCK_CNT_USBD_SAMPLE_MSG			(8)				// Number of block
#define MPF_BLOCK_SIZE_USBD_SAMPLE_MSG			(44 + TMSGSIZE)	// Size of block
#define MPF_BLOCK_ADD_USBD_SAMPLE_MSG			(NULL)			// Address of block

//--------------------------------------------------------------------------
// Fixed length memory pool for data transmission
//--------------------------------------------------------------------------
// DATA64
#define MPF_ATTRIBUTE_USBD_SAMPLE_DATA64		(OS_TA_TFIFO)	// Attribute
#define MPF_BLOCK_CNT_USBD_SAMPLE_DATA64		(2)				// Number of block
#define MPF_BLOCK_SIZE_USBD_SAMPLE_DATA64		(64)			// Size of block
#define MPF_BLOCK_ADD_USBD_SAMPLE_DATA64		(NULL)			// Address of block
// DATA128
#define MPF_ATTRIBUTE_USBD_SAMPLE_DATA128		(OS_TA_TFIFO)	// Attribute
#define MPF_BLOCK_CNT_USBD_SAMPLE_DATA128		(2)				// Number of block
#define MPF_BLOCK_SIZE_USBD_SAMPLE_DATA128		(128)			// Size of block
#define MPF_BLOCK_ADD_USBD_SAMPLE_DATA128		(NULL)			// Address of block
// DATA256
#define MPF_ATTRIBUTE_USBD_SAMPLE_DATA256		(OS_TA_TFIFO)	// Attribute
#define MPF_BLOCK_CNT_USBD_SAMPLE_DATA256		(2)				// Number of block
#define MPF_BLOCK_SIZE_USBD_SAMPLE_DATA256		(256)			// Size of block
#define MPF_BLOCK_ADD_USBD_SAMPLE_DATA256		(NULL)			// Address of block
// DATA512
#define MPF_ATTRIBUTE_USBD_SAMPLE_DATA512		(OS_TA_TFIFO)	// Attribute
#define MPF_BLOCK_CNT_USBD_SAMPLE_DATA512		(1)				// Number of block
#define MPF_BLOCK_SIZE_USBD_SAMPLE_DATA512		(512)			// Size of block
#define MPF_BLOCK_ADD_USBD_SAMPLE_DATA512		(NULL)			// Address of block

//--------------------------------------------------------------------------
// Mailbox
//--------------------------------------------------------------------------
#define MBX_ATTRIBUTE_USBD_SAMPLE				(OS_TA_TFIFO)	// Attribute
#define MBX_MAX_PRI_USBD_SAMPLE					(1)				// Maximum value of priority
#define MBX_PRI_ADD_USBD_SAMPLE					(NULL)			// Address of message queue header

#define	MSGUSBD_SAMPLE_DATASIZE					(32)			// Size of message data

#define MPF_DATA64_SIZE							(64)			// Data area(64 bytes)
#define MPF_DATA128_SIZE						(128)			// Data area(128 bytes)
#define MPF_DATA256_SIZE						(256)			// Data area(256 bytes)
#define MPF_DATA512_SIZE						(512)			// Data area(512 bytes)

// Structure declaration for mailbox
typedef struct _USBD_SAMPLE_MSG{				/* HostSample task mailbox 	   */
	MSGHEAD		msgHead;						/* Message header 		*/
	UCHAR		msgData[MSGUSBD_SAMPLE_DATASIZE];	/* Message data			*/
} USBD_SAMPLE_MSG, *PUSBD_SAMPLE_MSG;

//--------------------------------------------------------------------------
// Event flag of HostSample
//--------------------------------------------------------------------------
#define FLG_ATTRIBUTE_USBD_SAMPLE				(OS_TA_TFIFO)	// Attribute
#define FLG_PATTERN_USBD_SAMPLE					(0)				// Initial value of bit pattern
// Bit definition for event flag
#define	FLG_EVENT_FORCE_USBD_SAMPLE				0x80000000		// (bit31) Force process event
#define	FLG_EVENT_INT_USBD_SAMPLE				0x08000000		// (bit27) Interrupt process event
#define	FLG_EVENT_MSG_USBD_SAMPLE				0x00000001		// (bit0 ) Message process event

#define	FLG_EVENT_USBD_SAMPLE_API_CALLBACK		0x00004000		// (bit14) Event of USB Reset finish
#define	FLG_EVENT_USBD_SAMPLE_URB_CALLBACK		0x00008000		// (bit15) Event of USB Reset end finish
#define	FLG_EVENT_USBRESET_CMP_USBD_SAMPLE		0x00010000		// (bit16) Event of USB Reset end finish
#define	FLG_EVENT_URB_CMP_USBD_SAMPLE			0x00020000		// (bit17) Event of URB transfer finish
#define	FLG_EVENT_USBDINIT_CMP_USBD_SAMPLE		0x00040000		// (bit18) Event of USBD initialization finish
#define	FLG_EVENT_UNLINKURB_CMP_USBD_SAMPLE		0x00080000		// (bit19) Event of UnlinkURB finish
#define	FLG_EVENT_SUBMITURB_CMP_USBD_SAMPLE		0x00100000		// (bit20) Event of SubmitURB finish


#define FLG_WAIT_PTN_USBD_SAMPLE		( FLG_EVENT_FORCE_USBD_SAMPLE | FLG_EVENT_INT_USBD_SAMPLE | FLG_EVENT_MSG_USBD_SAMPLE |\
										  FLG_EVENT_USBRESET_CMP_USBD_SAMPLE | FLG_EVENT_URB_CMP_USBD_SAMPLE |\
										  FLG_EVENT_USBDINIT_CMP_USBD_SAMPLE | FLG_EVENT_UNLINKURB_CMP_USBD_SAMPLE|\
										  FLG_EVENT_USBD_SAMPLE_API_CALLBACK | FLG_EVENT_USBD_SAMPLE_URB_CALLBACK |\
										  FLG_EVENT_SUBMITURB_CMP_USBD_SAMPLE )


//==========================================================================//
//																			//
// 						Structure declaration							//
//																			//
//==========================================================================//


// DeviceSample information
typedef struct _USBD_SAMPLE_MODULE_INFO {
	UCHAR					state;				// State of task
	USBD_SAMPLE_PFN_CALLBACK_PROC pfnMsgProc;	// Address of callback to other module
} USBD_SAMPLE_MODULE_INFO, *PUSBD_SAMPLE_MODULE_INFO;
/*
 * Function prototype declaration
 */
extern void USBD_SampleTask( void );


#endif /* USBD_SAMPLE_TSK_H */

⌨️ 快捷键说明

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