NicoHood
9cd24d7a0d
Removed not needed public statement for root node
2015-10-03 07:56:48 +02:00
Martino Facchin
8cab209ef9
[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
66d3eabe42
[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
2e328bae3b
[HID] Code cleanup (no semantic changes)
2015-10-02 11:59:23 +02:00
Cristian Maglie
0b3244c5ec
[HID] removed unused modules_count field
2015-10-02 11:59:23 +02:00
Cristian Maglie
bad9b58ce3
[PUSB] Fixed checks on return values
2015-10-02 11:59:23 +02:00
Cristian Maglie
10512b3f9b
[USB] Fixed some compiler warnings
2015-10-02 11:59:23 +02:00
Cristian Maglie
cabae13e55
[PUSB] Fixed the correct number of endpoints
2015-10-02 11:59:23 +02:00
Cristian Maglie
e42d7d6221
[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
c0f9296ae5
[PUSB] No more static fields in PluggableUSB class
2015-10-02 11:59:23 +02:00
Cristian Maglie
dbaec17c03
[PUSB] epType array is now part of HID class
2015-10-02 11:59:23 +02:00
Cristian Maglie
f8b2d8acb3
[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
27c1832aca
[PUSB] The latest fields are now set via constructor
2015-10-02 11:59:23 +02:00
Cristian Maglie
9065229595
[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
ab19daef28
[PUSB] Moved static members inside HID_ class
...
This commit prepares for the next refactoring
2015-10-02 11:59:22 +02:00
Cristian Maglie
7fee0f0a75
[PUSB] replaced u8 with uint8_t
2015-10-02 11:59:22 +02:00
Cristian Maglie
34a75d9416
[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
7811c2ceed
[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
c07f988609
[PUSB] Global functions PUSB_* are now methods of PluggableUSB class
2015-10-02 11:59:22 +02:00
Cristian Maglie
7302965552
[PUSB] PUSBCallback struct has been merged into PUSBListNode
...
This slightly simplifies PluggableUSB API.
2015-10-02 11:59:22 +02:00
Arturo Guadalupi
2aaef8cdad
Added LED_BUILTIN to GEMMA
...
as asked in #3907
2015-10-01 17:09:59 +02:00
Cristian Maglie
766b8c383a
Merge remote-tracking branch 'arduino/master'
2015-09-29 18:52:38 +02:00
Nico
d2a52bc2ac
Removed not used PUSB_Begin()
2015-09-29 17:02:07 +02:00
Cristian Maglie
a8f15a5766
[HID] Added missing return in HID.begin()
2015-09-28 17:05:36 +02:00
Cristian Maglie
1bfae1d7d5
[HID] Removed unused PUSBReturn structure
2015-09-28 17:05:35 +02:00
Cristian Maglie
691d9fb7f0
[HID] Changed 'u8' to 'uint8_t' in definitions
2015-09-28 17:05:35 +02:00
Nico
b53611a0d1
Removed not needed Timer warning
...
Timer is declared above, so nothing is missing here.
2015-09-28 16:30:40 +02:00
Nico
5ab6edb114
Removed Timer warnings when Timer 2 is not present
2015-09-28 16:30:40 +02:00
Nico
a7edf4d66f
Remove Compiler Warning in Tone.cpp
2015-09-28 16:30:39 +02:00
Nico
1be98bd7d5
Fix compiler warning in CDC.cpp
2015-09-28 16:30:39 +02:00
Nico
948c73c5e3
Fix compiler warnings in USBCore.cpp
2015-09-28 16:30:39 +02:00
Cristian Maglie
37e2914dbb
[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
dfe6048175
Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino
2015-09-28 12:06:35 +02:00
Arturo Guadalupi
d508e4dc54
Added Arduino Zero exclusion to README
2015-09-28 11:29:18 +02:00
Martino Facchin
d3f399fad5
Merge pull request #3864 from facchinm/pulseInLongOVF
...
fix pulseInLong considering overflow
2015-09-25 16:05:35 +02:00
Cristian Maglie
aba020da75
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
f36a7f6e48
{build.path}/{archive_file} is now {archive_file_path} in recipe.ar.pattern
2015-09-24 11:28:26 +02:00
Cristian Maglie
5a5cf764db
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
9b9bf95324
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
d775df409f
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
987b9bf2a8
Merge branch 'patch-7' of https://github.com/NicoHood/Arduino
2015-09-21 12:03:26 +02:00
Martino Facchin
e5685758e3
fix pulseInLong considering overflow
...
fixes #3830
2015-09-21 11:59:20 +02:00
Martino Facchin
2453337d85
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
dc04933aa9
pulseInLong: fix incorrect timeout handling
2015-09-21 10:24:48 +02:00
Nico
7f2ca6ee28
Fix CDC Serial buffer size determination
2015-09-20 11:08:49 +02:00
Nico
edcfdba42d
Fix HW Serial buffer size determination
2015-09-20 11:07:19 +02:00
Nico
6153b93907
Remove Raw HID definitions at wrong place
2015-09-20 11:04:42 +02:00
Federico Fissore
e4f0bb22da
Updating arduino-builder to 1.0.0-beta8
2015-09-18 13:32:27 +02:00
Cristian Maglie
e42c3ccbdb
Merge branch 'ethernet-dns-fix' of https://github.com/cmaglie/Arduino
2015-09-18 11:30:45 +02:00
Cristian Maglie
b5911b2bc5
Fixed wrong category in EEPROM
...
See #3812
2015-09-18 11:23:11 +02:00