02-09-2011 06:05 PM
We just got a Griffin PowerMate USB input device. You can configure it to work with any application such as LabVIEW, but only to the extent that you can make it send key press events to the application or open the application, etc.
I thought I would be able to read it just as one can read a joystick in LabVIEW, using the Initialize Joystick VI
then the Acquire Input Data vi, but it only shows activity on the "X axis rotation" when I spin the knob, and it only
shows a few values and not continuous changes unless I spin the knob fairly fast.
Has anyone had experience using this in LabVIEW with these VIs?
02-10-2011 05:20 PM
You should be able to use VISA to communicate with this device. This tutorial is a great start.
Brandon Treece
Applications Engineer
National Instruments
02-10-2011 06:14 PM
This is a USB device and isn't showing up anywhere as a VISA device. In other words, I put a VISA resource name control on a front panel, pulldown the list of COM/LPT/GPIB devices attached and nothing USB-like shows up there.
Does VISA really work with USB devices like this?
02-10-2011 06:18 PM
Sorry, I didn't see that you provided a link to the tutorial - I'll check that out.
Thanks,
Brian Smith
02-11-2011 11:01 AM
Ok, I'm following the tutorial, but after selecting the device from the Device List and pressing Next, I get:
The following errors were found when testing the device's compatibility with VISA:
[Device Id: USB\VID_77d&PID_410]
ERROR -1073807178: device descriptor error-
incompatible bcdUSB value (expected 0x110 or
greater)
In the Descriptor Information table it shows;
Device Descriptor:
bLength: 0x12
bDescriptorType: 0x1
bcdUSB: 0x100
bDeviceClass: 0x0
bDeviceSubClass: 0x0
bDeviceProtocol: 0x0
bMaxPacketSize: 0x8
idVendor: 0x77D
idProduct: 0x410
bcdDevice: 0x400
iManufacturer: 0x1 ("Griffin Technology, Inc.")
iProduct: 0x2 ("Griffin PowerMate")
iSerialNumber: 0x0 ("")
bNumConfigurations: 0x1
Configuration Descriptor:
bLength: 0x9
bDescriptor: 0x2
wTotalLength: 0x29
bNumInterfaces: 0x1
bConfigurationValue: 0x1
iConfiguration: 0x4 ("Media Controller ")
bmAttributes: 0xA0
MaxPower: 0x32
Interface Descriptor:
bLength: 0x9
bDescriptorType: 0x4
bInterfaceNumber: 0x0
bAlternateSetting: 0x0
bNumEndpoints: 0x2
bInterfaceClass: 0x3
bInterfaceSubClass: 0x0
bInterfaceProtocol: 0x0
iInterface: 0x5 ("Endpoint 1 ")
Endpoint Descriptor:
bLength: 0x7
bDescriptorType: 0x5
bEndpointAddress: 0x81
bmAttributes: 0x3
wMaxPacketSize: 0x6
bInterval: 0x0
Endpoint Descriptor:
bLength: 0x7
bDescriptorType: 0x5
bEndpointAddress: 0x2
bmAttributes: 0x3
wMaxPacketSize: 0x1
bInterval: 0x0
I followed the instructions and unplugged the device before pressing Next, and got this message. Then I plugged it back in, refreshed the Device List, chose it again, pressed Next and got the same message.
What does this mean?
Thanks.
02-14-2011 03:10 PM
Should I go ahead and "email an NI engineer" with this error message?
02-14-2011 04:38 PM
I did some further looking at your device, and found this on the products website. It looks like this device outputs keyboard shortcuts, so all would need to do is use an event structure that responds to a specific key command.
Brandon Treece
Applications Engineer
National Instruments
02-14-2011 05:35 PM
I already got it to work by using the key press method, but that requires focus on that VI.
We have a system with hundreds of VIs and it would be suboptimal to require that a particular VI has keyboard focus, especially when the user is entering data in another VI.
02-15-2011 04:16 PM
Hi BVSmith,
It looks like you device is not compatible. This KB talks about the error you are getting and decribes why this happens.
Hope this helps!
--Starla T.
03-31-2011 04:51 PM
I am successfully using the Powermate in Labview by making a custom NI-Visa USB driver for it. This works fine with Labview 8.6 under Windows XP. I tried the same approach today under Labview 2010/Win7 and could not get it to work; I received the same error message described above. The KB article says this is because the device must be "compliant with USB 1.1 or higher due to Windows operating system requirements.", but I don't see how this can be the case since the device clearly works on Windows when Griffin's driver is used.