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
af290fc5a3
rework HID-based libraries and add Due fallback
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
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
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
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
91ccab4f09
make CDC function non removable
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
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
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
Federico Fissore
fe3fa56a15
Yun bootloader without blink
2015-07-07 17:15:42 +02:00
Federico Fissore
5e98cd8528
Examples: mass code format. See example_formatter.conf
2015-07-06 15:19:05 +02:00
Matthew Lowe
39c3f8bf61
Support for repeated starts added to SAM Wire library
...
Additional interface method ported to avr for compatibility
Fix issue #2428 .
2015-07-03 16:59:30 +02:00
Federico Fissore
431f319aca
Removed a handful of SVN expansion keywords. See #277
2015-07-03 10:38:07 +02:00
Martino Facchin
98d0a72fdd
Merge pull request #1869 from kevin-pololu/due-wire-available
...
SAM Wire: fixed NACK/timeout behavior of requestFrom() and available()
2015-07-01 12:43:44 +00:00
Federico Fissore
5f31f4b8dd
Fixed missing "sketch" folders in some paths of both AVR and SAM cores
2015-06-29 16:10:54 +02:00
Federico Fissore
e097439eab
Compiler: sketch files get compiled into "sketch"
2015-06-29 15:11:45 +02:00
Federico Fissore
5a35be06da
Compiler: cores files get compiled under "core", libraries under "libraries". Fixes #2997
2015-06-29 15:11:45 +02:00
Matthijs Kooijman
07c4d958c0
Warn about increasing HardwareSerial buffers to > 256
...
Properly supporting bigger buffers need better atomicity code, which
isn't implemented yet. Until it is, best to add a warning. See #2405 .
2015-06-18 16:36:07 +02:00
Matthijs Kooijman
5b4ebcf959
Support the Atmel STK500 development board for ISP
2015-06-05 18:43:25 +02:00
ziotibia81
ec4006d1ee
Added comment about Bus Pirate
2015-06-05 18:43:23 +02:00
ziotibia81
cb9a14835c
Added support for Dangerous Prototypes Bus Pirate as ISP
...
Close #2385
2015-06-05 18:43:12 +02:00
Fede85
4f957da22a
add Arduino Gemma Bootloader source files
2015-06-01 20:00:54 +02:00
Martino Facchin
ed1b8eb486
Add a Stream::find(char) method
2015-06-01 14:06:32 +00:00
Cristian Maglie
074d910857
Fixed unused argument warning
2015-05-30 15:19:44 +02:00