aboutsummaryrefslogtreecommitdiff
path: root/cores/arduino/USBCore.cpp
AgeCommit message (Collapse)Author
2022-03-07rename arduino core dir to xinputHEADmasterHampusM
2020-02-01Merge ArduinoCore-avr Release 1.8.2David Madison
2019-02-21Change receive endpoint to double-bankedDavid Madison
No reason not to take advantage of this feature, although with the interrupt in place I doubt it will be useful.
2019-02-21Use endpoint number defines for ep allocationDavid Madison
2019-02-21Add USB receive callback to USB ISRDavid Madison
Using the OUT endpoint interrupt
2019-02-19Allocate XInput endpoint memoryDavid Madison
2019-02-19Add XInput string descriptorsDavid Madison
2019-02-19Add XInput device and config descriptorsDavid Madison
2019-02-17Removed USB CDC SerialDavid Madison
This will compile but will NOT enumerate properly without a config descriptor. You've been warned...
2019-02-17Define descriptor return var in pluggable blockDavid Madison
Avoids unused variable warning if USB is enabled but pluggable USB is not
2019-02-15Fix warning related to disabling Pluggable HIDDavid Madison
Unused if pluggable USB is not enabled. Should submit a PR to fix this in the main repo...
2018-12-11Add USBDevice.isSuspended()Gergely Nagy
Based on code originally by Rob van der Veer <rob.c.veer@gmail.com>, this adds USBDevice.isSuspended(), so user sketches can run custom code in their `loop` methods after checking if the device is suspended or not. Signed-off-by: Gergely Nagy <algernon@keyboard.io>
2017-11-13Always read key to check for new LUFA bootloaderScott Allen
Instead of checking for the NEW_LUFA_SIGNATURE once in program memory and then setting a flag which is used for further checks, a function is used that always checks program memory directly. If a flag is used, there's a slight chance that its location in RAM could fall on MAGIC_KEY_POS. In this case, an aborted USB auto-reset sequence may fail.
2017-03-20Fixed warning about unused variableCristian Maglie
2017-03-16use IAD Descriptor for device descriptor per the definition in "USB 2.0 ECN ↵liu nick
Interface Association Descriptor" and "USB Interface Association Descriptor Device Class Code and Use Model"
2017-03-16[AVR] USB send ZLP when neededCristian Maglie
See #5732 #4864 #4138 #3946
2017-03-16Revert "Subtract one from USB_EP_SIZE in USB_SendSpace"Cristian Maglie
This reverts commit 817d700a7503b269f986075cad637ce56c657e37.
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