fix audio first start read

This commit is contained in:
sakimisu
2022-12-02 21:10:18 +08:00
parent 6c5be4aa1f
commit 7e749a8a7b
3 changed files with 20 additions and 19 deletions

View File

@@ -130,6 +130,9 @@ const uint8_t audio_descriptor[] = {
0x00
};
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[2048];
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_PACKET];
volatile bool tx_flag = 0;
volatile bool rx_flag = 0;
@@ -137,6 +140,8 @@ void usbd_audio_open(uint8_t intf)
{
if (intf == 1) {
rx_flag = 1;
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_PACKET);
printf("OPEN1\r\n");
} else {
tx_flag = 1;
@@ -160,15 +165,10 @@ void usbd_audio_close(uint8_t intf)
#define AUDIO_OUT_EP_MPS 64
#endif
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t write_buffer[2048];
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_PACKET];
volatile bool ep_tx_busy_flag = false;
void usbd_configure_done_callback(void)
{
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_PACKET);
}
void usbd_audio_out_callback(uint8_t ep, uint32_t nbytes)
@@ -216,11 +216,11 @@ void audio_test()
{
while (1) {
if (tx_flag) {
// memset(write_buffer, 'a', 2048);
// ep_tx_busy_flag = true;
// usbd_ep_start_write(AUDIO_IN_EP, write_buffer, 2048);
// while (ep_tx_busy_flag) {
// }
// memset(write_buffer, 'a', 2048);
// ep_tx_busy_flag = true;
// usbd_ep_start_write(AUDIO_IN_EP, write_buffer, 2048);
// while (ep_tx_busy_flag) {
// }
}
}
}

View File

@@ -192,6 +192,8 @@ uint8_t audio_descriptor[] = {
0x00
};
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
volatile bool tx_flag = 0;
volatile bool rx_flag = 0;
@@ -199,6 +201,8 @@ void usbd_audio_open(uint8_t intf)
{
if (intf == 1) {
rx_flag = 1;
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_EP_MPS);
USB_LOG_RAW("OPEN1\r\n");
} else {
tx_flag = 1;
@@ -236,12 +240,8 @@ void usbd_audio_set_sampling_freq(uint8_t entity_id, uint8_t ep_ch, uint32_t sam
#define AUDIO_OUT_EP_MPS 64
#endif
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
void usbd_configure_done_callback(void)
{
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_EP_MPS);
}
void usbd_audio_iso_out_callback(uint8_t ep, uint32_t nbytes)

View File

@@ -14,7 +14,7 @@
#define AUDIO_OUT_EP 0x01
#define AUDIO_FREQ 48000
#define AUDIO_FREQ 48000
#define HALF_WORD_BYTES 2 //2 half word (one channel)
#define SAMPLE_BITS 16 //16 bit per channel
@@ -146,11 +146,16 @@ const uint8_t audio_descriptor[] = {
#endif
0x00
};
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
volatile bool rx_flag = 0;
void usbd_audio_open(uint8_t intf)
{
rx_flag = 1;
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_EP_MPS);
USB_LOG_RAW("OPEN\r\n");
}
void usbd_audio_close(uint8_t intf)
@@ -165,12 +170,8 @@ void usbd_audio_close(uint8_t intf)
#define AUDIO_OUT_EP_MPS 64
#endif
USB_NOCACHE_RAM_SECTION USB_MEM_ALIGNX uint8_t out_buffer[AUDIO_OUT_EP_MPS];
void usbd_configure_done_callback(void)
{
/* setup first out ep read transfer */
usbd_ep_start_read(AUDIO_OUT_EP, out_buffer, AUDIO_OUT_EP_MPS);
}
void usbd_audio_iso_out_callback(uint8_t ep, uint32_t nbytes)