diff options
Diffstat (limited to 'usb-fast-audio-source/fast_source.c')
-rw-r--r-- | usb-fast-audio-source/fast_source.c | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/usb-fast-audio-source/fast_source.c b/usb-fast-audio-source/fast_source.c index 7d20c7e..d9633fe 100644 --- a/usb-fast-audio-source/fast_source.c +++ b/usb-fast-audio-source/fast_source.c @@ -19,6 +19,8 @@ extern const USBDDriverDescriptors auddFastSourceDriverDescriptors; static unsigned char driver_interfaces[3]; static USBDDriver fast_source_driver; +#define EP_NR 6 + /* callback */ void USBDCallbacks_RequestReceived(const USBGenericRequest *request) { @@ -117,24 +119,30 @@ void fastsource_init(void) USBD_Init(); } -const uint8_t test_data[2048]; +const uint8_t test_data[AUDDLoopRecDriver_BYTESPERFRAME] = { + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f }; static void wr_compl_cb(void *arg, unsigned char status, unsigned int transferred, unsigned int remain) { - uint8_t epnr = (uint8_t) arg; + //TRACE_INFO("COMPL: status %u transferred %u remain %u\r\n", status, transferred, remain); + //TRACE_INFO("."); if (status == 0 && remain == 0) { - fastsource_start(epnr); + fastsource_start(); } else { - printf("Err: EP%u wr_compl, status 0x%02u, xfr %u, remain %u\r\n", - epnr, status, transferred, remain); + TRACE_WARNING("Err: EP%u wr_compl, status 0x%02u, xfr %u, remain %u\r\n", + EP_NR, status, transferred, remain); } } -void fastsource_start(uint8_t epnr) +void fastsource_start(void) { - USBD_Write(epnr, &test_data, sizeof(test_data), wr_compl_cb, (void *) epnr); + //TRACE_WARNING("DATA: %02x %02x %02x %02x\r\n", test_data[0], test_data[1], test_data[2], test_data[3]); + USBD_Write(EP_NR, test_data, sizeof(test_data), wr_compl_cb, NULL); } |