aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartino Facchin <m.facchin@arduino.cc>2015-06-26 17:16:54 +0200
committerCristian Maglie <c.maglie@arduino.cc>2015-07-16 13:13:51 +0200
commit30ebf7f92483bb57076ba571dcd04b4e8bb94872 (patch)
treeba6fdf59f5024617e2f7e0f0418ab1a62589037d
parent3ee0fa126506c623bf45ddcfccce1bf2abd2e41e (diff)
fix HID descriptors bigger than 127 bytes
-rw-r--r--cores/arduino/PluggableUSB.cpp8
-rw-r--r--cores/arduino/PluggableUSB.h8
-rw-r--r--libraries/HID/HID.cpp8
-rw-r--r--libraries/HID/HID.h4
4 files changed, 14 insertions, 14 deletions
diff --git a/cores/arduino/PluggableUSB.cpp b/cores/arduino/PluggableUSB.cpp
index 00f400d..970c11e 100644
--- a/cores/arduino/PluggableUSB.cpp
+++ b/cores/arduino/PluggableUSB.cpp
@@ -36,9 +36,9 @@ static u8 modules_count = 0;
static PUSBListNode* rootNode = NULL;
static PUSBListNode* lastNode = NULL;
-int8_t PUSB_GetInterface(u8* interfaceNum)
+int PUSB_GetInterface(u8* interfaceNum)
{
- int8_t ret = 0;
+ int ret = 0;
PUSBListNode* node = rootNode;
for (u8 i=0; i<modules_count; i++) {
ret = node->cb->getInterface(interfaceNum);
@@ -47,9 +47,9 @@ int8_t PUSB_GetInterface(u8* interfaceNum)
return ret;
}
-int8_t PUSB_GetDescriptor(int8_t t)
+int PUSB_GetDescriptor(int8_t t)
{
- int8_t ret = 0;
+ int ret = 0;
PUSBListNode* node = rootNode;
for (u8 i=0; i<modules_count && ret == 0; i++) {
ret = node->cb->getDescriptor(t);
diff --git a/cores/arduino/PluggableUSB.h b/cores/arduino/PluggableUSB.h
index f729deb..b9a27c1 100644
--- a/cores/arduino/PluggableUSB.h
+++ b/cores/arduino/PluggableUSB.h
@@ -28,8 +28,8 @@
typedef struct
{
bool (*setup)(Setup& setup, u8 i);
- int8_t (*getInterface)(u8* interfaceNum);
- int8_t (*getDescriptor)(int8_t t);
+ int (*getInterface)(u8* interfaceNum);
+ int (*getDescriptor)(int8_t t);
int8_t numEndpoints;
int8_t numInterfaces;
uint8_t *endpointType;
@@ -50,9 +50,9 @@ public:
int8_t PUSB_AddFunction(PUSBListNode *node, u8 *interface);
-int8_t PUSB_GetInterface(u8* interfaceNum);
+int PUSB_GetInterface(u8* interfaceNum);
-int8_t PUSB_GetDescriptor(int8_t t);
+int PUSB_GetDescriptor(int8_t t);
bool PUSB_Setup(Setup& setup, u8 i);
diff --git a/libraries/HID/HID.cpp b/libraries/HID/HID.cpp
index bd7d25c..c1ac51a 100644
--- a/libraries/HID/HID.cpp
+++ b/libraries/HID/HID.cpp
@@ -51,13 +51,13 @@ HIDDescriptor _hidInterface;
u8 _hid_protocol = 1;
u8 _hid_idle = 1;
-int8_t WEAK HID_GetInterface(u8* interfaceNum)
+int HID_GetInterface(u8* interfaceNum)
{
interfaceNum[0] += 1; // uses 1
return USB_SendControl(0,&_hidInterface,sizeof(_hidInterface));
}
-int8_t WEAK HID_GetDescriptor(int8_t t)
+int HID_GetDescriptor(int8_t t)
{
if (HID_REPORT_DESCRIPTOR_TYPE == t) {
return USB_SendControl(TRANSFER_PGM,_hidReportDescriptor,getsizeof_hidReportDescriptor());
@@ -66,13 +66,13 @@ int8_t WEAK HID_GetDescriptor(int8_t t)
}
}
-void WEAK HID_SendReport(u8 id, const void* data, int len)
+void HID_SendReport(u8 id, const void* data, int len)
{
USB_Send(HID_TX, &id, 1);
USB_Send(HID_TX | TRANSFER_RELEASE,data,len);
}
-bool WEAK HID_Setup(Setup& setup, u8 i)
+bool HID_Setup(Setup& setup, u8 i)
{
if (HID_INTERFACE != i) {
return false;
diff --git a/libraries/HID/HID.h b/libraries/HID/HID.h
index a75774f..fe8ee09 100644
--- a/libraries/HID/HID.h
+++ b/libraries/HID/HID.h
@@ -39,8 +39,8 @@ public:
};
int8_t HID_Plug(void);
-int8_t HID_GetInterface(u8* interfaceNum);
-int8_t HID_GetDescriptor(int8_t t);
+int HID_GetInterface(u8* interfaceNum);
+int HID_GetDescriptor(int8_t t);
bool HID_Setup(Setup& setup, u8 i);
void HID_SendReport(uint8_t id, const void* data, int len);