Skip to content

Commit 2bffe2b

Browse files
committed
Initial import from CodePlex
1 parent 078c198 commit 2bffe2b

File tree

89 files changed

+23741
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+23741
-2
lines changed

README.md

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,133 @@
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)

WiimoteCS/Wiimote.sln

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 10.00
3+
# Visual Studio 2008
4+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiimoteTest", "WiimoteTest\WiimoteTest.csproj", "{48223EAB-B2E0-4A64-9074-4444662EB693}"
5+
EndProject
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiimoteLib", "WiimoteLib\WiimoteLib.csproj", "{37A555DF-7012-4B99-8A47-1C922A361E52}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Release|Any CPU = Release|Any CPU
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{48223EAB-B2E0-4A64-9074-4444662EB693}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15+
{48223EAB-B2E0-4A64-9074-4444662EB693}.Debug|Any CPU.Build.0 = Debug|Any CPU
16+
{48223EAB-B2E0-4A64-9074-4444662EB693}.Release|Any CPU.ActiveCfg = Release|Any CPU
17+
{48223EAB-B2E0-4A64-9074-4444662EB693}.Release|Any CPU.Build.0 = Release|Any CPU
18+
{37A555DF-7012-4B99-8A47-1C922A361E52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19+
{37A555DF-7012-4B99-8A47-1C922A361E52}.Debug|Any CPU.Build.0 = Debug|Any CPU
20+
{37A555DF-7012-4B99-8A47-1C922A361E52}.Release|Any CPU.ActiveCfg = Release|Any CPU
21+
{37A555DF-7012-4B99-8A47-1C922A361E52}.Release|Any CPU.Build.0 = Release|Any CPU
22+
EndGlobalSection
23+
GlobalSection(SolutionProperties) = preSolution
24+
HideSolutionNode = FALSE
25+
EndGlobalSection
26+
EndGlobal

0 commit comments

Comments
 (0)