From: raphael m. <rap...@or...> - 2019-11-21 08:43:45
|
Good morning pyusb users, I'm writing you this emial because I'm facing an issue that I did not succed to resolve until now, and I'm sure you will. I'm currently working on a Python project which involve the communication witn an USB Device (DP5 Amptek SDD Detector, an x-ray detector), and after a few test it seems that my device dont understand what I'm telling him to do. I started with the basic, a Device Status request, which is the following (.jgp screenshot, I hope you'll be able to see it): I tried the classic dev.write(x,test,x), with test = '\xf5\xfa\x01\x01\x00\x00\xfe\x0f', or test = '\xf5\xfa1100\xfe\x0f' but the expected result, which is the following(same here, .jpg screenshot): does not seems to be return with res = dev.read(x, length, x) with length = 128 or length = 64 (seems odd to me for the 128 but i guess it's for the array format?) My question is therefore quit simple, how do I pass and read thoses command ? I'm using python 3, and I have no problem in term of identification of the device, configuration, interface and endpoint IN and OUT, with pyusb. The program I'm using is an old python 2 demo supplied by the manufacturer which is not supported by them. I precise that I'm rather new to USB and programming in general, so I apologize if this question seems basic, or had already been answered to. Thank you for any response, Best regards, Raphaël Moreau |
From: Nicolas P. <nic...@aa...> - 2019-11-21 09:11:26
|
Bonjour Raphaël, You do not provide enought information. Can you provide a link to the DP5 documentation ? Can you provide a small code sample ? Bonne journée, Nicolas Le 21/11/2019 à 09:43, raphael moreau a écrit : > > Good morning pyusb users, > > I'm writing you this emial because I'm facing an issue that I did not > succed to resolve until now, and I'm sure you will. > > I'm currently working on a Python project which involve the > communication witn an USB Device (DP5 Amptek SDD Detector, an x-ray > detector), and after a few test it seems that my device dont > understand what I'm telling him to do. > > I started with the basic, a Device Status request, which is the > following (.jgp screenshot, I hope you'll be able to see it): > > I tried the classic dev.write(x,test,x), with test = > '\xf5\xfa\x01\x01\x00\x00\xfe\x0f', or test = '\xf5\xfa1100\xfe\x0f' > but the expected result, which is the following(same here, .jpg > screenshot): > > does not seems to be return with res = dev.read(x, length, x) with > length = 128 or length = 64 (seems odd to me for the 128 but i guess > it's for the array format?) > > My question is therefore quit simple, how do I pass and read thoses > command ? > > I'm using python 3, and I have no problem in term of identification of > the device, configuration, interface and endpoint IN and OUT, with pyusb. > > The program I'm using is an old python 2 demo supplied by the > manufacturer which is not supported by them. > > I precise that I'm rather new to USB and programming in general, so I > apologize if this question seems basic, or had already been answered to. > > Thank you for any response, > > Best regards, > > Raphaël Moreau > > > > _______________________________________________ > pyusb-users mailing list > pyu...@li... > https://lists.sourceforge.net/lists/listinfo/pyusb-users |
From: Henning F. <hfo...@it...> - 2019-11-21 13:01:55
|
On Thu, Nov 21, 2019 at 09:43:35AM +0100, raphael moreau wrote: > Good morning pyusb users, > > > > I'm writing you this emial because I'm facing an issue that I did not succed to resolve until now, and I'm sure you will. > > > > I'm currently working on a Python project which involve the communication witn an USB Device (DP5 Amptek SDD Detector, an x-ray detector), and after a few test it seems that my device dont understand what I'm telling him to do. > > > > I started with the basic, a Device Status request, which is the following (.jgp screenshot, I hope you'll be able to see it): > > > > > > I tried the classic dev.write(x,test,x), with test = '\xf5\xfa\x01\x01\x00\x00\xfe\x0f', or test = '\xf5\xfa1100\xfe\x0f' but the expected result, which is the following(same here, .jpg screenshot): > > > > > > does not seems to be return with res = dev.read(x, length, x) with length = 128 or length = 64 (seems odd to me for the 128 but i guess it's for the array format?) > > > > > > My question is therefore quit simple, how do I pass and read thoses command ? > > > Hello, as already stated here before, your information is not sufficient to understand your issue. To be frank AMPTEK is not that easy to deal with, because sometimes arguments are passed little endian some are big endian. You have to figure that out by going through their example c code. I wrote a python lib for another device (mca8000) from AMPTEK. Maybe this will help you: https://github.com/HenningFo/mca8000d Regards, Henning -- Henning Follmann | hfo...@it... |