Released: MindSqualls v2.0

Discussion specific to NXT-G, NXC, NBC, RobotC, Lejos, and more.
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: Released: MindSqualls v2.0

Post by hassenplug »

Well, I've never actually looked very far into this, but in my latest project, I need to communicate with several NXTs via USB from my C# program. From what I can see, the code I need is in there somewhere. :)

Thanks
Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
mindsqualls
Posts: 16
Joined: 25 Jul 2011, 09:38
Location: Denmark
Contact:

Re: Released: MindSqualls v2.0

Post by mindsqualls »

In that case:
Just released v2.2 which – among other things – fixes a problem with USB.
linusa
Posts: 228
Joined: 16 Oct 2010, 11:44
Location: Aachen, Germany
Contact:

Re: Released: MindSqualls v2.0

Post by linusa »

The download link for the documentation is broken: http://mindsqualls.net/Build_2_2/MindSqualls_v2_2.chm

Great to see you've implemented the I2C digital sensor speed up we talked about :-)
RWTH - Mindstorms NXT Toolbox for MATLAB
state of the art in nxt remote control programming
http://www.mindstorms.rwth-aachen.de
MotorControl now also in Python, .net, and Mathematica
mindsqualls
Posts: 16
Joined: 25 Jul 2011, 09:38
Location: Denmark
Contact:

Re: Released: MindSqualls v2.0

Post by mindsqualls »

linusa wrote:The download link for the documentation is broken: http://mindsqualls.net/Build_2_2/MindSqualls_v2_2.chm
Fixed
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: Released: MindSqualls v2.0

Post by hassenplug »

I'm having a problem with Mindsqualls. I got far enough to recognize an NXT, and it's looking for a winusb.dll file. Any idea where that should exist?

Here's the section of the WinUsbDevice.cs file

[DllImport("winusb.dll", SetLastError = true)]
internal static extern Boolean WinUsb_Initialize(SafeFileHandle DeviceHandle, ref IntPtr InterfaceHandle);


Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
mindsqualls
Posts: 16
Joined: 25 Jul 2011, 09:38
Location: Denmark
Contact:

Re: Released: MindSqualls v2.0

Post by mindsqualls »

hassenplug wrote:... it's looking for a winusb.dll file. Any idea where that should exist?
WinUSB is a generic USB driver.

On my Windows 7 the 32- and 64-bit version are placed here:
C:\Windows\System32\winusb.dll
C:\Windows\SysWOW64\winusb.dll

Apparently it is included with Windows from Vista and on, so if you are using Windows XP that might be the reason.

WinUSB can be installed on Windows XP. It is part of the Windows Driver Kit (WDK):
http://www.microsoft.com/download/en/de ... n&id=11800

I’d have to confess that I don’t know is installing the WDK will install WinUSB or if further configuration is needed. Also, the WDK contains much more than just the WinUSB and it is really intended for developers.

I guess that I will have to try to come up with a solution that uses the fantom-driver instead.
Running your NXT with .NET:
http://mindsqualls.net/
hassenplug
Posts: 346
Joined: 27 Sep 2010, 03:05
Contact:

Re: Released: MindSqualls v2.0

Post by hassenplug »

mindsqualls wrote: Apparently it is included with Windows from Vista and on, so if you are using Windows XP that might be the reason.

WinUSB can be installed on Windows XP. It is part of the Windows Driver Kit (WDK):
http://www.microsoft.com/download/en/de ... n&id=11800

I’d have to confess that I don’t know is installing the WDK will install WinUSB or if further configuration is needed. Also, the WDK contains much more than just the WinUSB and it is really intended for developers.
Yes, I'm having a problem with the USB drivers. On my XP machine, it can't find the WinUSB.dll, and on my WIndows 7 machine, the function SetupDiEnumDeviceInterfaces

does not return any devices.

Steve
---> Link to lots of MINDSTORMS stuff under my picture --->
noob4life
Posts: 5
Joined: 17 Jul 2012, 08:55

Re: Released: MindSqualls v2.0

Post by noob4life »

Hey guys,

I know this thread hasn't been touched for quite some time, but I had problems with the missing winusb.sys on Windows XP, which was the reason why MindSqualls USB connection does not work under Windows XP, at first.
As someone pointed out earlier you need to install it separately using the Windows Driver Kit (WDK). It's quite a mess if you never done something like this before (like me :) ). I finaly figured it out after mixing up fantom's files, win7 files and example files. Since it cost me around two full days I decided to share my result.

It's a zip containing four files:
  • ReadMe.txt
  • WdfCoInstaller01009.dll - Used to install the driver as a kernel mode driver (kmd)
  • winusbcoinstaller2.dll - You can't copy/install winusb.sys directly --> you need to extract with the coninstaller
  • workingWinUSBinstallerInf.inf - This is the handmade inf that connects the winusb driver with your nxt and instructs the extraction
For the case you are interested in where the files are from and how it works:
WdfCoInstaller and winusbcoinstaller are from the WDK version 7.1.0 (can be downloaded here). Download the iso, install it and find the two dll's in the redist folder. Further information on how to install WinUsb.sys as a function driver can be found in the WinUsb_HowTo.docx document released by microsoft.

For the case you just want to install and run:
Please be sure to understand, that you can't use the winusb driver and the fantom driver at the same time.
As a consequence you won't be able to use e.g. Bricx Command Center.
  • Download the zip in the attachment, unzip it.
  • Open the device manager (e.g. Start-->Run-->devmgmt.msc)
  • Power on your nxt, it should appear under "LEGO Devices",
  • Right click the nxt and choose "Update driver"
  • Choose "No, not this time", next
  • Choose "Install from a list or specific location (Advanced)", next
  • Choose "Don't search. I will choose the driver to install.", next
  • Click on "Have Disk..."
  • Click on "Browse...", choose the inf you just unzipped, click open and OK
  • Choose "Lego Mindstorm alternative driver - WinUSB only", next
  • Wait for windows to do its magic, then click "Finish"
  • In the device manager you should now see "Lego Mindstorm alternative driver - WinUSB only" under "LEGO Devices"

For reinstallation of the original driver do the same process just don't choose "Install from a list or specific location (Advanced)", but "Install the software automatically (Recommended)" instead.

I hope it's helpful for someone.

Cheers,

noob4life
Post Reply

Who is online

Users browsing this forum: No registered users and 21 guests