Elizabeth,
Why dont you update your code including the initialization code for your
instrument? It may be usuful in the future if somebody try to search the
list archives for help. Well, this is just a suggestion.


On Fri, Jul 19, 2013 at 4:30 PM, Elizabeth Tolman <etol...@princeton.edu>wrote:

> Thank you all so much for your help!  I can now get the multimeter to talk
> to me.  It turns out you have to send it a message before it will send you
> reports.  I'm still working on the best way to understand and record these
> reports, though, so I may need more help later, but for now things are
> going well.
>
>
> On Fri, Jul 19, 2013 at 4:35 AM, Xiaofan Chen <xiaof...@gmail.com> wrote:
>
>> On Thu, Jul 18, 2013 at 9:40 PM, Elizabeth Tolman <etol...@princeton.edu>
>> wrote:
>> >
>> > I don't know if this is helpful or not, but I have another software
>> > program that reads from this multimeter.  I can't look at the source
>> code
>> > because it's a .exe file, but I used USBlyzer to look at the requests
>> it was
>> > sending across the USB cable once it found the device.  I was thinking
>> maybe
>> > I could somehow replicate these commands.  Note that all this happened
>> when
>> > a different driver was installed (libusb 1.2.6.0 has you install a new
>> > driver for the device you want to use).  This is screenshot of the most
>> > important part; and I've attached the .ulz file of the whole exchange:
>>
>> You will have to carry out the revers engineering by yourself.
>> And this is really not a pyusb or libusb-win32 problem. You have
>> to understand the communication protocol before using pyusb.
>>
>> Since this is an HID device (bInterfaceClass:    3), you will find
>> the USB HID spec useful, especially Chapter 7.
>>
>> You should read the HID spec here. It is quite useful,
>> especially Chapter 7.
>> http://www.usb.org/developers/devclass_docs/HID1_11.pdf
>>
>> Some cheat codes for you, from Linux USB developer
>> Alan Stern. It might help you to translate HID report
>> read/write to control IN/OUT transfer.
>>
>> HID device also uses Interrupt IN/OUT transfer.
>>
>>                 Standard device requests
>>
>> RQtype Req      Value           Index   Length
>> ----------------------------------------------
>>   0     1       dev-feat        0       0       Clear device feature
>>   0     3       dev-feat        0       0       Set device feature
>>   0     5       address         0       0       Set device address
>>   0     9       config-value    0       0       Set configuration
>>   1     b       altsetting      intf    0       Set interface
>>   1     1       intf-feat       intf    0       Clear interface feature
>>   1     3       intf-feat       intf    0       Set interface feature
>>   2     1       ep-feat         ep      0       Clear endpoint feature
>>   2     3       ep-feat         ep      0       Set endpoint feature
>>  80     0       0               0       2       Get device status
>>  80     6       descr-type/     0/      len     Get descriptor
>>                 index           lang-ID
>>  80     8       0               0       1       Get configuration
>>  81     0       0               intf    2       Get interface status
>>  81     a       0               intf    1       Get interface (altsetting)
>>  82     0       0               ep      2       Get endpoint status
>>
>> Device features:        0 = self-powered, 1 = remote wakeup
>> Interface features:     None
>> Endpoint features:      0 = halt
>> Descriptor types:       1 = device, 2 = config, 3 = string, (4 =
>> interface,
>>         5 = endpoint), 6 = device qualifier, 7 = other-speed config
>>
>>
>>
>>                 Hub class requests
>>
>> RQtype Req      Value           Index   Length
>> ----------------------------------------------
>>  20     1       hub-feat        0       0       Clear hub feature
>>  20     3       hub-feat        0       0       Set hub feature
>>  23     1       port-feat       sel/    0       Clear port feature
>>                                 port
>>  23     3       port-feat       sel/    0       Set port feature
>>                                 port
>>  a0     0       0               0       4       Get hub status
>>  a0     6       2900            0       len     Get hub descriptor
>>  a3     0       0               port    4       Get port status
>>
>> Hub features:   0 = hub local power, 1 = hub over current,
>>                 10 = ch hub local power, 11 = ch hub over current
>> Port features:  0 = connect, 1 = enable, 2 = suspend, 3 = over current,
>>                 4 = reset, 8 = power, 9 = low speed, a = high speed,
>>                 b = test mode, c = indicator,
>>                 10 = ch connect, 11 = ch enable, 12 = ch suspend,
>>                 13 = ch over current, 14 = ch reset
>> Selector is used for port indicators
>>
>>
>>
>>                 HID class requests
>>
>> RQtype Req      Value           Index   Length
>> ----------------------------------------------
>>  21     9       report-type/ID  intf    len     Set report
>>  21     a       duration/ID     intf    0       Set idle
>>  21     b       proto           intf    0       Set protocol
>>  81     6       descr-type/set  intf    len     Get class descriptor
>>  a1     1       report-type/ID  intf    len     Get report
>>  a1     2       0/ID            intf    1       Get idle
>>  a1     3       0               intf    1       Get protocol
>>
>> Report type:            1 = input, 2 = output, 3 = feature
>> Descriptor type:        21 = HID, 22 = Report, 23 = Physical
>> Protocol:               0 = boot, 1 = report
>>
>> --
>> Xiaofan
>>
>>
>> ------------------------------------------------------------------------------
>> See everything from the browser to the database with AppDynamics
>> Get end-to-end visibility with application monitoring from AppDynamics
>> Isolate bottlenecks and diagnose root cause in seconds.
>> Start your free trial of AppDynamics Pro today!
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
>> _______________________________________________
>> pyusb-users mailing list
>> pyusb-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>>
>
>
>
> ------------------------------------------------------------------------------
> See everything from the browser to the database with AppDynamics
> Get end-to-end visibility with application monitoring from AppDynamics
> Isolate bottlenecks and diagnose root cause in seconds.
> Start your free trial of AppDynamics Pro today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
> _______________________________________________
> pyusb-users mailing list
> pyusb-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>
>
------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to