📄 usbd_sampletask.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 + -