Wiimote Library Update

Finally!  I have updated my Wiimote library with quite a few bug fixes and a few new features.  Here are the important links:

Starting with this version (v1.2), the library is licensed under the Ms-PL.  This will likely change nothing for 99% of you, but be sure to read through the license before redistributing your applications compiled against this new version.

The new version also includes a CHM help file for the entire API.  For now, the C4F article will remain the source for the basics, and the CHM will remain up-to-date with each release of the API itself.  Hopefully that will be able to provide some more detailed information than the base article, though the API itself isn't very complex.

And finally, here's a list of things that changed since v1.1 .  Note that this list may not be 100% complete as I was a bit lax in keeping my changes noted.

  • Moved to CodePlex! (http://www.codeplex.com/WiimoteLib)
  • New license!  Please read the included license.txt/copyright.txt for more info.  This likely doesn't change anything for anyone, but at least now it's official.
  • AltWriteMethod deprecated.  Connect will now determine which write method to use at runtime.  It remains in case someone needs to override the write method for some reason. (gl.tter)
  • WiimoteState.LEDState is now filled with proper values. (identified by gl.tter/Leif902)
  • Extensions that are attached at startup are now recognized properly.  (identified by Will Pressly)
  • "Partially inserted" extensions now handled properly (Michael Dorman)
  • SetRumble method now does this via the SetLEDs method instead of using the status report to avoid a needless response from the Wiimote. (Michael Dorman)
  • IRState now contains RawMidX/Y and MidX/Y containing the value of the midpoint between the IR points.
  • Async reads now begin after the data parsing and event has been raised.  This should lead to non-overlapping events.
  • Updated the test application with the above changes and cleaned up the UI updates by using delegates a bit more efficiently.
  • Breaking Changes (may not be a complete list)
    • LEDs renamed to LEDState
    • GetBatteryLevel renamed to GetStatus
    • OnWiimoteChanged renamed to WiimoteChanged
    • OnWiimoteExtensionChanged renamed to WiimoteExtensionChanged
    • CalibrationInfo renamed to AccelCalibrationInfo
    • Event handlers renamed to WiimoteChangedEventHandler and WiimoteExtensionChangedEventHandler