NicoHood
b2e48cd627
Small return value error check correction
2015-10-07 12:39:18 +02:00
NicoHood
9196eaed87
Removed not needed public statement for root node
2015-10-03 07:56:48 +02:00
Martino Facchin
a6c4a6395e
[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
a185073969
[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
f9e6ef1913
[HID] Code cleanup (no semantic changes)
2015-10-02 11:59:23 +02:00
Cristian Maglie
9c93e1d446
[HID] removed unused modules_count field
2015-10-02 11:59:23 +02:00
Cristian Maglie
efe6bc0b7b
[PUSB] Fixed checks on return values
2015-10-02 11:59:23 +02:00
Cristian Maglie
631e056806
[USB] Fixed some compiler warnings
2015-10-02 11:59:23 +02:00
Cristian Maglie
3cce436602
[PUSB] Fixed the correct number of endpoints
2015-10-02 11:59:23 +02:00
Cristian Maglie
4d6ab7431b
[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
c5fd3853e6
[PUSB] No more static fields in PluggableUSB class
2015-10-02 11:59:23 +02:00
Cristian Maglie
58b3755853
[PUSB] epType array is now part of HID class
2015-10-02 11:59:23 +02:00
Cristian Maglie
1e7f1fa35e
[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
a044f89f01
[PUSB] The latest fields are now set via constructor
2015-10-02 11:59:23 +02:00
Cristian Maglie
93e7f0b91b
[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
ac0847f257
[PUSB] Moved static members inside HID_ class
...
This commit prepares for the next refactoring
2015-10-02 11:59:22 +02:00
Cristian Maglie
4245515325
[PUSB] replaced u8 with uint8_t
2015-10-02 11:59:22 +02:00
Cristian Maglie
6d4cbd0ee5
[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
6dbfff69e2
[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
9b4c249090
[PUSB] Global functions PUSB_* are now methods of PluggableUSB class
2015-10-02 11:59:22 +02:00
Cristian Maglie
c25a5eefc7
[PUSB] PUSBCallback struct has been merged into PUSBListNode
...
This slightly simplifies PluggableUSB API.
2015-10-02 11:59:22 +02:00
Arturo Guadalupi
88d546d92a
Added LED_BUILTIN to GEMMA
...
as asked in #3907
2015-10-01 17:09:59 +02:00
Nico
219c9ac945
Removed not used PUSB_Begin()
2015-09-29 17:02:07 +02:00
Cristian Maglie
0034e4b5a3
[HID] Added missing return in HID.begin()
2015-09-28 17:05:36 +02:00
Cristian Maglie
9baff248c4
[HID] Removed unused PUSBReturn structure
2015-09-28 17:05:35 +02:00
Cristian Maglie
7287020aa0
[HID] Changed 'u8' to 'uint8_t' in definitions
2015-09-28 17:05:35 +02:00
Nico
e4a5f61c53
Removed not needed Timer warning
...
Timer is declared above, so nothing is missing here.
2015-09-28 16:30:40 +02:00
Nico
7410817148
Removed Timer warnings when Timer 2 is not present
2015-09-28 16:30:40 +02:00
Nico
ab06fbcbf4
Remove Compiler Warning in Tone.cpp
2015-09-28 16:30:39 +02:00
Nico
a9005c7627
Fix compiler warning in CDC.cpp
2015-09-28 16:30:39 +02:00
Nico
021c79b372
Fix compiler warnings in USBCore.cpp
2015-09-28 16:30:39 +02:00
Cristian Maglie
1a1419577c
[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
e22c0bb22a
Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino
2015-09-28 12:06:35 +02:00
Arturo Guadalupi
4c3de5372d
Added Arduino Zero exclusion to README
2015-09-28 11:29:18 +02:00
Martino Facchin
a68800a9dc
Merge pull request #3864 from facchinm/pulseInLongOVF
...
fix pulseInLong considering overflow
2015-09-25 16:05:35 +02:00
Cristian Maglie
e160f67fdf
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
53d9411413
{build.path}/{archive_file} is now {archive_file_path} in recipe.ar.pattern
2015-09-24 11:28:26 +02:00
Cristian Maglie
337e400311
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
bec50cb3b9
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
dbcf657245
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
e3d0628765
Merge branch 'patch-7' of https://github.com/NicoHood/Arduino
2015-09-21 12:03:26 +02:00
Martino Facchin
3d8b58a72e
fix pulseInLong considering overflow
...
fixes #3830
2015-09-21 11:59:20 +02:00
Martino Facchin
dc16e5bd70
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
2d797cc1de
pulseInLong: fix incorrect timeout handling
2015-09-21 10:24:48 +02:00
Nico
3f854e723d
Fix CDC Serial buffer size determination
2015-09-20 11:08:49 +02:00
Nico
6c0439d1c0
Fix HW Serial buffer size determination
2015-09-20 11:07:19 +02:00
Nico
c37a3c9d50
Remove Raw HID definitions at wrong place
2015-09-20 11:04:42 +02:00
Federico Fissore
ad005d3aa3
Updating arduino-builder to 1.0.0-beta8
2015-09-18 13:32:27 +02:00
Cristian Maglie
cf77bfa352
Merge branch 'ethernet-dns-fix' of https://github.com/cmaglie/Arduino
2015-09-18 11:30:45 +02:00
Cristian Maglie
722f30cfce
Fixed wrong category in EEPROM
...
See #3812
2015-09-18 11:23:11 +02:00