diff --git a/firmware/usbcdc/cdcuser.c b/firmware/usbcdc/cdcuser.c index fbbb5af..85fd77d 100644 --- a/firmware/usbcdc/cdcuser.c +++ b/firmware/usbcdc/cdcuser.c @@ -342,7 +342,7 @@ void CDC_BulkIn(void) { int numBytesRead, numBytesAvail; CDC_InBufAvailChar(&numBytesAvail); - numBytesRead = CDC_RdInBuf(&BulkBufIn[0], &numBytesAvail); + numBytesRead = CDC_RdInBuf((char*)&BulkBufIn[0], &numBytesAvail); // send over USB if (numBytesRead > 0) { //gpioSetValue (RB_LED0, 1); diff --git a/firmware/usbcdc/cdcuser.h b/firmware/usbcdc/cdcuser.h index 4a2a82b..d491b93 100644 --- a/firmware/usbcdc/cdcuser.h +++ b/firmware/usbcdc/cdcuser.h @@ -24,6 +24,7 @@ extern int CDC_RdOutBuf (char *buffer, const int *length); extern int CDC_WrOutBuf (const char *buffer, int *length); extern int CDC_OutBufAvailChar (int *availChar); +extern int CDC_WrInBuf (const char *buffer, int *length); /* CDC Data In/Out Endpoint Address */ #define CDC_DEP_IN 0x83 diff --git a/firmware/usbcdc/util.c b/firmware/usbcdc/util.c index 5f3a69a..d2c0c03 100644 --- a/firmware/usbcdc/util.c +++ b/firmware/usbcdc/util.c @@ -1,4 +1,5 @@ #include +#include #include "usbcdc/usb.h" #include "usbcdc/usbcore.h" @@ -6,13 +7,6 @@ #include "usbcdc/usbhw.h" #include "usbcdc/cdcuser.h" -#include "basic/basic.h" - -volatile unsigned int lastTick; - -// There must be at least 1ms between USB frames (of up to 64 bytes) -// This buffers all data and writes it out from the buffer one frame -// and one millisecond at a time int puts(const char * str){ if(!USB_Configuration) return -1; @@ -23,16 +17,10 @@ int puts(const char * str){ } int puts_plus(const char * str){ - if(!USB_Configuration) - return -1; - - int len = strlen(str); - CDC_WrInBuf(str, &len); - return 0; + return puts(str); } void usbCDCInit(){ - lastTick = systickGetTicks(); // Used to control output/printf timing CDC_Init(); // Initialise VCOM USB_Init(); // USB Initialization USB_Connect(TRUE); // USB Connect