refactor usb device intf and ep register

This commit is contained in:
sakumisu
2022-08-20 16:20:23 +08:00
parent 523d33506d
commit 3c94fca8d8
36 changed files with 326 additions and 541 deletions

View File

@@ -154,18 +154,13 @@ void usbd_audio_close(uint8_t intf)
}
}
static usbd_class_t audio_class;
static usbd_interface_t audio_control_intf;
static usbd_interface_t audio_stream_intf;
static usbd_interface_t audio_stream_intf2;
#ifdef CONFIG_USB_HS
#define AUDIO_OUT_EP_MPS 512
#else
#define AUDIO_OUT_EP_MPS 64
#endif
USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
void usbd_configure_done_callback(void)
{
@@ -182,12 +177,12 @@ void usbd_audio_in_callback(uint8_t ep, uint32_t bytes)
{
}
static usbd_endpoint_t audio_in_ep = {
static struct usbd_endpoint audio_in_ep = {
.ep_cb = usbd_audio_in_callback,
.ep_addr = AUDIO_IN_EP
};
static usbd_endpoint_t audio_out_ep = {
static struct usbd_endpoint audio_out_ep = {
.ep_cb = usbd_audio_out_callback,
.ep_addr = AUDIO_OUT_EP
};
@@ -195,11 +190,12 @@ static usbd_endpoint_t audio_out_ep = {
void audio_init()
{
usbd_desc_register(audio_descriptor);
usbd_audio_add_interface(&audio_class, &audio_control_intf);
usbd_audio_add_interface(&audio_class, &audio_stream_intf);
usbd_audio_add_interface(&audio_class, &audio_stream_intf2);
usbd_interface_add_endpoint(&audio_stream_intf, &audio_in_ep);
usbd_interface_add_endpoint(&audio_stream_intf2, &audio_out_ep);
usbd_add_interface(usbd_audio_alloc_intf());
usbd_add_interface(usbd_audio_alloc_intf());
usbd_add_interface(usbd_audio_alloc_intf());
usbd_add_endpoint(&audio_in_ep);
usbd_add_endpoint(&audio_out_ep);
usbd_audio_add_entity(0x02, AUDIO_CONTROL_FEATURE_UNIT);
usbd_audio_add_entity(0x05, AUDIO_CONTROL_FEATURE_UNIT);