Commit Graph

5140 Commits

Author SHA1 Message Date
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 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 fbcf94801b8bba7f1c8c79cc7ae402b6b9dbb2d3
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