As I see EDU9 uses USB HID for communicating with Win application with using the DSOLink.dll . Can I get sources of this dll? If no, is the data flow through USB simple enough to write my own parser?
Here is the link to download the DSOLink source code: app.box.com/s/m8lz24cnjnniy40ylpjb
The code is very simple indeed.
Hi,
I’m interested in this as well. Just got an EDU09, but haven’t got any computer running windows.
I’m not sure I’m totally helped by the source code for dsolink.dll however, given that my HID driver skills are somewhat limited. Especially when it comes to windows stuff. From what I can understand, it creates a shared memory area that looks like a file object to allow user applications to read data. The ReadCh functions looks like simple memcpy of a chunk of data from different offsets in the shared memory to a user supplied buffer, and the flag to indicate valid data seems to be located at offset 40992 (or perhaps 40992*4 judging from the four add esi, address instructions. My x86 ASM is a bit rusty). First of all, is this correct? It also leaves me with some other questions.
- How does the driver write into the shared memory?
- Doesn’t the driver ever write anything to the edu09? This only looks like it’s reading out data.
- Is this using the same protocol as the Velleman PCSxxx series? I found that there has been some effort in doing user-space Linux applications for those scopes
Cheers,
Olof
[quote]From what I can understand, it creates a shared memory area that looks like a file object to allow user applications to read data. The ReadCh functions looks like simple memcpy of a chunk of data from different offsets in the shared memory to a user supplied buffer, and the flag to indicate valid data seems to be located at offset 40992 (or perhaps 409924 judging from the four add esi, address instructions. My x86 ASM is a bit rusty). First of all, is this correct?[/quote]Yes, this is correct - mainly. The valid data is located at offset 40994. The data is 32 bit integers.
[quote]1. How does the driver write into the shared memory?[/quote]The DSOLink.DLL is not writing into the shared memory. Only the oscillosope software writes.
[quote]2. Doesn’t the driver ever write anything to the edu09? This only looks like it’s reading out data.[/quote]Yes, it is only reading the data.
[quote]3. Is this using the same protocol as the Velleman PCSxxx series? I found that there has been some effort in doing user-space Linux applications for those scopes[/quote]No, due to the totally different hardware of this scope compared to the PCSxxx scopes the protocol is also different.
I’m sorry, no written description of the protocol available.