Permalink
Browse files

Initial import from CodePlex

  • Loading branch information...
BrianPeek committed Apr 1, 2017
1 parent 078c198 commit 2bffe2b075fece2fbf8419804e31a0a3a7686c2b
Showing with 23,741 additions and 2 deletions.
  1. +133 −2 README.md
  2. +26 −0 WiimoteCS/Wiimote.sln
  3. +907 −0 WiimoteCS/WiimoteLib/DataTypes.cs
  4. +60 −0 WiimoteCS/WiimoteLib/Events.cs
  5. +165 −0 WiimoteCS/WiimoteLib/HIDImports.cs
  6. +35 −0 WiimoteCS/WiimoteLib/Properties/AssemblyInfo.cs
  7. +1,358 −0 WiimoteCS/WiimoteLib/Wiimote.cs
  8. +33 −0 WiimoteCS/WiimoteLib/WiimoteCollection.cs
  9. +156 −0 WiimoteCS/WiimoteLib/WiimoteLib.csproj
  10. +140 −0 WiimoteCS/WiimoteLib/docs/APIHelp/AdditionalContent/changes.topic
  11. +17 −0 WiimoteCS/WiimoteLib/docs/APIHelp/AdditionalContent/copyright.topic
  12. +41 −0 WiimoteCS/WiimoteLib/docs/APIHelp/AdditionalContent/license.topic
  13. +12 −0 WiimoteCS/WiimoteLib/docs/APIHelp/AdditionalContent/overview.topic
  14. BIN WiimoteCS/WiimoteLib/docs/APIHelp/Help/WiimoteLib.chm
  15. +55 −0 WiimoteCS/WiimoteLib/docs/APIHelp/WiimoteLib.shfb
  16. +7 −0 WiimoteCS/WiimoteLib/docs/APIHelp/WiimoteLib.sitemap
  17. +7 −0 WiimoteCS/WiimoteLib/docs/copyright.txt
  18. +60 −0 WiimoteCS/WiimoteLib/docs/license.txt
  19. +140 −0 WiimoteCS/WiimoteLib/docs/readme.txt
  20. +30 −0 WiimoteCS/WiimoteMSRS/AssemblyInfo.cs
  21. +33 −0 WiimoteCS/WiimoteMSRS/Proxy/AssemblyInfo.cs
  22. BIN WiimoteCS/WiimoteMSRS/Proxy/Microsoft.Resources.DssModel.dss
  23. +74 −0 WiimoteCS/WiimoteMSRS/Proxy/Properties/Resources.Designer.cs
  24. +125 −0 WiimoteCS/WiimoteMSRS/Proxy/Properties/Resources.resx
  25. BIN WiimoteCS/WiimoteMSRS/Proxy/Resources/DssModel.dss
  26. +3,465 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.Proxy.cs
  27. +733 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.Transform.cs
  28. +128 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.proxy.csproj
  29. +128 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.proxy.csproj.bak
  30. +17 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.proxy.csproj.user.bak
  31. +19 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.proxy.sln
  32. +1,565 −0 WiimoteCS/WiimoteMSRS/Proxy/Wiimote.Y2007.M06.proxy.xml
  33. +4,775 −0 WiimoteCS/WiimoteMSRS/Proxy/WiimoteLib.Proxy.WiimoteTypes.cs
  34. +771 −0 WiimoteCS/WiimoteMSRS/Proxy/wiimote.source.transform.cs
  35. +164 −0 WiimoteCS/WiimoteMSRS/Wiimote.csproj
  36. +168 −0 WiimoteCS/WiimoteMSRS/Wiimote.csproj.bak
  37. +11 −0 WiimoteCS/WiimoteMSRS/Wiimote.manifest.xml
  38. +19 −0 WiimoteCS/WiimoteMSRS/WiimoteMSRS.sln
  39. +163 −0 WiimoteCS/WiimoteMSRS/WiimoteService.cs
  40. +81 −0 WiimoteCS/WiimoteMSRS/WiimoteTypes.cs
  41. +64 −0 WiimoteCS/WiimoteTest/MultipleWiimoteForm.Designer.cs
  42. +91 −0 WiimoteCS/WiimoteTest/MultipleWiimoteForm.cs
  43. +120 −0 WiimoteCS/WiimoteTest/MultipleWiimoteForm.resx
  44. +19 −0 WiimoteCS/WiimoteTest/Program.cs
  45. +33 −0 WiimoteCS/WiimoteTest/Properties/AssemblyInfo.cs
  46. +71 −0 WiimoteCS/WiimoteTest/Properties/Resources.Designer.cs
  47. +117 −0 WiimoteCS/WiimoteTest/Properties/Resources.resx
  48. +30 −0 WiimoteCS/WiimoteTest/Properties/Settings.Designer.cs
  49. +7 −0 WiimoteCS/WiimoteTest/Properties/Settings.settings
  50. +65 −0 WiimoteCS/WiimoteTest/SingleWiimoteForm.Designer.cs
  51. +57 −0 WiimoteCS/WiimoteTest/SingleWiimoteForm.cs
  52. +120 −0 WiimoteCS/WiimoteTest/SingleWiimoteForm.resx
  53. +830 −0 WiimoteCS/WiimoteTest/WiimoteInfo.Designer.cs
  54. +220 −0 WiimoteCS/WiimoteTest/WiimoteInfo.cs
  55. +120 −0 WiimoteCS/WiimoteTest/WiimoteInfo.resx
  56. +108 −0 WiimoteCS/WiimoteTest/WiimoteTest.csproj
  57. +26 −0 WiimoteVB/Wiimote.sln
  58. +848 −0 WiimoteVB/WiimoteLib/DataTypes.vb
  59. +59 −0 WiimoteVB/WiimoteLib/Events.vb
  60. +134 −0 WiimoteVB/WiimoteLib/HIDImports.vb
  61. +36 −0 WiimoteVB/WiimoteLib/My Project/AssemblyInfo.vb
  62. +36 −0 WiimoteVB/WiimoteLib/Properties/AssemblyInfo.vb
  63. +1,379 −0 WiimoteVB/WiimoteLib/Wiimote.vb
  64. +32 −0 WiimoteVB/WiimoteLib/WiimoteCollection.vb
  65. +164 −0 WiimoteVB/WiimoteLib/WiimoteLib.vbproj
  66. +601 −0 WiimoteVB/WiimoteTest/MainForm.Designer.vb
  67. +120 −0 WiimoteVB/WiimoteTest/MainForm.resx
  68. +180 −0 WiimoteVB/WiimoteTest/MainForm.vb
  69. +61 −0 WiimoteVB/WiimoteTest/MultipleWiimoteForm.Designer.vb
  70. +120 −0 WiimoteVB/WiimoteTest/MultipleWiimoteForm.resx
  71. +82 −0 WiimoteVB/WiimoteTest/MultipleWiimoteForm.vb
  72. +34 −0 WiimoteVB/WiimoteTest/My Project/AssemblyInfo.vb
  73. +63 −0 WiimoteVB/WiimoteTest/My Project/Resources.Designer.vb
  74. +117 −0 WiimoteVB/WiimoteTest/My Project/Resources.resx
  75. +29 −0 WiimoteVB/WiimoteTest/My Project/Settings.Designer.vb
  76. +7 −0 WiimoteVB/WiimoteTest/My Project/Settings.settings
  77. +19 −0 WiimoteVB/WiimoteTest/Program.vb
  78. +34 −0 WiimoteVB/WiimoteTest/Properties/AssemblyInfo.vb
  79. +63 −0 WiimoteVB/WiimoteTest/Properties/Resources.Designer.vb
  80. +117 −0 WiimoteVB/WiimoteTest/Properties/Resources.resx
  81. +29 −0 WiimoteVB/WiimoteTest/Properties/Settings.Designer.vb
  82. +7 −0 WiimoteVB/WiimoteTest/Properties/Settings.settings
  83. +62 −0 WiimoteVB/WiimoteTest/SingleWiimoteForm.Designer.vb
  84. +120 −0 WiimoteVB/WiimoteTest/SingleWiimoteForm.resx
  85. +54 −0 WiimoteVB/WiimoteTest/SingleWiimoteForm.vb
  86. +779 −0 WiimoteVB/WiimoteTest/WiimoteInfo.Designer.vb
  87. +120 −0 WiimoteVB/WiimoteTest/WiimoteInfo.resx
  88. +208 −0 WiimoteVB/WiimoteTest/WiimoteInfo.vb
  89. +108 −0 WiimoteVB/WiimoteTest/WiimoteTest.vbproj
