USB Joystick library, modified to work as a 6 DOF joystick.

Dependents:   USBJoystick_Test

Fork of USBJoystick by Wim Huiskamp

Revision:
1:8b5f213b169f
Parent:
0:e086541742c3
Child:
2:1549541d3b4b
--- a/USBJoystick.cpp	Thu Jan 05 14:22:02 2017 +0000
+++ b/USBJoystick.cpp	Fri Jan 13 05:37:07 2017 +0000
@@ -43,10 +43,10 @@
    HID_REPORT report;
 
    // Fill the report according to the Joystick Descriptor
-   report.data[0] = _t & 0xff;            
-   report.data[1] = _r & 0xff;               
-   report.data[2] = _x & 0xff;            
-   report.data[3] = _y & 0xff;
+   report.data[0] = _t & 0xffff;            
+   report.data[1] = _r & 0xffff;               
+   report.data[2] = _x & 0xffff;            
+   report.data[3] = _y & 0xffff;
 
 
 #if (BUTTONS4 == 1)               
@@ -122,8 +122,8 @@
 
 
 void USBJoystick::_init() {
-   _t = -127;
-   _r = -127;    
+   _t = -32768;
+   _r = -32768;    
    _x = 0;                       
    _y = 0;     
    _buttons = 0x00000000;
@@ -151,18 +151,19 @@
                COLLECTION(1), 0x00,            // Physical
                  USAGE(1), 0x30,                 // X
                  USAGE(1), 0x31,                 // Y
-//  8 bit values
-                 LOGICAL_MINIMUM(1), 0x81,       // -127
-                 LOGICAL_MAXIMUM(1), 0x7f,       // 127
-                 REPORT_SIZE(1), 0x08,
+////  8 bit values
+//                 LOGICAL_MINIMUM(1), 0x81,       // -127
+//                 LOGICAL_MAXIMUM(1), 0x7f,       // 127
+//                 REPORT_SIZE(1), 0x08,
+//                 REPORT_COUNT(1), 0x02,
+//                 INPUT(1), 0x02,                 // Data, Variable, Absolute
+
+// 16 bit values
+                 LOGICAL_MINIMUM(1), 0x00,       // 0
+                 LOGICAL_MAXIMUM(2), 0xff, 0x7f, // 32767
+                 REPORT_SIZE(1), 0x10,
                  REPORT_COUNT(1), 0x02,
-                 INPUT(1), 0x02,                 // Data, Variable, Absolute                  
-// 16 bit values
-//                 LOGICAL_MINIMUM(1), 0x00,       // 0
-//                 LOGICAL_MAXIMUM(2), 0xff, 0x7f, // 32767
-//                 REPORT_SIZE(1), 0x10,
-//                 REPORT_COUNT(1), 0x02,
-//                 INPUT(1), 0x02,                 // Data, Variable, Absolute                
+                 INPUT(1), 0x02,                 // Data, Variable, Absolute                
 
                END_COLLECTION(0),