Cristian Maglie
6ffd7e39ba
[PUSB] replaced u8 with uint8_t
2015-10-02 11:59:22 +02:00
Cristian Maglie
8f259c8a80
[PUSB] Selected interface and endpoint are now part of PUSBListNode
...
The method
int8_t PluggableUSB::addFunction(PUSBListNode *, uint8_t *)
has been changed to
bool PluggableUSB::plug(PUSBListNode *node)
since both EP and Interfaces are now saved directly into node
2015-10-02 11:59:22 +02:00
Cristian Maglie
5e14b1fe37
[HID] Now HID extends directly PluggableUSBListNode
...
This avoid duplicate instatiation of callback and save a
considerable amount of flash.
2015-10-02 11:59:22 +02:00
Cristian Maglie
5aeff8ec25
[PUSB] Global functions PUSB_* are now methods of PluggableUSB class
2015-10-02 11:59:22 +02:00
Cristian Maglie
3fe6272feb
[PUSB] PUSBCallback struct has been merged into PUSBListNode
...
This slightly simplifies PluggableUSB API.
2015-10-02 11:59:22 +02:00
Arturo Guadalupi
7af5e7af23
Added LED_BUILTIN to GEMMA
...
as asked in #3907
2015-10-01 17:09:59 +02:00
Cristian Maglie
e3d629d591
Merge remote-tracking branch 'arduino/master'
2015-09-29 18:52:38 +02:00
Cristian Maglie
abe05b90fa
Removed not used PUSB_Begin() (also in SAM)
...
See #3892
2015-09-29 18:50:43 +02:00
Sandeep Mistry
cc3a1e7bff
Correct typo
2015-09-29 11:35:13 -04:00
Nico
d257764862
Removed not used PUSB_Begin()
2015-09-29 17:02:07 +02:00
Cristian Maglie
ffd2943955
[HID] Added missing return in HID.begin()
2015-09-28 17:05:36 +02:00
Cristian Maglie
43d3428d2b
[HID] Added missing const in length
2015-09-28 17:05:36 +02:00
Cristian Maglie
953e6fa206
[HID] Removed unused PUSBReturn structure
2015-09-28 17:05:35 +02:00
Cristian Maglie
7d985f97a3
[HID] Changed 'u8' to 'uint8_t' in definitions
2015-09-28 17:05:35 +02:00
Nico
fa52c41ede
Removed not needed Timer warning
...
Timer is declared above, so nothing is missing here.
2015-09-28 16:30:40 +02:00
Nico
5e1b4c7434
Removed Timer warnings when Timer 2 is not present
2015-09-28 16:30:40 +02:00
Nico
3bbff6fd2a
Remove Compiler Warning in Tone.cpp
2015-09-28 16:30:39 +02:00
Nico
900ae49ee7
Fix compiler warning in CDC.cpp
2015-09-28 16:30:39 +02:00
Nico
228fa37568
Fix compiler warnings in USBCore.cpp
2015-09-28 16:30:39 +02:00
Cristian Maglie
209b0796e6
[HID] added 'const' qualifier in HID initialization
...
See https://github.com/arduino/Arduino/pull/3840#discussion_r40438845
2015-09-28 13:32:01 +02:00
Cristian Maglie
fba6ca88ed
[HID] fixed wrong datatype for descriptor len
...
See https://github.com/arduino/Arduino/pull/3840/files#r40438845
2015-09-28 13:23:12 +02:00
Cristian Maglie
e4d63adf45
Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino
2015-09-28 12:06:35 +02:00
Arturo Guadalupi
bb1f584019
Added Arduino Zero exclusion to README
2015-09-28 11:29:18 +02:00
Cristian Maglie
435fc323e0
SAM: tidy up -mcpu and -mthumb params in platform.txt
2015-09-25 17:00:22 +02:00
Cristian Maglie
9eeeb50050
SAM: small cosmetic fix to platform.txt
2015-09-25 16:58:38 +02:00
Martino Facchin
53049046cb
Merge pull request #3864 from facchinm/pulseInLongOVF
...
fix pulseInLong considering overflow
2015-09-25 16:05:35 +02:00
Cristian Maglie
563a7306b9
Fixed another regression in IPAddress.h
...
If the includer tries to inlcude IPAddress.h without first including
WString.h the build will fail.
2015-09-24 15:52:32 +02:00
Federico Fissore
737faaaba5
{build.path}/{archive_file} is now {archive_file_path} in recipe.ar.pattern
2015-09-24 11:28:26 +02:00
Cristian Maglie
7d0355c8f1
SAM: Stop build on unresolved symbols
...
Previously the linker flag:
-Wl,--warn-unresolved-symbols
prevented the build to fail (the unresolved symbols were just
displayed as a warning).
See also: https://github.com/arduino/arduino-builder/issues/14
2015-09-24 10:31:15 +02:00
Cristian Maglie
401c4f0cf8
HID: merged HID_Descriptor into HIDDescriptorListNode
...
This simplifies the object model and produce a small gain in code
size and performance.
2015-09-22 16:51:30 +02:00
Cristian Maglie
f0cf13c89b
HID: Renamed fields in HIDDescriptorListNode and HID_Descriptor
...
In particular HIDDescriptorListNode.cb has been renamed to
HIDDescriptorListNode.descriptor because it contains decriptor data
and not callbacks.
Moreover the HID_Descriptor.descriptor field has been renamed
to HID_Descriptor.data so the structure has now two fields length
and data.
typedef struct __attribute__((packed)) {
uint16_t length;
const void* data;
} HID_Descriptor;
class HIDDescriptorListNode {
public:
HIDDescriptorListNode *next = NULL;
const HID_Descriptor *descriptor;
HIDDescriptorListNode(const HID_Descriptor *d) : descriptor(d) { }
};
This imply a change in the use of the node from:
node->cb->lenght
node->cd->descriptor
to
node->descriptor->length
node->descriptor->data
2015-09-22 16:49:14 +02:00
Arturo Guadalupi
9eaea4205d
Modified reference to Leonardo only in the examples
...
According to #3786 removed the reference to Leonardo only in while(!Serial) of the examples.
Changed in in "wait for serial port to connect. Needed for native USB port only"
2015-09-21 14:58:58 +02:00
Cristian Maglie
8c3c54ea28
Merge branch 'patch-7' of https://github.com/NicoHood/Arduino
2015-09-21 12:03:26 +02:00
Martino Facchin
480cd227ea
fix pulseInLong considering overflow
...
fixes #3830
2015-09-21 11:59:20 +02:00
Martino Facchin
606d56b3e5
SAM: fix pulseInLong timeout using micros()
2015-09-21 11:10:33 +02:00
Martino Facchin
6cdafbc20c
Merge pull request #3825 from NicoHood/patch-6
...
Remove Raw HID definitions at wrong place
2015-09-21 10:31:53 +02:00
Martino Facchin
c7b27431a9
pulseInLong: fix incorrect timeout handling
2015-09-21 10:24:48 +02:00
Nico
8a96e75645
Fix CDC Serial buffer size determination
2015-09-20 11:08:49 +02:00
Nico
441fd561cf
Fix HW Serial buffer size determination
2015-09-20 11:07:19 +02:00
Nico
9b91da35b7
Remove Raw HID definitions at wrong place
2015-09-20 11:04:42 +02:00
Federico Fissore
3030a5c57a
Updating arduino-builder to 1.0.0-beta8
2015-09-18 13:32:27 +02:00
Cristian Maglie
3bd810deb8
Merge branch 'ethernet-dns-fix' of https://github.com/cmaglie/Arduino
2015-09-18 11:30:45 +02:00
Cristian Maglie
a1e2c4fa8e
Fixed wrong category in EEPROM
...
See #3812
2015-09-18 11:23:11 +02:00
Cristian Maglie
e2f625290f
Moved build artifacts into root build folder
...
The intermediate files used for build (.o, .a ...) are still
in subfolders to avoid conflicts.
Fix #3807
2015-09-18 11:21:13 +02:00
Cristian Maglie
949ef094f1
Added categories to libraries
...
Fix #3812
2015-09-18 11:01:08 +02:00
Cristian Maglie
cc0d3322d1
Fixed wrong condition in turnOffPWM(..)
...
Fix #2163
2015-09-18 11:01:08 +02:00
Federico Fissore
455d03e460
Adding preprocessing recipes to AVR core
2015-09-15 12:15:48 +02:00
Martino Facchin
d9a7b5df41
Merge pull request #3542 from facchinm/plugUSB_sam
...
Add pluggableUSB capabilities to SAM core
2015-09-10 18:18:31 +02:00
Cristian Maglie
e3909b4e2c
Added IPAddress::fromString(....) function
2015-09-09 12:03:29 +02:00
Martino Facchin
a5ad4744b5
fix OUT endpoints
...
was using only lower 8 bits of configuration registers
2015-09-04 10:03:40 +02:00
Cristian Maglie
f8b764a3a6
...and also a leading ','... (oops 2)
...
See #2408
2015-09-01 10:58:48 +02:00
Cristian Maglie
8720384f68
Added missing #ifdef in WInterrupts.c... (oops)
...
See #2408
2015-09-01 10:11:43 +02:00
Cristian Maglie
53db220016
Added EXTERNAL_NUM_INTERRUPTS for AVR xxU2 series
2015-08-31 18:12:13 +02:00
Andrew J. Kroll
8c440df280
AVR: Faster Interrupts, no size change.
...
Fixes #2408
2015-08-31 13:55:07 +02:00
Cristian Maglie
d8bf00b951
Release new boards as AVR core 1.6.8
2015-08-27 11:00:25 +02:00
Cristian Maglie
1c1ecb65ac
Added support to Genuino boards (drivers, boards.txt entries, bootloaders)
2015-08-27 10:40:03 +02:00
Nate Williams
64cee7bbbc
Wire (AVR): Fix bug with repeated START
...
Fix #66
2015-08-26 16:02:02 +02:00
Sandeep Mistry
d00a3ceba3
implement Wire.end() for AVR core
2015-08-25 10:24:24 -04:00
onovy
bf2ef13b50
Tone: Added missing break
2015-08-15 21:11:52 +02:00
Cristian Maglie
695fc40fbd
Merge branch 'cdc-settings' of https://github.com/matthijskooijman/Arduino
2015-08-14 13:37:00 +02:00
Martino Facchin
5fe796d52e
Merge pull request #3640 from NicoHood/USB-Core-Fixes
...
Usb core fixes
2015-08-13 09:39:21 +02:00
NicoHood
60e64cfd35
Added u2 Series support
2015-08-12 17:48:17 +02:00
NicoHood
7bd77de70b
Precised USB Endpoint definitions
2015-08-12 17:48:17 +02:00
NicoHood
fd6f57d2d7
Added 16 byte endpoint support
2015-08-12 17:48:17 +02:00
NicoHood
a1cf7042b2
Fixed HID Reports >255 bytes
2015-08-12 17:48:17 +02:00
NicoHood
b97b2519d1
Added missing static inline to USB Recv function
2015-08-12 17:48:17 +02:00
NicoHood
344897301c
Made Magic Key Settings more flexible
2015-08-12 17:48:09 +02:00
Chuck Todd
25d81c98e4
Print not Aborting on Write() failure
...
Print::write(const uint8_t *buffer, size_t size) and Print::print(const
__FlashStringHelper *ifsh) would continue calling write(char) after a
failed write(char) this behavior would render returned count unuseable
see arduino/Arduino issue #3614
2015-08-12 11:47:57 +02:00
Reilly Grant
a20b44801a
Fix links to 3rd party hardware specification.
...
The number of hyphens in this URL has apparently changed.
2015-07-31 15:54:22 -07:00
Peter Van Hoyweghen
4f87112c2e
Add Serial_::availableForWrite().
...
This makes the CDC "Serial" object on the Leonardo and similar boards
support this recently introduced method as well. The CDC code in the sam
core is not changed.
2015-07-31 14:06:20 +02:00
Matthijs Kooijman
9b7b23f045
Prevent losing bytes in HardwareSerial::end()
...
end() already waited for the buffer to be empty, but then there could
still be two bytes in the hardware registers that still need to be
transmitted (which were dropped or kept in the buffer, depending on the
exact timing).
This changes the wait loop to a call to the flush() function, which
already takes care of really waiting for all bytes to be transmitted,
meaning it is safe to turn off the transmitter.
2015-07-31 14:06:20 +02:00
Matthijs Kooijman
b58f239400
Add Serial_::readBreak() to process SEND_BREAK requests
...
This allows detecting when the USB host sends a break request and what
the value of the request was. See the comments in USBAPI.h for details.
This just modifies the avr core, not the sam core.
2015-07-31 14:06:19 +02:00
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
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