增加所有文件
This commit is contained in:
231
middleware/usb/uC-USBD/Class/Audio/usbd_audio_processing.h
Normal file
231
middleware/usb/uC-USBD/Class/Audio/usbd_audio_processing.h
Normal file
@@ -0,0 +1,231 @@
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 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 AUDIO CLASS
|
||||
*
|
||||
* Filename : usbd_audio_processing.h
|
||||
* Version : V4.06.01
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* MODULE
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef USBD_AUDIO_PROCESSING_MODULE_PRESENT
|
||||
#define USBD_AUDIO_PROCESSING_MODULE_PRESENT
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* INCLUDE FILES
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#include "../../Source/usbd_core.h"
|
||||
#include "usbd_audio.h"
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* EXTERNS
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef USBD_AUDIO_PROCESSING_MODULE
|
||||
#define USBD_AUDIO_PROCESSING_EXT
|
||||
#else
|
||||
#define USBD_AUDIO_PROCESSING_EXT extern
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* DEFINES
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* DATA TYPES
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* MACRO'S
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* FUNCTION PROTOTYPES
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#if (USBD_AUDIO_CFG_RECORD_EN == DEF_ENABLED)
|
||||
void *USBD_Audio_RecordBufGet (USBD_AUDIO_AS_HANDLE as_handle,
|
||||
CPU_INT16U *p_buf_len);
|
||||
|
||||
void USBD_Audio_RecordRxCmpl (USBD_AUDIO_AS_HANDLE as_handle);
|
||||
|
||||
void USBD_Audio_RecordBufFree (USBD_AUDIO_AS_HANDLE as_handle,
|
||||
void *p_buf);
|
||||
#endif
|
||||
|
||||
#if (USBD_AUDIO_CFG_PLAYBACK_EN == DEF_ENABLED)
|
||||
void USBD_Audio_PlaybackTxCmpl (USBD_AUDIO_AS_HANDLE as_handle);
|
||||
|
||||
void USBD_Audio_PlaybackBufFree(USBD_AUDIO_AS_HANDLE as_handle,
|
||||
void *p_buf);
|
||||
#endif
|
||||
|
||||
#if (USBD_AUDIO_CFG_STAT_EN == DEF_ENABLED)
|
||||
USBD_AUDIO_STAT *USBD_Audio_StatGet (USBD_AUDIO_AS_HANDLE as_handle);
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* AUDIO STATISTICS MACRO'S
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#if (USBD_AUDIO_CFG_STAT_EN == DEF_ENABLED)
|
||||
#define USBD_AUDIO_STAT_INC(ctr) { \
|
||||
(ctr)++; \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_PROT_INC(ctr) { \
|
||||
CPU_CRITICAL_ENTER(); \
|
||||
(ctr)++; \
|
||||
CPU_CRITICAL_EXIT(); \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_DRV_STAT_INC(as_handle, ctr) { \
|
||||
USBD_AUDIO_STAT *__p_audio_stat; \
|
||||
\
|
||||
__p_audio_stat = USBD_Audio_StatGet((as_handle)); \
|
||||
__p_audio_stat->ctr++; \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_DEC(ctr) { \
|
||||
(ctr)--; \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_PROT_DEC(ctr) { \
|
||||
CPU_CRITICAL_ENTER(); \
|
||||
(ctr)--; \
|
||||
CPU_CRITICAL_EXIT(); \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_MAX(ctr, max) { \
|
||||
if ((ctr) > (max)) { \
|
||||
(max) = (ctr); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_PROT_MAX(ctr, max) { \
|
||||
CPU_CRITICAL_ENTER(); \
|
||||
if ((ctr) > (max)) { \
|
||||
(max) = (ctr); \
|
||||
} \
|
||||
CPU_CRITICAL_EXIT(); \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_MIN(ctr, min) { \
|
||||
if ((ctr) < (min)) { \
|
||||
(min) = (ctr); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_PROT_MIN(ctr, min) { \
|
||||
CPU_CRITICAL_ENTER(); \
|
||||
if ((ctr) < (min)) { \
|
||||
(min) = (ctr); \
|
||||
} \
|
||||
CPU_CRITICAL_EXIT(); \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_ADD(ctr, add) { \
|
||||
(ctr) += (add); \
|
||||
}
|
||||
|
||||
#define USBD_AUDIO_STAT_RESET(ctr) { \
|
||||
(ctr) = 0u; \
|
||||
}
|
||||
|
||||
#else
|
||||
#define USBD_AUDIO_STAT_INC(ctr)
|
||||
#define USBD_AUDIO_STAT_PROT_INC(ctr)
|
||||
#define USBD_AUDIO_DRV_STAT_INC(as_handle, ctr)
|
||||
#define USBD_AUDIO_STAT_DEC(ctr)
|
||||
#define USBD_AUDIO_STAT_PROT_DEC(ctr)
|
||||
#define USBD_AUDIO_STAT_MAX(ctr, max)
|
||||
#define USBD_AUDIO_STAT_PROT_MAX(ctr, max)
|
||||
#define USBD_AUDIO_STAT_ADD(ctr, add)
|
||||
#define USBD_AUDIO_STAT_RESET(ctr)
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* CONFIGURATION ERRORS
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
* MODULE END
|
||||
*********************************************************************************************************
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user