135 README.md
@@ -1,2 +1,133 @@
# WiimoteLib
A library for using a Nintendo Wii Remote (Wiimote) from .NET.
# Managed Library for Nintendo's Wiimote v1.7.0.0
**by [Brian Peek](http://www.brianpeek.com/)**

For more information, please visit the associated article for this project at
[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!

## Changes

v1.7.0.0
--------
o Writing registers is now properly waiting for the Wiimote to reply
before continuing...this removes all of the Thread.Sleep() calls and
should *greatly* improve performance when setting LEDs and rumble
(Serial Nightmare & wwibrew.org)
o Guitar Hero: World Tour Guitar and Drums now properly recognized and
used (wiibrew.org, tested by Tyler Tolley and Mauro Milazzo)
o Guitar whammy bar is now a 5-bit value instead of 4 (wiibrew.org)
o Position of 4 IRs now properly reported in Basic reporting mode
(Dan Carter)
o Found1/2 now properly reported in MSRS (reported by akka243)
o MSRS project updated to Microsoft Robotics Developer Studio 2008

v1.6.0.0
--------
o Added "center of gravity" calculation to the Wii Fit Balance Board
(thanks to Steven Battersby)
o Structs are now marked [Serializable] (suggested by Caio)
o Battery property is now a float containing the calculated percentage
of battery remaining
o BatteryRaw is the byte value that used to be stored in the Battery
property
o WiimoteTest app now reads extensions properly when inserted at startup
o Exposed HID device path in new HIDDevicePath property on Wiimote object
o Changed the time delay on writes to 50ms from 100ms...this should
improve responsiveness of setting LEDs and rumble

v1.5.2.0
--------
o Ok, Balance Board support is *really* fixed this time
(thanks to Manuel Schroeder, Eduard Kujit and Alex Wilkinson for testing)
o LED checkboxes are properly set on the WiimoteTest tabs

v1.5.1.0
--------
o Oops...a last minute change broke the one thing I was adding: Balance
Board support. Should be working now...(identified by Manuel Schroeder)

v1.5.0.0
--------
o Wii Fit Balance Board support
o The GetStatus() method now waits for a response from the Wiimote before
continuing
o Bug fix for ButtonsExtension report type (0x34)

v1.4.0.0
--------
o Multiple Wiimotes supported!
o Slight change to ExtensionType enum for better extension detection
o Decided I didn't like the dependency on System.Drawing for the 2D point
so am now using my own Point structs. Sorry...
o WiimoteTest app updated to show multiple Wiimotes working

v1.3.0.0
--------
o SetReportType contains an overload taking a new IRSensitivity parameter
which will set the IR camera sensitivity when using an IR report type
o Created new WiimoteException type which is now thrown by the library
o Moved InputReport enum to namespace level
o Events now using the generic EventHandler class instead of custom
delegates
o Refactored the state structures to use Point/PointF and my own
Point3/Point3F
o Refactored IR sensors to be an array
o Added support for the Guitar Hero controller
(tested by Matthias Shapiro, Evan Jacovier)
o Test app will run without Wiimote connected (Andrea Leganza)
o ReadData now returns the proper amount of data for requests of more than
16 bytes (reported by David Hawley)
o Test application updated with above changes
o Lots of breaking changes, but the survey on my site said most didn't care
about backwards compatibility... :)

v1.2.1.0
--------
o Added support for IR 3 and 4 (Johnny Lee)

v1.2.0.0
--------
o Moved to CodePlex! (http://www.codeplex.com/WiimoteLib)
o 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.
o 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)
o WiimoteState.LEDState is now filled with proper values.
(identified by gl.tter/Leif902)
o Extensions that are attached at startup are now recognized properly.
(identified by Will Pressly)
o "Partially inserted" extensions now handled properly (Michael Dorman)
o 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)
o IRState now contains RawMidX/Y and MidX/Y containing the value of the
midpoint between the IR points.
o Async reads now begin after the data parsing and event has been raised.
This should lead to non-overlapping events.
o Updated the test application with the above changes and cleaned up the UI
updates by using delegates a bit more effeciently.

