增加所有文件
This commit is contained in:
230
middleware/usb/uC-USBD/Class/PHDC/usbd_phdc.h
Normal file
230
middleware/usb/uC-USBD/Class/PHDC/usbd_phdc.h
Normal file
@@ -0,0 +1,230 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* uC/USB-Device
|
||||
* The Embedded USB Device Stack
|
||||
*
|
||||
* Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com
|
||||
*
|
||||
* SPDX-License-Identifier: APACHE-2.0
|
||||
*
|
||||
* This software is subject to an open source license and is distributed by
|
||||
* Silicon Laboratories Inc. pursuant to the terms of the Apache License,
|
||||
* Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
|
||||
*
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* USB DEVICE PHDC CLASS
|
||||
*
|
||||
* Filename : usbd_phdc.h
|
||||
* Version : V4.06.01
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef USBD_PHDC_CLASS_MODULE_PRESENT
|
||||
#define USBD_PHDC_CLASS_MODULE_PRESENT
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* INCLUDE FILES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include "../../Source/usbd_core.h"
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* EXTERNS
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef USBD_PHDC_MODULE
|
||||
#define USBD_PHDC_EXT
|
||||
#else
|
||||
#define USBD_PHDC_EXT extern
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* DEFINES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#define USBD_PHDC_NBR_NONE DEF_INT_08U_MAX_VAL
|
||||
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* LATENCY / RELIABILITY BITMAPS
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#define USBD_PHDC_LATENCY_VERYHIGH_RELY_BEST DEF_BIT_05
|
||||
#define USBD_PHDC_LATENCY_HIGH_RELY_BEST DEF_BIT_04
|
||||
#define USBD_PHDC_LATENCY_MEDIUM_RELY_BEST DEF_BIT_03
|
||||
#define USBD_PHDC_LATENCY_MEDIUM_RELY_BETTER DEF_BIT_02
|
||||
#define USBD_PHDC_LATENCY_MEDIUM_RELY_GOOD DEF_BIT_01
|
||||
#define USBD_PHDC_LATENCY_LOW_RELY_GOOD DEF_BIT_00
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* DATA TYPES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
typedef CPU_INT08U LATENCY_RELY_FLAGS;
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* ASYNCHRONOUS CALLBACK FUNCTION DATA TYPE
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
typedef void (*USBD_PHDC_PREAMBLE_EN_NOTIFY)(CPU_INT08U class_nbr,
|
||||
CPU_BOOLEAN preamble_en);
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MACRO'S
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* FUNCTION PROTOTYPES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* APPLICATION FUNCTION PROTOTYPES
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
void USBD_PHDC_Init ( USBD_ERR *p_err);
|
||||
|
||||
CPU_INT08U USBD_PHDC_Add ( CPU_BOOLEAN data_fmt_11073,
|
||||
CPU_BOOLEAN preamble_capable,
|
||||
USBD_PHDC_PREAMBLE_EN_NOTIFY preamble_en_notify,
|
||||
CPU_INT16U low_latency_interval,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
CPU_BOOLEAN USBD_PHDC_CfgAdd ( CPU_INT08U class_nbr,
|
||||
CPU_INT08U dev_nbr,
|
||||
CPU_INT08U cfg_nbr,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
CPU_BOOLEAN USBD_PHDC_IsConn ( CPU_INT08U class_nbr);
|
||||
|
||||
void USBD_PHDC_RdCfg ( CPU_INT08U class_nbr,
|
||||
LATENCY_RELY_FLAGS latency_rely,
|
||||
const CPU_INT08U *p_data_opaque,
|
||||
CPU_INT08U data_opaque_len,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
void USBD_PHDC_WrCfg ( CPU_INT08U class_nbr,
|
||||
LATENCY_RELY_FLAGS latency_rely,
|
||||
const CPU_INT08U *p_data_opaque,
|
||||
CPU_INT08U data_opaque_len,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
void USBD_PHDC_11073_ExtCfg( CPU_INT08U class_nbr,
|
||||
CPU_INT16U *p_dev_specialization,
|
||||
CPU_INT08U nbr_dev_specialization,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
CPU_INT08U USBD_PHDC_PreambleRd ( CPU_INT08U class_nbr,
|
||||
void *p_buf,
|
||||
CPU_INT08U buf_len,
|
||||
CPU_INT08U *p_nbr_xfer,
|
||||
CPU_INT16U timeout,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
CPU_INT16U USBD_PHDC_Rd ( CPU_INT08U class_nbr,
|
||||
void *p_buf,
|
||||
CPU_INT16U buf_len,
|
||||
CPU_INT16U timeout,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
void USBD_PHDC_PreambleWr ( CPU_INT08U class_nbr,
|
||||
void *p_data_opaque,
|
||||
CPU_INT08U data_opaque_len,
|
||||
LATENCY_RELY_FLAGS latency_rely,
|
||||
CPU_INT08U nbr_xfers,
|
||||
CPU_INT16U timeout,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
void USBD_PHDC_Wr ( CPU_INT08U class_nbr,
|
||||
void *p_buf,
|
||||
CPU_INT16U buf_len,
|
||||
LATENCY_RELY_FLAGS latency_rely,
|
||||
CPU_INT16U timeout,
|
||||
USBD_ERR *p_err);
|
||||
|
||||
void USBD_PHDC_Reset ( CPU_INT08U class_nbr);
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* CONFIGURATION ERRORS
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
#ifndef USBD_PHDC_CFG_MAX_NBR_DEV
|
||||
#error "USBD_PHDC_CFG_MAX_NBR_DEV not #define'd in 'usbd_cfg.h' [MUST be >= 1]"
|
||||
#endif
|
||||
|
||||
#if (USBD_PHDC_CFG_MAX_NBR_DEV < 1u)
|
||||
#error "USBD_PHDC_CFG_MAX_NBR_DEV illegally #define'd in 'usbd_cfg.h' [MUST be >= 1]"
|
||||
#endif
|
||||
|
||||
#ifndef USBD_PHDC_CFG_MAX_NBR_CFG
|
||||
#error "USBD_PHDC_CFG_MAX_NBR_CFG not #define'd in 'usbd_cfg.h' [MUST be >= 1]"
|
||||
#endif
|
||||
|
||||
#if (USBD_PHDC_CFG_MAX_NBR_CFG < 1u)
|
||||
#error "USBD_PHDC_CFG_MAX_NBR_CFG illegally #define'd in 'usbd_cfg.h' [MUST be >= 1]"
|
||||
#endif
|
||||
|
||||
#ifndef USBD_PHDC_CFG_DATA_OPAQUE_MAX_LEN
|
||||
#error "USBD_PHDC_CFG_DATA_OPAQUE_MAX_LEN not #define'd in 'usbd_cfg.h' [MUST be >= 0]"
|
||||
#endif
|
||||
|
||||
#if (USBD_PHDC_CFG_DATA_OPAQUE_MAX_LEN < 0u)
|
||||
#error "USBD_PHDC_CFG_DATA_OPAQUE_MAX_LEN illegally #define'd in 'usbd_cfg.h' [MUST be >= 0]"
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* MODULE END
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user