USB AVR Prog / SLOscope in C#: Unable to load 'sloscope.dll'

Hello,

I have been using my USB AVR Programmer for a few months now as a basic ISP programmer and it works great. I am running it on Win XP 32 bit machines.

I played around with the SLO-scope application, runs fine. I would now like to try something more advanced and want to modify the C# SLOscope app source code.

I downloaded “SLO-scope client C# source code (56k zip)” from pololu.com/catalog/product/1300/resources as well as Microsoft Visual C# Express and installed them. Loaded sloscope_client solution.

When I hit F5 (Start Debug) the application will not start, and I get the following Error message box:
Unable to load DLL ‘sloscope.dll’: The specified module could not be found (Exception from HRESULT: 0x8007007E)

Not sure what I’m missing. Tried adding a reference to the DLL through Project>Add Reference>Browse and selecting sloscope.dll but get an error telling me that the reference could not be added and to make sure that the file is a valid assembly or COM component. I do not know enough about sloscope.dll and .NET to know where to go next.

Hoping you can help me and others out on how to get started.

Thanks,
George

Hello, MGeo.

Are you using Microsoft Visual C# Express 2008 or 2010? What version of Windows are you using?

In the Debug tab of the project properties for the Visual C# project you downloaded, the working directory is set to “.”, which should allow the application to find DLLs that are in the same directory as sloscope_client.csproj. Can you verify that there is a sloscope.dll in the same directory as sloscope_client.csproj?

If Windows still has trouble finding the DLL, you should try copying it to C:\Windows\system32 or C:\Windows\system.

Our sloscope.dll is a WIN32/unmanaged DLL, not a .NET/managed DLL so adding a Reference to it is not the right thing to do.

–David

Running Win XP SP3, VS C# Express 2010.

Working directory is indeed set to “.”, there is a copy of sloscope.dll in the working directory, in my case “C:\Documents and Settings\Owner\My Documents\Visual Studio 2010\Projects\Pololu Sloscope Client\sloscope_client”.

Putting a copy of the dll in C:\Windows\system32 worked! Thanks for the help. I would recommend that the documentation get updated to clarify. The documentation mentions a “sloscope_installer.bat” but I could not find that in any of the downloads. I assume that among other things this copys the dll to C:\Windows\system32.

Thanks again for the help.

George

Hi,
I have the same problem, but coping dll to system32 don’t help. I am using winXP-64 SP2.
May be dll is not compatible with 64 bit system ?

Thanks in advance.

Hello, yesbird.

Unfortunately, the drivers for the Pololu USB AVR Programmer do not work on Windows XP 64-bit, so even if you fix this error you probably won’t be able to use the SLO-scope.

–David

Thanks David, will use my old notebook with XP-32.

I have find that driver of USB programmer successfuly instaled under XP64, but one of two ports disabled, so now I can programm my Orangutan, but can’t debug via TTL.
If you can send me more technical information about low-level communication with programmer or may be sources of driver/sloscope.dll there is a chance I can force it to work under XP64 - I am professional С++ programmer. Moreover I would like to write driver for NI Labview to accure data from USB programmer and use NI Labview oscilloscope.

Hello.

Here is documentation of the low-level USB protocol used by the SLO-scope:

pgm03a_usb_doc.html (6.63 KB)

It is not very polished and was written for another customer, but it should have all the information you need. Using this and WinUSB you should be able to write a C or C++ program that opens a handle to the programmer’s native USB interface, enables the SLO-scope, and reads data from it.

Please let us know if you succeed in writing a driver for the SLO-scope!

–David

Thanks, David,

I like your products, my first robot based on Baby Orangutan almost ready, such good (and not expensive !) hardware as programmer shoud have good software.
Will try to write a driver.