1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-12 23:08:52 +01:00
Commit Graph

275 Commits

Author SHA1 Message Date
Brent Wilkins
7f13f63599 Fixed typo 2016-02-01 12:52:29 -07:00
Brent Wilkins
91df079b09 Update Wire.cpp
Removed implicit conversions from unsigned, to signed, back to unsigned.
2016-01-18 13:12:11 -07:00
NicoHood
bab9b6c4f7 Added HID_REPORT_TYPE definitions 2015-12-10 10:30:04 +01:00
Cristian Maglie
463046d691 Merge branch 'remove-wire-keywords' of https://github.com/per1234/Arduino 2015-11-30 10:20:10 +01:00
per1234
d21e054836 Remove unused keywords from Wire libraries keywords.txt
These functions have been replaced by read() and write() since Arduino
1.0.
2015-11-28 17:56:21 -08:00
per1234
ffbcfa781f eeprom_clear example: Set pinMode of LED pin 2015-11-24 16:23:16 -08:00
Cristian Maglie
934475b75b SoftwareSerial: fix flush() behaviour
Fix #4029
2015-11-11 16:28:48 +01:00
Sandeep Mistry
7380750a69 Remove tx_pin_write from SoftwareSerial.h
It’s not implemented anywhere and unused.
2015-11-05 15:39:11 -05:00
Sandeep Mistry
6318f1bf2a Remove unused param warning 2015-11-05 14:28:40 -05:00
Sandeep Mistry
12ebdfe8a0 Add inline to recv and setRxIntMsk to remove warning (#4078) 2015-11-05 14:28:29 -05:00
Cristian Maglie
21168e1b5d [PUSB] Fixed return value for HID_::SendReport 2015-10-30 13:00:33 +01:00
Nico
741d5dff9e [PHID] send data if report ID was sent successful
If the first sending was not successful it is better to abort. Then we get a return value of -1 (instead of -2 if the 2nd call will also fail) and we do not need to block even longer, with another timeout.
2015-10-30 12:58:14 +01:00
NicoHood
cf4d7e1ffb Added return value to HID SendReport 2015-10-30 12:58:14 +01:00
Sandeep Mistry
c71f5e9f88 check TWWC (Write Collision Flag) bit after setting TWDR
as suggested by @earlyprogrammer in #2173, to ensure TWDR value is set
if there is a write collision
2015-10-22 16:33:00 +02:00
Sandeep Mistry
48ff3a10ad release TWI bus right after stop or repeated start is condition
this resolves timing issues seen in #1477
2015-10-22 16:29:43 +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
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
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
Cristian Maglie
5b1b0330b2 [PUSB] renamed some parameters 2015-10-07 13:21:21 +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
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
Cristian Maglie
ffd2943955 [HID] Added missing return in HID.begin() 2015-09-28 17:05:36 +02:00
Cristian Maglie
7d985f97a3 [HID] Changed 'u8' to 'uint8_t' in definitions 2015-09-28 17:05:35 +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
e4d63adf45 Merge branch 'pluggable_hid_impr' of https://github.com/cmaglie/Arduino 2015-09-28 12:06:35 +02:00