GSpringTech
Member
I would like to use the Griffin PowerMate with my Teensy 3.6.
Here is a slightly more technical description of its features, and here's the Linux Kernel driver.
The knob has unlimited rotation and also can be pressed as a button. I want to use it for various projects - e.g. sending MIDI control codes. (I have successfully connected the Teensy and PowerMate with an iPad.)
When connected to the USB Host port on the Teensy 3.6 and after uncommenting USBHOST_PRINT_DEBUG in USBHost_t36.h, I can see the following Serial log entries:
The last four lines were printed by the USBHIDParser::in_data method when I turned the Knob.
Is it possible to get this raw data from INO code?
Or will I need to write a full CPP driver?
TIA
Here is a slightly more technical description of its features, and here's the Linux Kernel driver.
The knob has unlimited rotation and also can be pressed as a button. I want to use it for various projects - e.g. sending MIDI control codes. (I have successfully connected the Teensy and PowerMate with an iPad.)
When connected to the USB Host port on the Teensy 3.6 and after uncommenting USBHOST_PRINT_DEBUG in USBHost_t36.h, I can see the following Serial log entries:
Code:
new_Device: 1.5 Mbit/sec
new_Pipe
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
enumeration:
Config data length = 41
enumeration:
bNumInterfaces = 1
bConfigurationValue = 1
enumeration:
HIDParser claim this=1FFF2040
USBHub memory usage = 960
USBHub claim_device this=1FFF2A40
USBHub memory usage = 960
USBHub claim_device this=1FFF34C0
HIDParser claim this=1FFF2540
HIDParser claim this=1FFF3880
USBSerial claim this=1FFF2E80
vid=77D, pid=410, bDeviceClass = 0, bDeviceSubClass = 0, bDeviceProtocol = 0
09 04 00 00 02 03 00 00 05 09 21 00 01 00 01 22 4A 00 07 05 81 03 06 00 0A 07 05 02 03 01 00 0A
Descriptor 4 = INTERFACE
HIDParser claim this=1FFF2040
bInterfaceClass = 3
bInterfaceSubClass = 0
bInterfaceProtocol = 0
HID Parser Claim: 09 04 00 00 02 03 00 00 05 09 21 00 01 00 01 22 4A 00 07 05 81 03 06 00 0A 07 05 02 03 01 00 0A
report descriptor size = 74
Two endpoint HID:
endpoint = 81
size = 6
interval = 10
endpoint = 2
size = 1
interval = 10
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 3, at offset = 0, shift= 0
new_Pipe
allocate_interrupt_pipe_bandwidth
best_bandwidth = 4, at offset = 1, shift= 0
Descriptor 33 = HID
Descriptor 5 = ENDPOINT
Descriptor 5 = ENDPOINT
*** Device HID1 77d:410 - connected ***
manufacturer: Griffin Technology, Inc.
product: Griffin PowerMate
control callback (hid)
05 0C 09 01 A1 01 05 09 19 01 29 01 15 00 25 01 75 01 95 01 81 02 75 07 95 01 81 01 05 01 09 33 15 81 25 7F 75 08 95 01 81 02 05 0C 09 01 15 00 26 FF 00 75 08 95 04 81 02 09 01 75 08 95 01 91 02 09 01 75 08 95 08 B1 02 C0
mesg = 22000681
got report descriptor
Found top level collection C0001
find_driver
HID: 0 - 00 01 00 4F 10 00
HID: 0 - 00 01 00 4F 10 00
HID: 0 - 00 FF 00 4F 10 00
HID: 0 - 00 FF 00 4F 10 00
The last four lines were printed by the USBHIDParser::in_data method when I turned the Knob.
Is it possible to get this raw data from INO code?
Or will I need to write a full CPP driver?
TIA