Commit Graph

5443 Commits

Author SHA1 Message Date
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
Federico Fissore 7217f85b62 Updating arduino-builder to 1.0.0 2015-10-08 15:26:54 +02:00
Cristian Maglie 3390a10921 Merge remote-tracking branch 'nico/plugfix3' 2015-10-08 14:53:07 +02:00
Federico Fissore c280955bb1 Updating arduino-builder to 1.0.0-beta25 2015-10-08 10:56:36 +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
chaveiro ef15667ae8 Expose optional DHCP timout parameters to Ethernet:begin()
A no brainer update.
Expose optional timeout parameter values of dhcp for user to adjust on
their code.
Currently if dhcp server is not available, code will block inside
DhcpClass::request_DHCP_lease() for 60s. Having this parameters exposed
user can specify their timeout requirements without changing the lib
code.
Change is backward compatible as parameters are optional and defaults to
existing values.
2015-10-07 17:49:30 +02:00
Cristian Maglie aa921659f6 Merge branch 'phid-class' 2015-10-07 17:05:11 +02:00
Martino Facchin cc4874bb8d update revisions.txt 2015-10-07 15:51:27 +02:00
Federico Fissore 688c406cb9 Checking every candidate path when exporting, instead of assuming one is good if the other is not. Fixes #3905 2015-10-07 15:40:34 +02:00
Federico Fissore 5c7b8e6587 Don't stop downloading package*index.json files if ONE fails for whatever reason. Fixes #3906 2015-10-07 15:32:34 +02:00
Federico Fissore 417857ee45 Fixed a crashed when user attempted to delete a tab of a not yet compiled sketch. Fixes #3913 2015-10-07 15:17:33 +02:00
Federico Fissore 9af0eee338 Fail to save sketch if user attempts to save it with the same name of one of its tabs, excluding the first. Fixes #3914 2015-10-07 15:17:28 +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
Martino Facchin 651ae04a19 Merge pull request #3500 from PeterVH/issue-3321
Improve ArduinoISP sketch
2015-10-07 12:00:20 +02:00
Federico Fissore aa654ba242 Updating arduino-builder to 1.0.0-beta24 2015-10-06 10:52:02 +02:00
Arturo Guadalupi db6123531e Merge pull request #3919 from per1234/ethernet-examples-comments
Clean up comments in Ethernet library examples
2015-10-05 16:04:05 +02:00
Federico Fissore 10fafd755c Windows: fixed ctags path 2015-10-05 15:09:58 +02:00
Federico Fissore 7fbedc2455 Updating arduino-builder to 1.0.0-beta23 2015-10-05 13:33:19 +02:00
per1234 7f4c29927d Clean up Ethernet example comments
- Fix typos and formatting.
- Remove analog inputs part of Circuit comment in ChatServer and
AdvancedChatServer. The examples don't use these analog inputs.
2015-10-04 05:03:31 -07:00
NicoHood 7fdb0efc98 Removed not needed public statement for root node 2015-10-03 07:56:48 +02:00
Arturo Guadalupi f1d6a0cbed right version of keywords.txt 2015-10-02 16:21:16 +02:00
Federico Fissore 7b3f40ec5f Updating arduino-builder to 1.0.0-beta22 2015-10-02 16:12:38 +02:00
Arturo Guadalupi 0f96e461aa Added keyword digitalPinToInterrupt 2015-10-02 14:34:30 +02:00
Federico Fissore 46cb5f0a5c Removing useless includes from examples 2015-10-02 12:24:31 +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
Federico Fissore 9fadb545da Updating arduino-builder to 1.0.0-beta21 2015-10-02 10:59:20 +02:00