diff options
Diffstat (limited to 'wiiyourself/ReadMe.txt')
| -rw-r--r-- | wiiyourself/ReadMe.txt | 202 | 
1 files changed, 202 insertions, 0 deletions
| diff --git a/wiiyourself/ReadMe.txt b/wiiyourself/ReadMe.txt new file mode 100644 index 00000000..85ca0034 --- /dev/null +++ b/wiiyourself/ReadMe.txt @@ -0,0 +1,202 @@ +__________________________________________________________________ + +     - WiiYourself! - native C++ Wiimote library  v1.15 +       (c) gl.tter 2007-10 - http://gl.tter.org +__________________________________________________________________ + +This marks the likely-final release of my free & fully-featured + Wiimote native C++ library for Windows. + +Originally based on Brian Peek's 'Managed Wiimote Library' + (http://blogs.msdn.com/coding4fun/archive/2007/03/14/1879033.aspx) + I then rewrote and extended it considerably. + +There's no documentation - check Brian's article for a good +overview and general 'Wiimote with Windows' info - but the +source code has extensive comments, and the demo app should help +you make sense of it all.  Any questions, join my mailing list +(below). + +Check License.txt for the (few) conditions of use, and + History.txt for important changes from previous versions. +_____ + +Notes: + +  - the library consists only of wiimote.cpp & wiimote.h.  Simply add +     them to your project and include the header. + +  - VC 2005 & 2008 projects, and a MSYS makefile for MinGW for the +     demo program are included. +   +  -	for MSYS: +        at the MSYS prompt type:  make -f Makefile.MSYS +         (it will create a folder named MinGW whith the binaries +          and proper folder structure) +         +  - The Windows Driver Development Kit (WDK or DDK) is required to +     build (for the HID API).  It's a free download from MS page +     (no need to register).  Currently it's found here (or search +     for it on microsoft.com): +   +     'Windows Driver Kit (WDK) 7.1.0' +     http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx + +    Unfortunately it changes frequently so the instructions below +     may be wrong or incomplete.  Google or ask on my mailing +     list for help if needed: +      +        - add its 'inc' and 'inc/api' dirs to your include paths +         (make sure they are *above* other paths, ie. searched first) +         +        - add its 'lib/win7/i386' dir to your library paths. +      +    You can also use earlier versions known as the 'DDK'.  The parts +     of the HID API I use haven't changed in a long time.  These paths +     are usually used: +       +        - add 'inc/wxp' dir to your include paths (*above* others) +        - add 'lib/wxp/i386' to your library paths. +       +    Notes: +      - do _not_ add any 'STL' paths from the WDK/DDK as they can cause +         build problems. +      - the order of your include paths can be important.  If you placed +         them above the paths and are still getting compilation errors, +         try moving them around. +   +  - The library is Unicode-ready via <tchar.h> (see demo project). +   +  - if you're not using VC you need to link with these libraries: +        setupapi.lib +        winmm.lib +        hid.lib     (from the DDK) +__________________________   + +Wiimote installation notes: +   +  The Wiimote needs to be 'paired' (Bluetooth connected) with the +   PC before you can install/use it.  Pressing 1 & 2 simultaneously +   puts it into 'discoverable' mode for a few seconds (LEDs will +   flash - the number of LEDs reflects the battery level). +    +  It will be detected as 'Nintendo RVL-CNT-01'. +      +  Stack-specific instructions: + +  - Windows' built-in Bluetooth stack: + +    1) open up the Bluetooth control panel. +    2) press _and hold_ 1 & 2 on the wiimote (LEDs flash) until the +       installation is complete (otherwise the wiimote usually times +       out half-way through the procedure, and although it may seem +       to have installed it's never 'connected' and doesn't work). +    3) add a new device - it should find it. don't use a password. +    4) when the installation is fully complete, let go of 1&2. The +       Bluetooth panel should now show it 'connected'. +     +    if something goes wrong you need to uninstall it and try again. +     +    if you un-pair the wiimote later (see below), it seems you need +     to remove and install it all over again to get it to work (if you +     know a workaround, let me know). +        +  - Toshiba stack: + +    straight forward, press 1 & 2 on the Wiimote (you don't need to +    hold them if you're quick) and click 'New Connection'. +     +    once found, you can pair it anytime again by right-clicking its +     device icon (and pressing 1 & 2 as before) - you can also set up +     a desktop shortcut that enters discovery mode immediately. + +  - Widcomm stack: + +    1) Open 'My Bluetooth Places'. +    2) Press and hold 1 & 2 (until the process is complete). +    3) Click 'View Devices in Range'. +    4) Wiimote is detected as Nintendo RVL-CNT-01. +    5) Select it, then click 'Bluetooth Setup Wizard'. +    5) Click 'Skip' (no password). +    6) Now it should be connected (you can let go of 1 & 2). + +    Troubleshooting: +        - the device seems to be connected but the Demo can't find it +          (CreateFile() fails with error 5 'Access Denied'), +     or - it disconnects almost immediately after connection +     or - asks for a password a few seconds after connection + +     Try uninstalling all HID devices from Device Manager, and then +      redetecting them with 'Scan for hardware changes' (I had all +      these problems and that fixed it for me). + +  - Other stacks +   +    similar to the above (contribute instructions?) +     +   +  - Disconnect/un-pair to save power (any stack): + +    hold the Wiimote Power button for a few seconds - it automatically +    unpairs itself, re-enters pairing mode for a few seconds +    (flashing LEDs), then times out and (effecively) switches off. + +__________________________   + +Balance Boards notes: + +  Balance Boards are installed using the same procedure as wiimotes, by +   holding the 'Sync' button in the battery compartment.  The Bluetooth +   stack detectes them as 'Nintendo RVL-WBC-01'. + +  They report to the library as wiimotes, with a permanent BALANCE_BOARD +   extension.  They only have one button (A), and no IR/Acceleration/Rumble +   or Speaker support.  There is only one supported 'report type' so the +   library sets this automatically (see the demo for details). +    +   You can detect them with the wiimote::IsBalanceBoard() call. +    +   The boards tested so far all report up to ~ +-2.5KB weight offsets even +    where there is no weight placed on them (ie. 'at rest').  It is unknown +    if this is normal sensor inaccuracy/drift, or if the calibration values +    read from the board are interpreted incorrectly.  For now the library +    automatically subtracts the first incoming sensor values after a Connect() +    call from all future non-raw values (the raw values are never modified). +     +    The offsets used are exposed in wiimote_state::balance_board::AtRestKG. +    +    - if the board wasn't at rest during the Connect() call these offsets +       will be wrong - the app can measure them manually (when the board +       is at rest) by calling  wiimote::CalibrateAtRest(). + +__________________________   + +MotionPlus notes: + +  Once activated it's reported like any other extension, but needs to be +   manually enabled (see demo for an example): +      - Test first if it's connected via MotionPlusConnected() +      - Then call EnableMotionPlus() +      - It will then replace any other extension connected to it, unil you +         disable the Motion+ again with DisableMotionPlus(). +    +  The speed values are believed to be correct.  The calibration values are not +   yet understood, so the data is currently uncalibrated.   +    +  Some technical details are mentioned in this interview with the MotionPlus +   hardware/software engineers: +   http://uk.wii.com/wii/en_GB/software/iwata_asks_motionplus_volume_1_2162.html#top +    + +  * Special thanks to the guys at WiiBrew.org, and all contributing hackers * +    for figuring out & documenting the wiimote protocols: +    http://wiibrew.org/wiki/Wiimote/Extension_Controllers#Wii_Motion_Plus +    + +Sign up to the mailing list to stay in the loop, exchange ideas or help each + other out: http://gl.tter.org/mailman/listinfo/wiiyourself_gl.tter.org +__ + +gl.tter  (glATr-i-lDOTnet) + + | 
