Cristian Maglie
22dd1cbb99
Merge branch 'nativeUSB_serialNumber_due' of https://github.com/facchinm/Arduino into HEAD
2015-10-21 16:54:59 +02:00
Martino Facchin
775c82bbed
SAM: add iSerial USB field
2015-10-21 16:16:52 +02:00
Cristian Maglie
c102995e92
Merge remote-tracking branch 'arduino/master' into HEAD
2015-10-21 15:53:59 +02:00
Martino Facchin
b945df9220
[USB] use plugged modules name to create iSerial field
2015-10-21 15:23:56 +02:00
NicoHood
9fe2023c28
[PHID] Fixes protocol on reenumeration
2015-10-12 18:05:34 +02:00
Martino Facchin
bf609ecc4c
[USB] remove all warnings from SAM USB core
2015-10-12 14:43:24 +02:00
Martino Facchin
ddae105dc3
[HID] port to stable PluggableUSB API
2015-10-12 14:41:23 +02:00
Martino Facchin
b4541209cb
adapt SAM core to PluggableUSB stable API
2015-10-12 14:41:05 +02:00
Cristian Maglie
a151349a01
[HID] renamed HIDDescriptorListNode to HIDSubDescriptor
2015-10-12 12:24:07 +02:00
Cristian Maglie
11440d3fd7
[PUSB] Renamed PUSBListNode to PluggableUSBModule
2015-10-12 12:14:07 +02:00
Cristian Maglie
80b79002fd
[HID] made HIDDescriptorListNode.length constant
2015-10-12 11:59:08 +02:00
NicoHood
e69021550e
[PHID] Added missing GET_IDLE Request
2015-10-11 14:39:36 +02:00
NicoHood
5e813b314b
[PHID] Added some hints for further optional implementations
2015-10-10 13:11:31 +02:00
NicoHood
14ddc8b0bf
Added official HID definitions
...
Since the HID library adds some general HID definitions and structs, it is very useful to also include this in a custom library.
If you dupe the information you have problems of redeclaration.
Having those defintions inside the official HID library is essential for a good working additional HID API.
2015-10-10 12:49:45 +02:00
Nico
2cc3bb605b
[PUSB] Minor Style change
2015-10-09 22:10:45 +02:00
Nico
79f5715c21
Remove unnecessary include
...
Its included by HID.h anyways.
2015-10-08 17:24:09 +02:00
Cristian Maglie
fb4f5066bf
[HID] Improved checks in getDescriptor() method
2015-10-08 16:38:57 +02:00
NicoHood
05477fc85d
[PUSB] Removed unnecessary endpoint and interface function
2015-10-07 20:39:50 +02:00
NicoHood
c8867462a8
[PHID] Added SetReport function
...
This commit just shows other that this option is available and not implemented.
You may use this to determine the Led Lights state of a keyboard or transmit data via RAWHID from the PC.
Quick usage guide:
int length = ((setup.wValueH << 8) | setup.wLength);
USB_RecvControl((uint8_t* data, USB_EP_SIZE); // Needs to be splitted into USB_EP_SIZE packets, not shown here. See HID Project.
2015-10-07 20:37:05 +02:00
NicoHood
0f9f63f2a5
[PUSB] Made getDescriptor() and setup() more flexible
...
Alternatively we can only pass the wIndex to getDescriptor but I suggest to just pass the pointer aka reference of the whole setup.
In guess (havent tested this) that this results in more or less the code size but its a) idential with the other functions and b) we late have more flexibility here.
The Code got a quick SerialKeyboard.ino test
2015-10-07 19:02:40 +02:00
NicoHood
6151972b74
[PUSB] Changed Interface + Endpoint to unsigned variables
...
The iterations in the for loop also use unsigned and the setup struct etc as well.
There was no change in HID required since we just init the inherited variables via constructor and the type is never mentioned.
2015-10-07 18:45:10 +02:00
Cristian Maglie
5b1b0330b2
[PUSB] renamed some parameters
2015-10-07 13:21:21 +02:00
NicoHood
8bc21f7e36
Small return value error check correction
2015-10-07 12:39:18 +02:00
NicoHood
7fdb0efc98
Removed not needed public statement for root node
2015-10-03 07:56:48 +02:00
Martino Facchin
65b8430fec
[PUSB] Fix static initialization order fiasco
...
For details see:
https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
2015-10-02 11:59:24 +02:00
Cristian Maglie
d13aadc7d5
[HID] removed HIDDescriptor field
...
The field is now built on-the-fly on the stack and sent over USB.
This change increase Flash usage and decrease SRAM usage:
before: 6114 / 241
after: 6152 / 216 (removed HIDDescriptor field)
delta: +38 / -25
SRAM is a much more scarse resource and this change free up to
about 10% of the "base" usage.
2015-10-02 11:59:24 +02:00
Cristian Maglie
214b260a82
[HID] Code cleanup (no semantic changes)
2015-10-02 11:59:23 +02:00
Cristian Maglie
81aa7df093
[HID] removed unused modules_count field
2015-10-02 11:59:23 +02:00
Cristian Maglie
8a5ad75c50
[PUSB] Fixed checks on return values
2015-10-02 11:59:23 +02:00
Cristian Maglie
1851fcc23c
[USB] Fixed some compiler warnings
2015-10-02 11:59:23 +02:00
Cristian Maglie
d1f0c6953a
[PUSB] Fixed the correct number of endpoints
2015-10-02 11:59:23 +02:00
Cristian Maglie
e823ef0c16
[PUSB] Fixed check for available endpoints
...
The check for available slot in PluggableUSB is done on the endpoint
and not on the number of plugged modules.
The modulesCount field is no longer useful and it has been removed.
2015-10-02 11:59:23 +02:00
Cristian Maglie
183ec1c83f
[PUSB] No more static fields in PluggableUSB class
2015-10-02 11:59:23 +02:00
Cristian Maglie
9acbbe63c0
[PUSB] epType array is now part of HID class
2015-10-02 11:59:23 +02:00
Cristian Maglie
2d70691dbe
[HID] Removed static fields in HID class
...
There is still the epType[] array to be handled in some way.
2015-10-02 11:59:23 +02:00
Cristian Maglie
0369b8ec33
[PUSB] The latest fields are now set via constructor
2015-10-02 11:59:23 +02:00
Cristian Maglie
0dfa815ce4
[PUSB] callbacks are now pure virtual methods
...
This change allows the compiler to handle callbacks resolution.
Callbacks now must be implemented on the class that extends
PUSBListNode and this is forced by compiler by means of pure
virtual methods.
Also the calls to HID.interface() and HID.endpoint() can now
be simplified to interface() and endpoint() respectively since
the methods are no more static.
2015-10-02 11:59:23 +02:00
Cristian Maglie
2ac2a27173
[PUSB] Moved static members inside HID_ class
...
This commit prepares for the next refactoring
2015-10-02 11:59:22 +02:00
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
Federico Fissore
de8390f6db
Updating arduino-builder to 1.0.0-beta4
2015-09-15 12:15:39 +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
NicoHood
4de21f7d1d
Added TXLed to Leonardo pin definition file
2015-08-15 15:50:57 +02:00
Cristian Maglie
695fc40fbd
Merge branch 'cdc-settings' of https://github.com/matthijskooijman/Arduino
2015-08-14 13:37:00 +02:00