1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-30 11:24:12 +01:00
Commit Graph

5290 Commits

Author SHA1 Message Date
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
Matthijs Kooijman
7fd6244621 Enable C11 support
This uses the gnu11 standard, which is C11 with GNU extensions.
Previously, gnu89 was being used, which is pretty ancient by now. C99
brings some important improvements, some of which were already available
and used even without this option. C11 is more recent and brings more
minor improvements. Most notable feature is the static_assert statement,
allowing checking invariants at compiletime using the full C
expressions.
2015-07-16 13:06:10 +02:00
Matthijs Kooijman
ebeb7843d2 Check for __cplusplus >= 201103L as well as __GXX_EXPERIMENTAL_CXX0X__
Gcc 4.8 defines __cplusplus as 201103L, so we can check for that now. It
still also defines __GXX_EXPERIMENTAL_CXX0X__, but this could help on
other compilers, or if gcc ever decides to stop defining the
experimental macro.
2015-07-16 13:06:10 +02:00
Matthijs Kooijman
ddf4d878fd Enable C++11 support
This uses the gnu++11 standard, which is C++11 with GNU extensions.
C++11 should be full compatible with the previously used C++98
standards, so all pre-existing sketches should continue to work.
2015-07-16 13:06:09 +02:00
Matthijs Kooijman
770a695c85 Explicitely specify C and C++ standards to use
This does not change anything, it just makes the defaults explicit.
2015-07-16 13:06:09 +02:00
Cristian Maglie
c28e6b20c4 WiFi lib version bump to 1.2.5 2015-07-14 23:40:40 +02:00
Cristian Maglie
6e9e514a2d Ethernet lib version bump to 1.1.0 2015-07-14 23:39:03 +02:00