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
Peter Van Hoyweghen
89184a3668
Use new style SPI::beginTransaction() api, make SPI_CLOCK configurable, select hardware or software SPI based on SPI_CLOCK.
2015-07-14 23:06:54 +02:00
Peter Van Hoyweghen
50f9e539d8
Ensure minimum spi pulse width.
2015-07-14 21:20:39 +02:00
Martyn Ranyard
94af627772
Bootloaders: wrong #ifdefs, should be defined() not just tested (i.e. noteq 0)
...
Close #126
2015-07-14 16:16:31 +02:00
Cristian Maglie
94fcb02e0f
Removed typos in EthernetClient.cpp
2015-07-14 15:56:48 +02:00
Alasdair Allan
e5805926d0
Added Multicast UDP support
...
Fix #1531
2015-07-14 15:56:25 +02:00
Martyn Ranyard
59b5311cdf
Bootloaders: adds support for 328-nonp chips
2015-07-14 12:55:22 +02:00
Martyn Ranyard
3831c9c519
-O2 in new avr-gcc makes too big a bootloader to fit on 328(and 328p)
2015-07-14 12:37:36 +02:00
Martyn Ranyard
8f5ca0a943
Fixed EEPE flag check.
...
Here, using the flag itself makes the bootloader build where it currently does not for the 328 amongst others
2015-07-14 12:28:13 +02:00
Cristian Maglie
da243c9e09
Merge branch 'PR_18Wifi' of https://github.com/facchinm/Arduino
2015-07-14 10:16:55 +02:00
Cristian Maglie
a33c93b194
Ethernet: fixed wrong handling of timeouts in DHCP
...
The signed math doesn't handle correctly cases where the lease
time is set to infinity (0xFFFFFFFF).
Fixes #2571
Fixes #2601
Fixes #2642
Fixes #985
2015-07-14 09:57:01 +02:00
Cristian Maglie
50dff341f2
Ethernet: fix calculation of T2 in DHCP
2015-07-14 09:57:01 +02:00
Cristian Maglie
2b089e6b58
Ehternet: removed useless _lastCheck field in DHCP
...
it seems that _lastCheck, besides the name, was simply used as flag
to detect if _secTimeout is initialized. Now the check is removed
and _secTimeout is initalized in the proper place.
2015-07-14 09:57:01 +02:00