USB Joystick library, modified to work as a 6 DOF joystick.
Fork of USBJoystick by
Diff: USBJoystick.cpp
- 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),