USBLibAPIGuide  1.00.00.01
usbhaudio.h
Go to the documentation of this file.
1 //*****************************************************************************
2 //
3 // usbhaudio.h - USB host audio class driver.
4 //
5 // Copyright (c) 2010-2017 Texas Instruments Incorporated. All rights reserved.
6 // Software License Agreement
7 //
8 // Texas Instruments (TI) is supplying this software for use solely and
9 // exclusively on TI's microcontroller products. The software is owned by
10 // TI and/or its suppliers, and is protected under applicable copyright
11 // laws. You may not combine this software with "viral" open-source
12 // software in order to form a larger program.
13 //
14 // THIS SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS.
15 // NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT
16 // NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
17 // A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. TI SHALL NOT, UNDER ANY
18 // CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
19 // DAMAGES, FOR ANY REASON WHATSOEVER.
20 //
21 //*****************************************************************************
22 
23 #ifndef __USBHAUDIO_H__
24 #define __USBHAUDIO_H__
25 
26 //*****************************************************************************
27 //
28 // If building with a C++ compiler, make all of the definitions in this header
29 // have a C binding.
30 //
31 //*****************************************************************************
32 #ifdef __cplusplus
33 extern "C"
34 {
35 #endif
36 
37 //*****************************************************************************
38 //
41 //
42 //*****************************************************************************
43 
44 //*****************************************************************************
45 //
46 // USB host audio specific events
47 //
48 //*****************************************************************************
49 
50 //*****************************************************************************
51 //
55 //
56 //*****************************************************************************
57 #define USBH_AUDIO_EVENT_OPEN (USBH_AUDIO_EVENT_BASE + 0)
58 
59 //*****************************************************************************
60 //
64 //
65 //*****************************************************************************
66 #define USBH_AUDIO_EVENT_CLOSE (USBH_AUDIO_EVENT_BASE + 1)
67 
68 //*****************************************************************************
69 //
70 // This definition is used with the USBHostAudioFormatGet() and
71 // USBHostAudioFormatSet() API's to determine if the audio input is being
72 // accesses(USBH_AUDIO_FORMAT_IN set) or audio output(USBH_AUDIO_FORMAT clear).
73 //
74 //*****************************************************************************
75 #define USBH_AUDIO_FORMAT_IN 0x00000001
76 #define USBH_AUDIO_FORMAT_OUT 0x00000000
77 
78 typedef struct
79 {
80  uint8_t ui8Channels;
81  uint8_t ui8Bits;
82  uint32_t ui32SampleRate;
83 }
85 
87 
88 //*****************************************************************************
89 //
90 // The prototype for the host USB Audio driver callback function.
91 //
92 //*****************************************************************************
93 typedef void (*tUSBHostAudioCallback)(tUSBHostAudioInstance *psAudioInstance,
94  uint32_t ui32Event,
95  uint32_t ui32MsgParam,
96  void *pvMsgData);
97 
98 //*****************************************************************************
99 //
100 // API Function Prototypes
101 //
102 //*****************************************************************************
103 extern tUSBHostAudioInstance * USBHostAudioOpen(uint32_t ui32Index,
104  tUSBHostAudioCallback pfnCallback);
105 extern void USBHostAudioClose(tUSBHostAudioInstance *psAudioInstance);
106 extern int32_t USBHostAudioPlay(tUSBHostAudioInstance *psAudioInstance,
107  void *pvBuffer, uint32_t ui32Size,
108  tUSBHostAudioCallback pfnCallback);
109 
110 extern uint32_t USBHostAudioFormatGet(tUSBHostAudioInstance *psAudioInstance,
111  uint32_t ui32SampleRate,
112  uint32_t ui32Bits, uint32_t ui32Channels,
113  uint32_t ui32Flags);
114 extern uint32_t USBHostAudioFormatSet(tUSBHostAudioInstance *psAudioInstance,
115  uint32_t ui32SampleRate,
116  uint32_t ui32Bits, uint32_t ui32Channels,
117  uint32_t ui32Flags);
118 
119 extern int32_t USBHostAudioRecord(tUSBHostAudioInstance *psAudioInstance,
120  void *pvBuffer, uint32_t ui32Size,
121  tUSBHostAudioCallback pfnAudioCallback);
122 
123 extern uint32_t USBHostAudioVolumeGet(tUSBHostAudioInstance *psAudioInstance,
124  uint32_t ui32Interface,
125  uint32_t ui32Channel);
126 
127 extern void USBHostAudioVolumeSet(tUSBHostAudioInstance *psAudioInstance,
128  uint32_t ui32Interface, uint32_t ui32Channel,
129  uint32_t ui32Value);
130 
131 extern uint32_t USBHostAudioVolumeMaxGet(tUSBHostAudioInstance *psAudioInstance,
132  uint32_t ui32Interface,
133  uint32_t ui32Channel);
134 
135 extern uint32_t USBHostAudioVolumeMinGet(tUSBHostAudioInstance *psAudioInstance,
136  uint32_t ui32Interface,
137  uint32_t ui32Channel);
138 
139 extern uint32_t USBHostAudioVolumeResGet(tUSBHostAudioInstance *psAudioInstance,
140  uint32_t ui32Interface,
141  uint32_t ui32Channel);
142 extern uint32_t USBHostAudioLPMSleep(tUSBHostAudioInstance *psAudioInstance);
143 extern uint32_t USBHostAudioLPMStatus(tUSBHostAudioInstance *psAudioInstance);
144 
145 //*****************************************************************************
146 //
148 //
149 //*****************************************************************************
150 
151 //*****************************************************************************
152 //
153 // Mark the end of the C bindings section for C++ compilers.
154 //
155 //*****************************************************************************
156 #ifdef __cplusplus
157 }
158 #endif
159 
160 #endif
161 
uint32_t USBHostAudioFormatGet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32SampleRate, uint32_t ui32Bits, uint32_t ui32Channels, uint32_t ui32Flags)
Definition: usbhaudio.c:1246
void(* tUSBHostAudioCallback)(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Event, uint32_t ui32MsgParam, void *pvMsgData)
Definition: usbhaudio.h:93
uint32_t USBHostAudioVolumeGet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Interface, uint32_t ui32Channel)
Definition: usbhaudio.c:1047
uint32_t USBHostAudioVolumeMinGet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Interface, uint32_t ui32Channel)
Definition: usbhaudio.c:1111
uint32_t USBHostAudioFormatSet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32SampleRate, uint32_t ui32Bits, uint32_t ui32Channels, uint32_t ui32Flags)
Definition: usbhaudio.c:1290
struct tUSBHostAudioInstance tUSBHostAudioInstance
Definition: usbhaudio.h:86
Definition: usbhaudio.h:78
uint32_t USBHostAudioVolumeMaxGet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Interface, uint32_t ui32Channel)
Definition: usbhaudio.c:1079
uint32_t ui32SampleRate
Definition: usbhaudio.h:82
uint8_t ui8Channels
Definition: usbhaudio.h:80
uint32_t USBHostAudioLPMStatus(tUSBHostAudioInstance *psAudioInstance)
Definition: usbhaudio.c:1540
int32_t USBHostAudioPlay(tUSBHostAudioInstance *psAudioInstance, void *pvBuffer, uint32_t ui32Size, tUSBHostAudioCallback pfnCallback)
Definition: usbhaudio.c:1363
void USBHostAudioVolumeSet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Interface, uint32_t ui32Channel, uint32_t ui32Value)
Definition: usbhaudio.c:1176
int32_t USBHostAudioRecord(tUSBHostAudioInstance *psAudioInstance, void *pvBuffer, uint32_t ui32Size, tUSBHostAudioCallback pfnCallback)
Definition: usbhaudio.c:1439
uint32_t USBHostAudioVolumeResGet(tUSBHostAudioInstance *psAudioInstance, uint32_t ui32Interface, uint32_t ui32Channel)
Definition: usbhaudio.c:1143
uint32_t USBHostAudioLPMSleep(tUSBHostAudioInstance *psAudioInstance)
Definition: usbhaudio.c:1512
void USBHostAudioClose(tUSBHostAudioInstance *psAudioInstance)
Definition: usbhaudio.c:946
uint8_t ui8Bits
Definition: usbhaudio.h:81
tUSBHostAudioInstance * USBHostAudioOpen(uint32_t ui32Index, tUSBHostAudioCallback pfnCallback)
Definition: usbhaudio.c:907
© Copyright 1995-2020, Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy policy | Terms of use | Terms of sale