void serialUsbInput() { serialUsbPrintln("(waiting for input...)"); toggle = 0; while(!usbBytesAvailable()) { toggle ^= 1; digitalWrite(LED_PIN, toggle); delay(100); } input = serialUsbRead(); serialUsbPrintlnChar(input); toggle = 0; digitalWrite(LED_PIN, toggle); }
uint32_t usbReceiveBytes(uint8_t* recvBuf, uint32_t len) { int newBytes = usbBytesAvailable(); if (len > newBytes) { len = newBytes; } int i; for (i=0;i<len;i++) { recvBuf[i] = VCPGetByte(); } return len; }
void usbSendHello(void) { uint8 bufin = 48 + recvBufIn;; uint8 bufout = 48 + recvBufOut; uint8 avail = 48 + usbBytesAvailable(); char *line = "\r\n"; while(usbSendBytes(&bufin,1) == 0); while(usbSendBytes(&bufout,1) == 0); while(usbSendBytes(&avail,1) == 0); while(usbSendBytes((uint8*)line,2) == 0); uint8 recv[64]; usbReceiveBytes(&recv[0],1); }
uint32 USBSerial::available(void) { if (gbUsbVcpStatus == USB_PORT_CLOSE) { //[ROBOTIS]2012-12-19 to prevent USB Blocking issue! return 0; } return usbBytesAvailable(); }