]> git.sur5r.net Git - freertos/blob
8fb41f798ecab9582026848338f6162964b4e3ca
[freertos] /
1 /*
2  * @brief Audio device class ROM based application's specific functions supporting audio class layer
3  *
4  * @note
5  * Copyright(C) NXP Semiconductors, 2012
6  * All rights reserved.
7  *
8  * @par
9  * Software that is described herein is for illustrative purposes only
10  * which provides customers with programming information regarding the
11  * LPC products.  This software is supplied "AS IS" without any warranties of
12  * any kind, and NXP Semiconductors and its licensor disclaim any and
13  * all warranties, express or implied, including all implied warranties of
14  * merchantability, fitness for a particular purpose and non-infringement of
15  * intellectual property rights.  NXP Semiconductors assumes no responsibility
16  * or liability for the use of the software, conveys no license or rights under any
17  * patent, copyright, mask work right, or any other intellectual property rights in
18  * or to any products. NXP Semiconductors reserves the right to make changes
19  * in the software without notification. NXP Semiconductors also makes no
20  * representation or warranty that such application will be suitable for the
21  * specified use without further testing or modification.
22  *
23  * @par
24  * Permission to use, copy, modify, and distribute this software and its
25  * documentation is hereby granted, under NXP Semiconductors' and its
26  * licensor's relevant copyrights in the software, without fee, provided that it
27  * is used in conjunction with NXP Semiconductors microcontrollers.  This
28  * copyright, permission, and disclaimer notice must appear in all copies of
29  * this code.
30  */
31
32 #ifndef __ADC_USER_H__
33 #define __ADC_USER_H__
34
35 //#include "error.h"
36 //#include "usbd.h"
37 #include "usbd_adc.h"
38
39 #ifdef __cplusplus
40 extern "C" {
41 #endif
42
43 /** @defgroup Audio_Input_Device_ROM_Based_Audio_Device_Class ROM based class audio
44  * @ingroup Audio_Input_Device_ROM_Based
45  * @{
46  */
47
48
49 /**
50  * @brief       Initialize ROM based audio device class
51  * @return      Nothing
52  */
53 extern void UsbdAdc_Init(USB_ClassInfo_Audio_Device_t* AudioInterface);
54
55 /**
56  * @brief       Start streaming audio data
57  * @return      Nothing
58  */
59 extern void UsbdAdc_start_xfr(void);
60
61 /**
62  * @brief       Stop streaming audio data
63  * @return      Nothing
64  */
65 extern void UsbdAdc_stop_xfr(void);
66
67 /**
68  * @brief       Determind start or stop transfer audio data
69  * @param       hUsb                    : Global USB ROM based handle variable
70  * @return      ErrorCode_t             : LPC_OK for success
71  */
72 extern ErrorCode_t USB_Interface_Event (USBD_HANDLE_T hUsb);
73
74 /**
75  * @brief       Handle response to IN isochronous coming packets
76  * @param       hUsb            : Global USB ROM based handle variable
77  * @param       data            : Pointer point to buffer storing received data
78  * @param       event           : USB_EVT_IN only acceptable value
79  * @return      ErrorCode_t     : LPC_OK for success
80  */
81 extern ErrorCode_t UsbdAdc_ISO_Hdlr (USBD_HANDLE_T hUsb, void* data, uint32_t event);
82
83 /**
84  * @brief       Handle response to standard requests (chapter9) from host
85  * @param       hUsb            : Global USB ROM based handle variable
86  * @param       data            : no used
87  * @param       event           : USB_EVT_OUT, USB_EVT_SETUP
88  * @return      ErrorCode_t     : LPC_OK for success, ERR_USBD_UNHANDLED otherwise
89  */
90 extern ErrorCode_t UsbdAdc_ep0_hdlr(USBD_HANDLE_T hUsb, void* data, uint32_t event);
91
92 /**
93  * @}
94  */
95
96 #ifdef __cplusplus
97 }
98 #endif
99
100 #endif  /* __ADC_USER_H__ */