|
1 |
| -# WiimoteLib |
2 |
| -A library for using a Nintendo Wii Remote (Wiimote) from .NET. |
| 1 | +# Managed Library for Nintendo's Wiimote v1.7.0.0 |
| 2 | +**by [Brian Peek](http://www.brianpeek.com/)** |
| 3 | + |
| 4 | +For more information, please visit the associated article for this project at |
| 5 | +[Coding4Fun](http://msdn.microsoft.com/coding4fun/hardware/article.aspx?articleid=1879033). There you will find documentation on how all of this works. If all else fails, please contact me at the address above. Enjoy! |
| 6 | + |
| 7 | +## Changes |
| 8 | + |
| 9 | +v1.7.0.0 |
| 10 | +-------- |
| 11 | + o Writing registers is now properly waiting for the Wiimote to reply |
| 12 | + before continuing...this removes all of the Thread.Sleep() calls and |
| 13 | + should *greatly* improve performance when setting LEDs and rumble |
| 14 | + (Serial Nightmare & wwibrew.org) |
| 15 | + o Guitar Hero: World Tour Guitar and Drums now properly recognized and |
| 16 | + used (wiibrew.org, tested by Tyler Tolley and Mauro Milazzo) |
| 17 | + o Guitar whammy bar is now a 5-bit value instead of 4 (wiibrew.org) |
| 18 | + o Position of 4 IRs now properly reported in Basic reporting mode |
| 19 | + (Dan Carter) |
| 20 | + o Found1/2 now properly reported in MSRS (reported by akka243) |
| 21 | + o MSRS project updated to Microsoft Robotics Developer Studio 2008 |
| 22 | + |
| 23 | +v1.6.0.0 |
| 24 | +-------- |
| 25 | + o Added "center of gravity" calculation to the Wii Fit Balance Board |
| 26 | + (thanks to Steven Battersby) |
| 27 | + o Structs are now marked [Serializable] (suggested by Caio) |
| 28 | + o Battery property is now a float containing the calculated percentage |
| 29 | + of battery remaining |
| 30 | + o BatteryRaw is the byte value that used to be stored in the Battery |
| 31 | + property |
| 32 | + o WiimoteTest app now reads extensions properly when inserted at startup |
| 33 | + o Exposed HID device path in new HIDDevicePath property on Wiimote object |
| 34 | + o Changed the time delay on writes to 50ms from 100ms...this should |
| 35 | + improve responsiveness of setting LEDs and rumble |
| 36 | + |
| 37 | +v1.5.2.0 |
| 38 | +-------- |
| 39 | + o Ok, Balance Board support is *really* fixed this time |
| 40 | + (thanks to Manuel Schroeder, Eduard Kujit and Alex Wilkinson for testing) |
| 41 | + o LED checkboxes are properly set on the WiimoteTest tabs |
| 42 | + |
| 43 | +v1.5.1.0 |
| 44 | +-------- |
| 45 | + o Oops...a last minute change broke the one thing I was adding: Balance |
| 46 | + Board support. Should be working now...(identified by Manuel Schroeder) |
| 47 | + |
| 48 | +v1.5.0.0 |
| 49 | +-------- |
| 50 | + o Wii Fit Balance Board support |
| 51 | + o The GetStatus() method now waits for a response from the Wiimote before |
| 52 | + continuing |
| 53 | + o Bug fix for ButtonsExtension report type (0x34) |
| 54 | + |
| 55 | +v1.4.0.0 |
| 56 | +-------- |
| 57 | + o Multiple Wiimotes supported! |
| 58 | + o Slight change to ExtensionType enum for better extension detection |
| 59 | + o Decided I didn't like the dependency on System.Drawing for the 2D point |
| 60 | + so am now using my own Point structs. Sorry... |
| 61 | + o WiimoteTest app updated to show multiple Wiimotes working |
| 62 | + |
| 63 | +v1.3.0.0 |
| 64 | +-------- |
| 65 | + o SetReportType contains an overload taking a new IRSensitivity parameter |
| 66 | + which will set the IR camera sensitivity when using an IR report type |
| 67 | + o Created new WiimoteException type which is now thrown by the library |
| 68 | + o Moved InputReport enum to namespace level |
| 69 | + o Events now using the generic EventHandler class instead of custom |
| 70 | + delegates |
| 71 | + o Refactored the state structures to use Point/PointF and my own |
| 72 | + Point3/Point3F |
| 73 | + o Refactored IR sensors to be an array |
| 74 | + o Added support for the Guitar Hero controller |
| 75 | + (tested by Matthias Shapiro, Evan Jacovier) |
| 76 | + o Test app will run without Wiimote connected (Andrea Leganza) |
| 77 | + o ReadData now returns the proper amount of data for requests of more than |
| 78 | + 16 bytes (reported by David Hawley) |
| 79 | + o Test application updated with above changes |
| 80 | + o Lots of breaking changes, but the survey on my site said most didn't care |
| 81 | + about backwards compatibility... :) |
| 82 | + |
| 83 | +v1.2.1.0 |
| 84 | +-------- |
| 85 | + o Added support for IR 3 and 4 (Johnny Lee) |
| 86 | + |
| 87 | +v1.2.0.0 |
| 88 | +-------- |
| 89 | + o Moved to CodePlex! (http://www.codeplex.com/WiimoteLib) |
| 90 | + o New license! Please read the included license.txt/copyright.txt for more |
| 91 | + info. This likely doesn't change anything for anyone, but at least now |
| 92 | + it's official. |
| 93 | + o AltWriteMethod deprecated. Connect will now determine which write method |
| 94 | + to use at runtime. It remains in case someone needs to override the |
| 95 | + write method for some reason. (gl.tter) |
| 96 | + o WiimoteState.LEDState is now filled with proper values. |
| 97 | + (identified by gl.tter/Leif902) |
| 98 | + o Extensions that are attached at startup are now recognized properly. |
| 99 | + (identified by Will Pressly) |
| 100 | + o "Partially inserted" extensions now handled properly (Michael Dorman) |
| 101 | + o SetRumble method now does this via the SetLEDs method instead of using the |
| 102 | + status report to avoid a needless response from the Wiimote. (Michael Dorman) |
| 103 | + o IRState now contains RawMidX/Y and MidX/Y containing the value of the |
| 104 | + midpoint between the IR points. |
| 105 | + o Async reads now begin after the data parsing and event has been raised. |
| 106 | + This should lead to non-overlapping events. |
| 107 | + o Updated the test application with the above changes and cleaned up the UI |
| 108 | + updates by using delegates a bit more effeciently. |
| 109 | + |
| 110 | + Breaking Changes (may not be a complete list) |
| 111 | + ---------------------------------------------- |
| 112 | + o LEDs renamed to LEDState |
| 113 | + o GetBatteryLevel renamed to GetStatus |
| 114 | + o OnWiimoteChanged renamed to WiimoteChanged |
| 115 | + o OnWiimoteExtensionChanged renamed to WiimoteExtensionChanged |
| 116 | + o CalibrationInfo renamed to AccelCalibrationInfo |
| 117 | + o Event handlers renamed to WiimoteChangedEventHandler and |
| 118 | + WiimoteExtensionChangedEventHandler |
| 119 | + |
| 120 | +v1.1.0.0 |
| 121 | +-------- |
| 122 | + o Support for XP and Vista x64 (Paul Miller) |
| 123 | + o VB fix in ParseExtension (Evan Merz) |
| 124 | + o New "AltWriteMethod" property which will try a secondary approach to writing |
| 125 | + to the Wiimote. If you get an error when connecting, set this property and |
| 126 | + try again to see if it fixes the issue. |
| 127 | + o Microsoft Robotics Studio project |
| 128 | + Open the WiimoteMSRS directory and start the Wiimote.sln solution to take a |
| 129 | + look! (David Lee) |
| 130 | + |
| 131 | +v1.0.1.0 |
| 132 | +-------- |
| 133 | + o Calibration copy/paste error (James Darpinian) |
0 commit comments