summaryrefslogtreecommitdiff
path: root/usb-fast-audio-source/fast_source.c
diff options
context:
space:
mode:
Diffstat (limited to 'usb-fast-audio-source/fast_source.c')
-rw-r--r--usb-fast-audio-source/fast_source.c22
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);
}
personal git repositories of Harald Welte. Your mileage may vary