aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/USBCore.cpp
AgeCommit message (Collapse)Author
2016-08-28remove extra semicolonKyle Chisholm
I was compiling with -Werror and this little error popped up
2016-07-14Send an USB remote wakeup if data need to be writtenMartino Facchin
On Linux, setting autosuspend_delay_ms to N and control to auto allows the host pc to suspend the peripheral. Some Linux distro (Ubuntu, Mint) apply this behaviour by default. If the sketch's prints where less frequent than N milliseconds the sketch prints would never arrive. This patch allows sending a remote wakeup event to unsuspend the peripheral and allow the serial prints to be received.
2016-07-14[AVR][USB] fix IRQ flags clearingMartino Facchin
2016-04-14Subtract one from USB_EP_SIZE in USB_SendSpaceSandeep Mistry
This avoids dealing with ZLP’s in USB_Send, because the max packet size will be EP size - 1.
2016-04-06[AVR] Discover newer bootloader at runtimeMartino Facchin
Replaces #4280, only checks for the bootloader once Tested with Hoodloader2, should work with every LUFA-derived bootloader released after 2014 (.apitable_signatures section must be placed at end of the flash) BootloaderAPITable.S : .global BootloaderAPI_Signatures BootloaderAPI_Signatures: .long BOOT_START_ADDR ; Start address of the bootloader .word 0xDF00 ; Signature for the CDC class bootloader .word 0xDCFB ; Signature for a LUFA class bootloader makefile: BOOT_API_LD_FLAGS += $(call BOOT_SECTION_LD_FLAG, .apitable_signatures, BootloaderAPI_Signatures, 8)
2015-12-23Added >64 byte USB_RecvControl() supportNicoHood
2015-10-21[USB] use plugged modules name to create iSerial fieldMartino Facchin
2015-10-07[PUSB] Made getDescriptor() and setup() more flexibleNicoHood
Alternatively we can only pass the wIndex to getDescriptor but I suggest to just pass the pointer aka reference of the whole setup. In guess (havent tested this) that this results in more or less the code size but its a) idential with the other functions and b) we late have more flexibility here. The Code got a quick SerialKeyboard.ino test
2015-10-02[PUSB] Fix static initialization order fiascoMartino Facchin
For details see: https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
2015-10-02[PUSB] Fixed the correct number of endpointsCristian Maglie
2015-10-02[PUSB] Global functions PUSB_* are now methods of PluggableUSB classCristian Maglie
2015-09-28Fix compiler warnings in USBCore.cppNico
2015-08-12Added u2 Series supportNicoHood
2015-08-12Added 16 byte endpoint supportNicoHood
2015-08-12Added missing static inline to USB Recv functionNicoHood
2015-07-16rename Setup typedef struct to USBSetupMartino Facchin
was really too common
2015-07-16Add support for waking up a host via USB HIDMartino Facchin
this is a rework of commit fbcf94801b8bba7f1c8c79cc7ae402b6b9dbb2d3
2015-07-16remove 3 endpoints to match at32u4 limitMartino Facchin
2015-07-16add numInterfaces field to PUSBCallbacksMartino Facchin
2015-07-16make CDC function non removableMartino Facchin
2015-07-16remove useless variableMartino Facchin
2015-07-16add PluggableUSB moduleMartino Facchin
2015-07-16move _initEndpoints from PROGMEM to RAMMartino Facchin
2015-07-16Use generic composite device descriptorMartino Facchin
2015-07-16Move EP defines to headerMartino Facchin
2014-09-12Fixed trivial include error introduced in previous commit 2e3e539b... oops...Cristian Maglie
2014-05-26Merge branch 'usbcdc-improved' into ide-1.5.xCristian Maglie
2014-05-24Improve CDC read codePaul Brook
Read CDC data from USB FIFO on demand instead of in ISR. Remove superfluous ring buffer. Signed-off-by: Paul Brook <paul@nowt.org>
2014-05-24Fix race condition in USB CDC transmitPaul Brook
If the Start of Frame interrupt triggers just after the call to USB_SendSpace in USB_Send then we can get data loss. When the first bank is full and the second partially full, the SOF handler will release the second bank via USB_Flush. Data is then lost due to overflow as USB_Send continues writing data to the now-closed bank. Fix this by re-checking the FIFO status inside LockEP, immediately before doing the data write. Signed-off-by: Paul Brook <paul@nowt.org>
2014-04-20Fixed other trivial warnings in AVR USB core.Cristian Maglie
See #1877
2014-04-20Removed other unused variables in CDC.cpp and HID.cppCristian Maglie
See #1877
2014-04-20Removed 'USB_MANUFACTURER' constant redefinition for known VIDs.Cristian Maglie
See #1877
2013-07-17Remove hardcoded product names (all provided for in boards.txt)Angus Gratton
2013-07-17Fix whitespace (tabify), oopsAngus Gratton
2013-07-17Allow USB product and manufacturer strings to be supplied in boards.txtAngus Gratton
2012-12-07Added support for Arduino EsploraCristian Maglie
2012-11-01Adding LilyPad Arduino USB.David A. Mellis
2012-10-27Adding Micro.David A. Mellis
2012-10-18Updating USB core to work at 8 MHz (different PLLCSR value).David A. Mellis
2012-09-13Avoid serial buffer overrun on leonardoPeter Van Hoyweghen
2012-05-01renamed Leonardo USB_ class to USBDevice_ to be unambiguous. renamed "USB" ↵Zach Eveland
object to "USBDevice" to prevent conflict with USB Host library (thanks Massimo)
2012-04-25changed PID values for Leonardo bootloader and sketchZach Eveland
done to avoid driver problems for users who installed the pre-release bootloader and driver
2012-04-09Micro I hardly knew yeZach Eveland
2012-04-09sketch USB VID and PID values are passed in from boards.txt at compile time ↵Zach Eveland
now. changed sketch PIDs to final values. also uncommented Micro section in boards.txt
2012-03-07Fix for some strange behaviours during board resetCristian Maglie
2011-12-18added asynchronous buffering of received CDC charactersZach Eveland
This fixes the issue Federico reported where bytes written by host but not read by sketch would cause serial connection to lock up. Ring buffer implementation is based on HardwareSerial.cpp. Adds public accept() method to CDC.
2011-09-16added automatic one-shot TX and RX LED control for sketch USBZach Eveland
2011-09-16added to sketch iProduct and iManufacturer strings identifying board as ↵Zach Eveland
either an "Arduino Leonardo" or "Arduino Micro" manufactured by "Arduino LLC"
2011-08-30support for non-Leonardo boards is back!Zach Eveland
2011-08-14Serial via USB worksZach Eveland
Integrated rest of Peter's USB implementation