aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-10-10Added official HID definitionsNicoHood
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-09[PUSB] Minor Style changeNico
2015-10-08Remove unnecessary includeNico
Its included by HID.h anyways.
2015-10-08[HID] Improved checks in getDescriptor() methodCristian Maglie
2015-10-07[PUSB] Removed unnecessary endpoint and interface functionNicoHood
2015-10-07[PHID] Added SetReport functionNicoHood
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[PUSB] Made getDescriptor() and setup() more flexibleNicoHood
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[PUSB] Changed Interface + Endpoint to unsigned variablesNicoHood
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[PUSB] renamed some parametersCristian Maglie
2015-10-07Small return value error check correctionNicoHood
2015-10-03Removed not needed public statement for root nodeNicoHood
2015-10-02[PUSB] Fix static initialization order fiascoMartino Facchin
For details see: https://isocpp.org/wiki/faq/ctors#static-init-order-on-first-use
2015-10-02[HID] removed HIDDescriptor fieldCristian Maglie
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[HID] Code cleanup (no semantic changes)Cristian Maglie
2015-10-02[HID] removed unused modules_count fieldCristian Maglie
2015-10-02[PUSB] Fixed checks on return valuesCristian Maglie
2015-10-02[USB] Fixed some compiler warningsCristian Maglie
2015-10-02[PUSB] Fixed the correct number of endpointsCristian Maglie
2015-10-02[PUSB] Fixed check for available endpointsCristian Maglie
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[PUSB] No more static fields in PluggableUSB classCristian Maglie
2015-10-02[PUSB] epType array is now part of HID classCristian Maglie
2015-10-02[HID] Removed static fields in HID classCristian Maglie
There is still the epType[] array to be handled in some way.
2015-10-02[PUSB] The latest fields are now set via constructorCristian Maglie
2015-10-02[PUSB] callbacks are now pure virtual methodsCristian Maglie
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[PUSB] Moved static members inside HID_ classCristian Maglie
This commit prepares for the next refactoring
2015-10-02[PUSB] replaced u8 with uint8_tCristian Maglie
2015-10-02[PUSB] Selected interface and endpoint are now part of PUSBListNodeCristian Maglie
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[HID] Now HID extends directly PluggableUSBListNodeCristian Maglie
This avoid duplicate instatiation of callback and save a considerable amount of flash.
2015-10-02[PUSB] Global functions PUSB_* are now methods of PluggableUSB classCristian Maglie
2015-10-02[PUSB] PUSBCallback struct has been merged into PUSBListNodeCristian Maglie
This slightly simplifies PluggableUSB API.
2015-10-01Added LED_BUILTIN to GEMMAArturo Guadalupi
as asked in #3907
2015-09-29Merge remote-tracking branch 'arduino/master'Cristian Maglie
2015-09-29Removed not used PUSB_Begin()Nico
2015-09-28[HID] Added missing return in HID.begin()Cristian Maglie
2015-09-28[HID] Removed unused PUSBReturn structureCristian Maglie
2015-09-28[HID] Changed 'u8' to 'uint8_t' in definitionsCristian Maglie
2015-09-28Removed not needed Timer warningNico
Timer is declared above, so nothing is missing here.
2015-09-28Removed Timer warnings when Timer 2 is not presentNico
2015-09-28Remove Compiler Warning in Tone.cppNico
2015-09-28Fix compiler warning in CDC.cppNico
2015-09-28Fix compiler warnings in USBCore.cppNico
2015-09-28[HID] added 'const' qualifier in HID initializationCristian Maglie
See https://github.com/arduino/Arduino/pull/3840#discussion_r40438845
2015-09-28Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/ArduinoCristian Maglie
2015-09-28Added Arduino Zero exclusion to READMEArturo Guadalupi
2015-09-25Merge pull request #3864 from facchinm/pulseInLongOVFMartino Facchin
fix pulseInLong considering overflow
2015-09-24Fixed another regression in IPAddress.hCristian Maglie
If the includer tries to inlcude IPAddress.h without first including WString.h the build will fail.
2015-09-24{build.path}/{archive_file} is now {archive_file_path} in recipe.ar.patternFederico Fissore
2015-09-22HID: merged HID_Descriptor into HIDDescriptorListNodeCristian Maglie
This simplifies the object model and produce a small gain in code size and performance.
2015-09-22HID: Renamed fields in HIDDescriptorListNode and HID_DescriptorCristian Maglie
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-21Modified reference to Leonardo only in the examplesArturo Guadalupi
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"