Commit Graph

41 Commits

Author SHA1 Message Date
Cristian Maglie 8d04a6a117 [AVR] USB send ZLP when needed
See #5732 #4864 #4138 #3946
2017-03-16 19:35:47 +02:00
Cristian Maglie 1c404ac145 Revert "Subtract one from USB_EP_SIZE in USB_SendSpace"
This reverts commit 817d700a7503b269f986075cad637ce56c657e37.
2017-03-16 19:35:47 +02:00
Kyle Chisholm b5a08fd370 remove extra semicolon
I was compiling with -Werror and this little error popped up
2016-08-28 21:48:09 -04:00
Martino Facchin 2781d1f886 Send an USB remote wakeup if data need to be written
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 18:43:43 +02:00
Martino Facchin 6f167d43f6 [AVR][USB] fix IRQ flags clearing 2016-07-14 18:22:41 +02:00
Sandeep Mistry 059f7b170c Subtract one from USB_EP_SIZE in USB_SendSpace
This avoids dealing with ZLP’s in USB_Send, because the max packet size
will be EP size - 1.
2016-04-14 10:06:47 -04:00
Martino Facchin d1e46f9070 [AVR] Discover newer bootloader at runtime
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)
2016-04-06 17:41:06 +02:00
NicoHood eb18cae855 Added >64 byte USB_RecvControl() support 2015-12-23 15:31:55 +01:00
Martino Facchin b9bb55584c [USB] use plugged modules name to create iSerial field 2015-10-21 15:23:56 +02:00
NicoHood fdb1fd384b [PUSB] Made getDescriptor() and setup() more flexible
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-07 19:02:40 +02:00
Martino Facchin a6c4a6395e [PUSB] Fix static initialization order fiasco
For details see:
https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
2015-10-02 11:59:24 +02:00
Cristian Maglie 3cce436602 [PUSB] Fixed the correct number of endpoints 2015-10-02 11:59:23 +02:00
Cristian Maglie 9b4c249090 [PUSB] Global functions PUSB_* are now methods of PluggableUSB class 2015-10-02 11:59:22 +02:00
Nico 021c79b372 Fix compiler warnings in USBCore.cpp 2015-09-28 16:30:39 +02:00
NicoHood e9bc450202 Added u2 Series support 2015-08-12 17:48:17 +02:00
NicoHood aa5a91f1a3 Added 16 byte endpoint support 2015-08-12 17:48:17 +02:00
NicoHood 3cf9e054e4 Added missing static inline to USB Recv function 2015-08-12 17:48:17 +02:00
Martino Facchin 512e369e80 rename Setup typedef struct to USBSetup
was really too common
2015-07-16 13:13:52 +02:00
Martino Facchin 05f8a397a4 Add support for waking up a host via USB HID
this is a rework of commit fbcf94801b8bba7f1c8c79cc7ae402b6b9dbb2d3
2015-07-16 13:13:51 +02:00
Martino Facchin c4c2b15050 remove 3 endpoints to match at32u4 limit 2015-07-16 13:12:15 +02:00
Martino Facchin 1e08066640 add numInterfaces field to PUSBCallbacks 2015-07-16 13:12:15 +02:00
Martino Facchin 32dd3a630b make CDC function non removable 2015-07-16 13:12:14 +02:00
Martino Facchin 29239164b5 remove useless variable 2015-07-16 13:12:14 +02:00
Martino Facchin f7631cdee9 add PluggableUSB module 2015-07-16 13:12:14 +02:00
Martino Facchin b5cc45b17d move _initEndpoints from PROGMEM to RAM 2015-07-16 13:12:14 +02:00
Martino Facchin 6a508b6088 Use generic composite device descriptor 2015-07-16 13:12:13 +02:00
Martino Facchin 8282c2734e Move EP defines to header 2015-07-16 13:12:13 +02:00
Cristian Maglie 2a3bd8c978 Fixed trivial include error introduced in previous commit 2e3e539b... oops... 2014-09-12 16:58:05 +02:00
Cristian Maglie 8ffc54f4ca Merge branch 'usbcdc-improved' into ide-1.5.x 2014-05-26 13:38:07 +02:00
Cristian Maglie 94d9a9d1f8 Fixed other trivial warnings in AVR USB core.
See #1877
2014-04-20 23:08:55 +02:00
Cristian Maglie a1064ac20b Removed other unused variables in CDC.cpp and HID.cpp
See #1877
2014-04-20 20:56:51 +02:00
Cristian Maglie 5c8bb5aa71 Removed 'USB_MANUFACTURER' constant redefinition for known VIDs.
See #1877
2014-04-20 20:49:04 +02:00
Angus Gratton 8d19af1268 Remove hardcoded product names (all provided for in boards.txt) 2013-07-17 14:38:05 +02:00
Angus Gratton 67a7d54010 Fix whitespace (tabify), oops 2013-07-17 14:37:49 +02:00
Angus Gratton 1c87c22551 Allow USB product and manufacturer strings to be supplied in boards.txt 2013-07-17 14:37:29 +02:00
Cristian Maglie d52452d846 Merged 1.0.3 2012-12-10 15:55:05 +01:00
Cristian Maglie d55997e9b0 Merged 1.0.2
Merge remote-tracking branch 'arduino/master' into ide-1.5.x

Conflicts:
	app/src/processing/app/debug/AvrdudeUploader.java
	build/shared/examples/09.USB/Keyboard/KeyboardLogout/KeyboardLogout.ino
	build/shared/examples/09.USB/Keyboard/KeyboardReprogram/KeyboardReprogram.ino
	build/shared/examples/09.USB/Keyboard/KeyboardSerial/KeyboardSerial.ino
	build/shared/examples/09.USB/Mouse/ButtonMouseControl/ButtonMouseControl.ino
	build/shared/examples/09.USB/Mouse/JoystickMouseControl/JoystickMouseControl.ino
	hardware/arduino/boards.txt
2012-11-04 22:49:14 +01:00
Cristian Maglie 8d2896e06f Merged upstream arduino branch 2012-10-18 15:50:09 +02:00
Cristian Maglie 828076175e Merge of arduino-1.0.1. Work in progress... 2012-05-23 09:22:52 +02:00
Thibaut VIARD d464c71f41 [sam] prelimanary work on USB Device stack 2012-03-29 21:11:05 +02:00
Cristian Maglie 822dcb0989 Created second level in hardware folder: hardware/PACKAGE/PLATFORM/...
Made some helper class for files filtering.
platforms.txt now contains only one platform at a time.
Some cleanup in Compiler and AvrDudeUploader classes.
2011-12-30 15:46:04 +01:00