This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2650: BLE HID Joystick/gamepad example

Part Number: CC2650


Hi,

I have been trying to get the BLE HID to work on the CC2650 LaunhXL. I did manage to get the keyboard and/or mouse to work but I just cannot get the Joystick to work. 

I programmed the HID Joystick report as per below. The windows 10 computer sees the BLE device, connects to it and sees that it is a Joy stick with 3 buttons and 5 axis but I cannot get any button presses or axis movement.

Please help!!!!

0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x04, // USAGE (Joystick)
0xa1, 0x01, // COLLECTION (Application)

0x85, 0x01,  // Report Id (1)

0x15, 0x00, // LOGICAL_MINIMUM (0)
0x25, 0x01, // LOGICAL_MAXIMUM (1)
0x75, 0x01, // REPORT_SIZE (1)
0x95, 0x03, // REPORT_COUNT (3)
0x05, 0x09, // USAGE_PAGE (Button)
0x19, 0x01, // USAGE_MINIMUM (Button 1)
0x29, 0x03, // USAGE_MAXIMUM (Button 3)
0x81, 0x02, // INPUT (Data,Var,Abs)

0x75, 0x05, // Report Size (5)

0x95, 0x01, // Report Count (1)

0x81, 0x01, // Input (Constant) - Padding or Reserved bits


0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x09, 0x01, // USAGE (Pointer)
0xa1, 0x00, // COLLECTION (Physical)

0x15, 0x81, // Logical Minimum (-127)

0x25, 0x7F, // Logical Maximum (127)

0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x04, // REPORT_COUNT (4)
0x09, 0x30, // USAGE (X)
0x09, 0x31, // USAGE (Y)
0x09, 0x33, // USAGE (Rx)
0x09, 0x34, // USAGE (Ry)
0x81, 0x06, // INPUT (Data,Var,Relative)
0xc0, // END_COLLECTION

0x15, 0x81, // Logical Minimum (-127)

0x25, 0x7F, // Logical Maximum (127)

0x75, 0x08, // REPORT_SIZE (8)
0x95, 0x01, // REPORT_COUNT (1)
0x09, 0x36, // USAGE (Slider)
0x81, 0x06, // INPUT (Data,Var,Relative)
0xc0 // END_COLLECTION

  • Hello Noaman,

    We don't have a joystick example so I can't duplicate your results directly. However, if you are enumerating as a HID/joystick then it means you probably have HID map correct. I would use the debugger to make sure your driver is sending HID reports via the HID API. If that's not happening, then the stack will not notify the host of any changes in the joystick position.

    Best wishes