Breaking Changes (may not be a complete list)
----------------------------------------------
o LEDs renamed to LEDState
o GetBatteryLevel renamed to GetStatus
o OnWiimoteChanged renamed to WiimoteChanged
o OnWiimoteExtensionChanged renamed to WiimoteExtensionChanged
o CalibrationInfo renamed to AccelCalibrationInfo
o Event handlers renamed to WiimoteChangedEventHandler and
WiimoteExtensionChangedEventHandler

v1.1.0.0
--------
o Support for XP and Vista x64 (Paul Miller)
o VB fix in ParseExtension (Evan Merz)
o New "AltWriteMethod" property which will try a secondary approach to writing
to the Wiimote. If you get an error when connecting, set this property and
try again to see if it fixes the issue.
o Microsoft Robotics Studio project
Open the WiimoteMSRS directory and start the Wiimote.sln solution to take a
look! (David Lee)

v1.0.1.0
--------
o Calibration copy/paste error (James Darpinian)
@@ -0,0 +1,26 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiimoteTest", "WiimoteTest\WiimoteTest.csproj", "{48223EAB-B2E0-4A64-9074-4444662EB693}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiimoteLib", "WiimoteLib\WiimoteLib.csproj", "{37A555DF-7012-4B99-8A47-1C922A361E52}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{48223EAB-B2E0-4A64-9074-4444662EB693}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{48223EAB-B2E0-4A64-9074-4444662EB693}.Debug|Any CPU.Build.0 = Debug|Any CPU
{48223EAB-B2E0-4A64-9074-4444662EB693}.Release|Any CPU.ActiveCfg = Release|Any CPU
{48223EAB-B2E0-4A64-9074-4444662EB693}.Release|Any CPU.Build.0 = Release|Any CPU
{37A555DF-7012-4B99-8A47-1C922A361E52}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37A555DF-7012-4B99-8A47-1C922A361E52}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37A555DF-7012-4B99-8A47-1C922A361E52}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37A555DF-7012-4B99-8A47-1C922A361E52}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Oops, something went wrong.

0 comments on commit 2bffe2b

Please sign in to comment.