Matthijs Kooijman
96f7b966bc
Expose serial settings from CDC virtual serial port
...
This allows a sketch to find out the settings chosen by the USB host
(computer) and act accordingly.
Other than reading the DTR flag and checking if the baudrate is 1200,
the regular CDC code doesn't actually use any of these settings.
By exposing these settings to the sketch, it can for example copy them
to the hardware UART, turning the Leonardo into a proper USB-to-serial
device. This can be useful to let the computer directly talk to whatever
device is connected to the hardware serial port (like an XBee module).
The Teensy core already supported these methods. This code was
independently developed, but the method names were chosen to match the
Teensy code, for compatibility (except that `dtr()` and `rtr()` return
`bool`, while the Teensy version return a `uint8_t`).
This change is applied to both the avr and sam cores, which have a very
similar CDC implementation.
2015-07-31 13:40:43 +02:00
Arturo Guadalupi
8f4cd17486
Added BasicKit name to examples folder
...
according to #3560 I added BasicKit after 10.StarterKit. / is not allowed
2015-07-23 15:18:03 +02:00
Cristian Maglie
2659ec6faa
Fixed library.properties for Mouse and Keyboard libraries
2015-07-21 16:40:18 +02:00
Cristian Maglie
fb29544516
Merge tag '1.6.5-r3'
2015-07-20 15:56:15 +02:00
Cristian Maglie
a3b5ab4ff7
Update revision log
2015-07-20 14:02:45 +02:00
Cristian Maglie
d6c5344b67
Workaround for MacOSX gatekeeper (OSX 10.10.4)
...
It seems that gatekeeper now applies tighter checks on
libraries dinamically linked from executables included
in a package.
This is a workaround until a proper solution is found.
Fixes #3468
2015-07-20 14:01:54 +02:00
Martino Facchin
2acda414aa
port PluggableUSB to sam core
2015-07-17 12:16:38 +02:00
Martino Facchin
a261e6cf7c
remove HID from core
2015-07-17 12:16:09 +02:00
Martino Facchin
b2381506a2
sam: add HID library
2015-07-17 12:13:21 +02:00
Martino Facchin
bd9d215986
USB libraries: replace non-portable u8 with uint8_t
2015-07-17 12:08:26 +02:00
Martino Facchin
f9b9cd03d4
Keyboard: fix endif disappeard during rebase
2015-07-16 16:20:16 +02:00
Martino Facchin
af290fc5a3
rework HID-based libraries and add Due fallback
2015-07-16 13:13:53 +02:00
Martino Facchin
99814355ec
add includes to USB examples
2015-07-16 13:13:53 +02:00
Martino Facchin
5cc7c1078f
remove CompleteHID library
...
expect way more interesting user-generated libraries
2015-07-16 13:13:53 +02:00
Martino Facchin
8ebc5d0347
remove stub MIDIUSB library
...
revert this commit when it's time to integrate this library
2015-07-16 13:13:53 +02:00
Martino Facchin
efd329bb5e
fix MIDIUSB and adapt CompleteHID to PluggableHID
2015-07-16 13:13:53 +02:00
Martino Facchin
e1a0350062
allow HID submodules to create runtime descriptors
...
with this PR you can add
\#include Keyboard.h
\#include Mouse.h
\#include HID.h
in the top of the sketch and you will expose a Mouse+Keyboard
From the library pow, simply add
static HID_Descriptor cb = {
.length = sizeof(_hidReportDescriptor),
.descriptor = _hidReportDescriptor,
};
static HIDDescriptorListNode node(&cb);
HID.AppendDescriptor(&node);
in the class' constructor and you are done!
2015-07-16 13:13:52 +02:00
Martino Facchin
6a9568d3e1
fix pluggableUSB linked list
2015-07-16 13:13:52 +02:00
Martino Facchin
8a45883230
save RAM content overridden by bootloader magic
...
and restore it in case of aborted reboot
use RAMEND-1 as suggested by @yyyc514 in PR #2474
of course it's not a real solution but we cannot force everyone to update the bootloader using an external programmer
2015-07-16 13:13:52 +02:00
Martino Facchin
5defaeaa97
rework HID class functions scopes
2015-07-16 13:13:52 +02:00
Martino Facchin
97a3771772
rename Setup typedef struct to USBSetup
...
was really too common
2015-07-16 13:13:52 +02:00
Martino Facchin
dee43a19d7
fix HID headers
2015-07-16 13:13:51 +02:00
Martino Facchin
9074b1ed18
fix HID descriptors bigger than 127 bytes
2015-07-16 13:13:51 +02:00
Martino Facchin
a989b72a1b
squash of Overhaul USB HID as a library
...
all code from #1803 included
2015-07-16 13:13:51 +02:00
Martino Facchin
175240a906
Add support for waking up a host via USB HID
...
this is a rework of commit fbcf94801b
2015-07-16 13:13:51 +02:00
Martino Facchin
91a115a353
move HID library to AVR specific location
2015-07-16 13:13:51 +02:00
Martino Facchin
e211f1ea76
remove setupUSB weak hook and replace with global constructors
...
thanks @matthijskooijman
2015-07-16 13:13:49 +02:00
Martino Facchin
071323196d
enforce single use of HID submodule
2015-07-16 13:13:45 +02:00
Martino Facchin
89928b4e15
rework PUSBCallbacks initialization
2015-07-16 13:13:39 +02:00
Martino Facchin
ada0e4c2f3
remove 3 endpoints to match at32u4 limit
2015-07-16 13:12:15 +02:00
Martino Facchin
f37547e8fd
add numInterfaces field to PUSBCallbacks
2015-07-16 13:12:15 +02:00
Martino Facchin
a031921708
add stub MIDIUSB library
...
only a proof of concept for PluggableUSB module
2015-07-16 13:12:15 +02:00
Martino Facchin
8f0a433903
export WEAK macro
2015-07-16 13:12:15 +02:00
Martino Facchin
344896ed70
Fix HID derived libraries and add automatic setupUSB() weak hook
2015-07-16 13:12:15 +02:00
Martino Facchin
feaa14fa56
standalone MouseAndKeyboard library
2015-07-16 13:12:15 +02:00
Martino Facchin
fe825c8f9b
standalone Keyboard library
2015-07-16 13:12:15 +02:00
Martino Facchin
c2a083b57b
standalone Mouse library
2015-07-16 13:12:14 +02:00
Martino Facchin
4a552055bf
remove Mouse and Keyboard from HID module
2015-07-16 13:12:14 +02:00
Martino Facchin
7b5c25f534
implement PUSB modules as linked list
2015-07-16 13:12:14 +02:00
Martino Facchin
f67318a8b1
remove useless variables
2015-07-16 13:12:14 +02:00
Martino Facchin
2aa2332f88
add arduino header to HID library
2015-07-16 13:12:14 +02:00
Martino Facchin
91ccab4f09
make CDC function non removable
2015-07-16 13:12:14 +02:00
Martino Facchin
018fb96a39
move HID to general external library
...
add pluggableUSB hooks and HID singleton
initialize with HID.begin() in setupUSB()
2015-07-16 13:12:14 +02:00
Martino Facchin
b2a6b61a2f
add weak setupUSB() hook
...
override this function to insert additional USB endpoints
2015-07-16 13:12:14 +02:00
Martino Facchin
ec43b6c829
remove useless variable
2015-07-16 13:12:14 +02:00
Martino Facchin
1aec25b855
add PluggableUSB module
2015-07-16 13:12:14 +02:00
Martino Facchin
1f534eac35
move _initEndpoints from PROGMEM to RAM
2015-07-16 13:12:14 +02:00
Martino Facchin
2c5dd20298
Use generic composite device descriptor
2015-07-16 13:12:13 +02:00
Martino Facchin
5ee69a70ee
Move EP defines to header
2015-07-16 13:12:13 +02:00
Martino Facchin
09460dd8c9
Remove HID core library
2015-07-16 13:12:13 +02:00