I initially had issues with the apps i would get from his blog so i started digging around and found that Blue Soliel or whatever its called, has to install its own bluetooth driver on top of yours to get this to work. seeing as how it eventually costs money to use, i wanted to find a way around it.
luckily the fix is pretty easy. I ran the wiilib test app and it worked by itself....hmm but whiteboard doesnt.... What i did was compared the Connect method in the wiimote.cs file from the lib and the whitebaord app (and all of Johnny's other apps) and noticed there was a very small difference.
this is the code from Johnny's apps
if(attrib.VendorID == VID && attrib.ProductID == PID)
{
if (!IsRemoteConnected((int)index))
{
Debug.WriteLine("Found it!");
found = true;
remoteID = (int)index;
connectedRemoteIDs.Add(remoteID);
// create a nice .NET FileStream wrapping the handle above
mStream = new FileStream(mHandle, FileAccess.ReadWrite, REPORT_LENGTH, true);
// start an async read operation on it
BeginAsyncRead();
// read the calibration info from the controller
ReadCalibration();
break;
}
}
What i noticed is the including of the options
if (!IsRemoteConnected((int)index))
and
remoteID = (int)index;
connectedRemoteIDs.Add(remoteID);
then they have in the wiilib a try catch around teh calibrate method. here is the wiilib snippet
if (attrib.VendorID == VID && attrib.ProductID == PID)
{
Debug.WriteLine("Found it!");
found = true;
// create a nice .NET FileStream wrapping the handle above
mStream = new FileStream(mHandle, FileAccess.ReadWrite, REPORT_LENGTH, true);
// start an async read operation on it
BeginAsyncRead();
// read the calibration info from the controller
try
{
ReadCalibration();
}
catch
{
// if we fail above, try the alternate HID writes
mAltWriteMethod = true;
ReadCalibration();
}
break;
}
so if you take out the code and make it like the wiilib code, then it should work. i have not, however tried this with multiple wiimotes as i only have one.
hope this helps, and happy wii'ing