From 5d377f901a0ea632a6cbb4a1d7adbc5ae3602932 Mon Sep 17 00:00:00 2001 From: Ryan Pavlik Date: Mon, 20 Jun 2011 10:47:17 -0500 Subject: [PATCH] Convert readme and changelog to markdown format --- CHANGELOG | 280 ----------------------------------- CHANGELOG.mkd | 386 +++++++++++++++++++++++++++++++++++++++++++++++++ CMakeLists.txt | 6 +- README | 169 ---------------------- README.mkd | 191 ++++++++++++++++++++++++ 5 files changed, 580 insertions(+), 452 deletions(-) delete mode 100644 CHANGELOG create mode 100644 CHANGELOG.mkd delete mode 100644 README create mode 100644 README.mkd diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index 8bfc89e..0000000 --- a/CHANGELOG +++ /dev/null @@ -1,280 +0,0 @@ ---------------------------- -- -- CHANGE LOG - Wiiuse -- ---------------------------- - -Fork, located at: http://github.com/rpavlik/wiiuse - -Original project: -http://wiiuse.net/ -http://wiiuse.sourceforge.net/ -http://sourceforge.net/projects/wiiuse/ - ---------------------------- -v0.15 -- ??? ---------------------------- - Added: - - Callback API with constant-size wiimote_callback_data_t. - Added to more easily support a ctypes python binding, generated - by and included with RPythonic http://code.google.com/p/rpythonic/ - Thanks to hartsantler for this feature. - Fixed: - - - Changed: - - - ---------------------------- -v0.14 -- 2 May 2011 ---------------------------- - Added: - - Support for redirecting or disabling messages: function - wiiuse_set_output in wiiuse.h. The preprocessor symbol - WIIUSE_HAS_OUTPUT_REDIRECTION indicates the presence of this - feature. Thanks to Johannes Zarl for this handy feature! - - Doxyfile and "doc" target to the build system, to easily make - use of the documentation already in the code, along with doc - cleanups and improvements. (rp) - - Added balance board code to example (Paul Burton, rp) - Fixed: - - Off-by-two overflow in IR dot ordering - thanks to Karl Semich (xloem on GitHub) - - Documentation typo fix - thanks to Johannes Zarl - - Check malloc results. (rp) - - Initialize an array entirely. (rp) - - Fixed reading of balance board data. (rp) - Changed: - - Cleaned up README. (rp) - - Removed references to the LGPL/noncommercial license, since it's - confusing and not useful in a practical sense. See, e.g., - http://lists.fedoraproject.org/pipermail/legal/2010-November/001470.html - - Renamed bundled workaround stdint.h header for Visual Studio, - which we still have to use on MSVC 2010 for some unknown reason. (rp) - ---------------------------- -v0.13.1 -- 11 November 2010 ---------------------------- - Fixed: - - Fix crashers due to unchecked pointer use. - - [Windows] Fix crashers due to unchecked pointer use. - ---------------------------- -v0.13 -- 11 November 2010 ---------------------------- - Added: - - Support for Wii Balance Board ("wiiboard"): your code can - #ifdef EXP_WII_BOARD (support based in part on - code from TU-Delft) - - CMake-based cross-platform build system - - Version defines in wiiuse.h - - Fixed: - - [Linux] Bluez issue with not initializing structure on newer kernels - - Use stdint.h types for guaranteed type size independent of platform - - Bundle a suitable stdint.h for MSVC builds - - Setting IR to off before handshake complete actually respected now. - (fix via Harald ) - - Changed: - - Old makefiles and Visual Studio projects removed. - - CMake allows easy building of binary packages with a uniform - directory structure: .dll/.exe in bin, .lib/.so in lib, .h in - include. - ---------------------------- -v0.12 -- 2 Apr 2008 ---------------------------- - - Added: - - API function wiiuse_set_ir_sensitivity() - - Macro WIIUSE_GET_IR_SENSITIVITY() - - Event type WIIUSE_READ_DATA - - Event type WIIUSE_UNEXPECTED_DISCONNECT - - Fixed: - - [Linux] Ability to try to select() nothing - - [Linux] Changed Makefile to include debug output when compiling in debug mode - - Changed: - - wiiuse_set_nunchuk_orient_threshold() now takes a wiimote_t pointer - - wiiuse_set_nunchuk_accel_threshold() now takes a wiimote_t pointer - - wiiuse_read_data() generates an event WIIUSE_READ_DATA rather than executing a callback - ---------------------------- -v0.11 -- 25 Feb 2008 ---------------------------- - - Added: - - API function wiiuse_set_nunchuk_orient_threshold() - - API function wiiuse_set_nunchuk_accel_threshold() - - Event type WIIUSE_NUNCHUK_INSERTED - - Event type WIIUSE_NUNCHUK_REMOVED - - Event type WIIUSE_CLASSIC_CTRL_INSERTED - - Event type WIIUSE_CLASSIC_CTRL_REMOVED - - Event type WIIUSE_GUITAR_HERO_3_CTRL_INSERTED - - Event type WIIUSE_GUITAR_HERO_3_CTRL_REMOVED - - Fixed: - - Added some missing function prototypes to wiiuse.h - - [Linux] Fixed Makefile to link libmath and libbluetooth - - Status event is set when a status report comes in - - Orientation threshold not being saved in lstate - ---------------------------- -v0.10 -- 11 Feb 2008 ---------------------------- - - Added: - - Real dynamic linking (by noisehole) - - Changed from callback to SDL style - - Guitar Hero 3 controller support - - API function wiiuse_set_accel_threshold() - - API function wiiuse_version() - - Macro WIIUSE_USING_SPEAKER() - - Macro WIIUSE_IS_LED_SET(wm, num) - - wiiuse_init() now autogenerates unids - - orient_t::a_roll/a_pitch - - wiiuse_resync() - - wiiuse_cleanup() - - wiiuse_set_timeout() - - Fixed: - - [Windows] Fixed bug where it did not detect expansions on startup - - Renamed INFO/WARNING/DEBUG macros to WIIUSE_* (by noisehole) - - Updated Makefiles (by noisehole) - - Fixed incorrect roll/pitch when smoothing was enabled - - Fixed nunchuk and classic controller flooding events when significant changes occured - - Fixed bug where IR was not correct on roll if IR was enabled before handshake - - Removed: - - wiiuse_startup(), no longer needed - ---------------------------- -v0.9 -- 3 Nov 2007 ---------------------------- - - Fixed: - - Can now use include/wiiuse.h in C++ projects. - - HOME button works again. - - IR now functions after expansion is connected or removed. - ---------------------------- -v0.8 -- 27 Oct 2007 ---------------------------- - - - Bumped API version to 8 - - Exported all API functions for usage with non-C/C++ languages. - - Changed event callback to only trigger if a significant state change occurs. - - Added: - - wiimote_t::lstate structure - - Fixed: - - Bug 1820140 - Buffer overflow in io_nix.c. Thanks proppy. - ---------------------------- -v0.7 -- 19 Oct 2007 ---------------------------- - - - Bumped API version to 7 - - Renamed Linux build from wii.so to wiiuse.so - - Changed version representation from float to const char*. - - Added: - - [Windows] BlueSoleil support. - - [Windows] Bluetooth stack auto-detection (WinXP SP2, Bluesoleil, Widdcomm tested). - - [Windows] API function wiiuse_set_bluetooth_stack(). - - Calculates yaw if IR tracking is enabled. - - Fixed: - - [Windows] Problem where a connection is made to a wiimote that does not exist. - - [Windows] Issue that occured while using multiple wiimotes. - ---------------------------- -v0.6 -- 16 Oct 2007 ---------------------------- - - - Bumped API version to 0.6. - - Ported to Microsoft Windows. - - Improved IR tracking. - - Default IR virtual screen resolutions changed depending on 16:9 or 4:3. - - Added: - - src/msvc/ and api/msvc/ - Microsoft Visual C++ 6.0 project files. - ---------------------------- -v0.5 -- 13 Oct 2007 ---------------------------- - - - Bumped API version to 0.5. - - Greatly improved IR tracking. - - Renamed function wiiuse_set_ir_correction() to wiiuse_set_ir_position(). - - Added: - - API function wiiuse_set_aspect_ratio() - - Fixed: - - When rolling around 180 degree rotation smoothing would not be seemless. - ---------------------------- -v0.4 -- 08 Oct 2007 ---------------------------- - - - Bumped API version to 0.4. - - Greatly improved classic controller joystick functionality. - - Changed all functions named wiimote_*() to wiiuse_*() - - Renamed many macros from WIIMOTE_* to WIIUSE_* - - Added: - - IR support - - New WIIMOTE_CONTINUOUS flag to set continuous reporting - - Macro IS_JUST_PRESSED() - - Macro WIIUSE_USING_ACC() - - Macro WIIUSE_USING_EXP() - - Macro WIIUSE_USING_IR() - - API function wiiuse_set_ir() - - API function wiiuse_set_ir_vres() - - API function wiiuse_set_ir_correction() - - - gfx/ - A small OpenGL example that renders IR data - - Fixed: - - Sometimes classic controller would only report infinite angle and magnitude for joysticks. - ---------------------------- -v0.3 -- 10 Sept 2007 ---------------------------- - - - Moved license to GPLv3. - - Bumped API version to 0.3. - - Added: - - Support for Classic Controller - - Smoothing for roll and pitch values of the wiimote and nunchuk. - - - API: wiimote_set_flags() to set or disable wiimote options. - - API: wiimote_set_smooth_alpha() to set smoothing alpha value. - - Fixed: - - When the wiimote accelerates the roll or pitch is unreliable and was set to 0. - It now remains at previous tilt value. - - If no event callback was specified then no events would be processed internally. - ---------------------------- -v0.2 -- 25 Aug 2007 ---------------------------- - - - Bumped API version to 0.2. - - Added: - - Nunchuk support. - - Ability to write to flash memory. - - Fixed: - - Roll and pitch rotation now ranges from -180 to 180 degrees (previously -90 to 90). - - Bug when reading data from flash memory would read wrong address. - ---------------------------- -v0.1 -- 23 Feb 2007 ---------------------------- - - - Initial release diff --git a/CHANGELOG.mkd b/CHANGELOG.mkd new file mode 100644 index 0000000..2bc2503 --- /dev/null +++ b/CHANGELOG.mkd @@ -0,0 +1,386 @@ +WiiUse Changelog +================ + +Fork, located at + +Original project: + +- +- +- + +v0.15 -- ??? +------------ + +Added: + +- Callback API with constant-size wiimote_callback_data_t. + Added to more easily support a ctypes python binding, generated + by and included with RPythonic http://code.google.com/p/rpythonic/ + Thanks to hartsantler for this feature. + +Fixed: + +Changed: + +v0.14 -- 2 May 2011 +------------------- +Added: + +- Support for redirecting or disabling messages: function + `wiiuse_set_output` in `wiiuse.h`. The preprocessor symbol + `WIIUSE_HAS_OUTPUT_REDIRECTION` indicates the presence of this feature. + Thanks to Johannes Zarl for this handy feature! + +- Doxyfile and "doc" target to the build system, to easily make use of + the documentation already in the code, along with doc cleanups and + improvements. (rp) + +- Added balance board code to example (Paul Burton, rp) + +Fixed: + +- Off-by-two overflow in IR dot ordering - thanks to Karl Semich (xloem on GitHub) + +- Documentation typo fix - thanks to Johannes Zarl + +- Check malloc results. (rp) + +- Initialize an array entirely. (rp) + +- Fixed reading of balance board data. (rp) + +Changed: + +- Cleaned up README. (rp) + +- Removed references to the LGPL/noncommercial license, since it's + confusing and not useful in a practical sense. See, e.g., + + +- Renamed bundled workaround stdint.h header for Visual Studio, which + we still have to use on MSVC 2010 for some unknown reason. (rp) + + +v0.13.1 -- 11 November 2010 +--------------------------- +Fixed: + +- Fix crashers due to unchecked pointer use. + +- [Windows] Fix crashers due to unchecked pointer use. + +v0.13 -- 11 November 2010 +------------------------- +Added: +- Support for Wii Balance Board ("wiiboard"): your code can + `#ifdef EXP_WII_BOARD` (support based in part on code from TU-Delft) + +- CMake-based cross-platform build system + +- Version defines in `wiiuse.h` + +Fixed: + +- [Linux] Bluez issue with not initializing structure on newer kernels + +- Use `stdint.h` types for guaranteed type size independent of platform + +- Bundle a suitable `stdint.h` for MSVC builds + +- Setting IR to off before handshake complete actually respected now. + (fix via Harald ) + +Changed: + +- Old makefiles and Visual Studio projects removed. + +- CMake allows easy building of binary packages with a uniform + directory structure: .dll/.exe in bin, .lib/.so in lib, .h in + include. + +v0.12 -- 2 Apr 2008 +------------------- +Added: + +- API function `wiiuse_set_ir_sensitivity()` + +- Macro `WIIUSE_GET_IR_SENSITIVITY()` + +- Event type `WIIUSE_READ_DATA` + +- Event type `WIIUSE_UNEXPECTED_DISCONNECT` + +Fixed: + +- [Linux] Ability to try to `select()` nothing + +- [Linux] Changed Makefile to include debug output when compiling in debug mode + +Changed: + +- `wiiuse_set_nunchuk_orient_threshold()` now takes a`wiimote_t` pointer + +- `wiiuse_set_nunchuk_accel_threshold()` now takes a `wiimote_t` pointer + +- `wiiuse_read_data()` generates an event `WIIUSE_READ_DATA` rather than + executing a callback + + +v0.11 -- 25 Feb 2008 +-------------------- + +Added: + +- API function `wiiuse_set_nunchuk_orient_threshold()` + +- API function `wiiuse_set_nunchuk_accel_threshold()` + +- Event type `WIIUSE_NUNCHUK_INSERTED` + +- Event type `WIIUSE_NUNCHUK_REMOVED` + +- Event type `WIIUSE_CLASSIC_CTRL_INSERTED` + +- Event type `WIIUSE_CLASSIC_CTRL_REMOVED` + +- Event type `WIIUSE_GUITAR_HERO_3_CTRL_INSERTED` + +- Event type `WIIUSE_GUITAR_HERO_3_CTRL_REMOVED` + +Fixed: + +- Added some missing function prototypes to wiiuse.h + +- [Linux] Fixed Makefile to link libmath and libbluetooth + +- Status event is set when a status report comes in + +- Orientation threshold not being saved in lstate + +v0.10 -- 11 Feb 2008 +-------------------- +Added: + +- Real dynamic linking (by noisehole) + +- Changed from callback to SDL style + +- Guitar Hero 3 controller support + +- API function `wiiuse_set_accel_threshold()` + +- API function `wiiuse_version()` + +- Macro `WIIUSE_USING_SPEAKER()` + +- Macro `WIIUSE_IS_LED_SET(wm, num)` + +- `wiiuse_init()` now autogenerates unids + +- `orient_t::a_roll/a_pitch` + +- `wiiuse_resync()` + +- `wiiuse_cleanup()` + +- `wiiuse_set_timeout()` + +Fixed: + +- [Windows] Fixed bug where it did not detect expansions on startup + +- Renamed `INFO/WARNING/DEBUG` macros to `WIIUSE_*` (by noisehole) + +- Updated Makefiles (by noisehole) + +- Fixed incorrect roll/pitch when smoothing was enabled + +- Fixed nunchuk and classic controller flooding events when significant changes occured + +- Fixed bug where IR was not correct on roll if IR was enabled before handshake + +Removed: + +- `wiiuse_startup()`, no longer needed + +v0.9 -- 3 Nov 2007 +------------------ +Fixed: + +- Can now use `include/wiiuse.h` in C++ projects. + +- HOME button works again. + +- IR now functions after expansion is connected or removed. + +v0.8 -- 27 Oct 2007 +------------------- +Changed: + +- Bumped API version to 8 + +- Exported all API functions for usage with non-C/C++ languages. + +- Changed event callback to only trigger if a significant state change + occurs. + +Added: + +- `wiimote_t::lstate` structure + +Fixed: + +- Bug 1820140 - Buffer overflow in `io_nix.c`. Thanks proppy. + +v0.7 -- 19 Oct 2007 +------------------- +Changed: + +- Bumped API version to 7 + +- Renamed Linux build from `wii.so` to `wiiuse.so` + +- Changed version representation from float to const char*. + +Added: + +- [Windows] BlueSoleil support. + +- [Windows] Bluetooth stack auto-detection (WinXP SP2, Bluesoleil, + Widdcomm tested). + +- [Windows] API function `wiiuse_set_bluetooth_stack()`. + +- Calculates yaw if IR tracking is enabled. + +Fixed: + +- [Windows] Problem where a connection is made to a wiimote that does + not exist. + +- [Windows] Issue that occured while using multiple wiimotes. + +v0.6 -- 16 Oct 2007 +------------------- +Changed: + +- Bumped API version to 0.6. + +- Ported to Microsoft Windows. + +- Improved IR tracking. + +- Default IR virtual screen resolutions changed depending on 16:9 or 4:3. + +Added: + +- `src/msvc/` and `api/msvc/` - Microsoft Visual C++ 6.0 project files. + +v0.5 -- 13 Oct 2007 +------------------- +Changed: + +- Bumped API version to 0.5. + +- Greatly improved IR tracking. + +- Renamed function `wiiuse_set_ir_correction()` to `wiiuse_set_ir_position()`. + +Added: + +- API function `wiiuse_set_aspect_ratio()` + +Fixed: + +- When rolling around 180 degree rotation smoothing would not be seemless. + +v0.4 -- 08 Oct 2007 +------------------- +Changed: + +- Bumped API version to 0.4. + +- Greatly improved classic controller joystick functionality. + +- Changed all functions named `wiimote_*()` to `wiiuse_*()` + +- Renamed many macros from `WIIMOTE_*` to `WIIUSE_*` + + +Added: + +- IR support + +- New `WIIMOTE_CONTINUOUS` flag to set continuous reporting + +- Macro `IS_JUST_PRESSED()` + +- Macro `WIIUSE_USING_ACC()` + +- Macro `WIIUSE_USING_EXP()` + +- Macro `WIIUSE_USING_IR()` + +- API function `wiiuse_set_ir()` + +- API function `wiiuse_set_ir_vres()` + +- API function `wiiuse_set_ir_correction()` + +- `gfx/` - A small OpenGL example that renders IR data + +Fixed: + +- Sometimes classic controller would only report infinite angle and magnitude for joysticks. + + +v0.3 -- 10 Sept 2007 +-------------------- +Changed: + +- Moved license to GPLv3. + +- Bumped API version to 0.3. + +Added: + +- Support for Classic Controller + +- Smoothing for roll and pitch values of the wiimote and nunchuk. + +- API: `wiimote_set_flags()` to set or disable wiimote options. + +- API: `wiimote_set_smooth_alpha()` to set smoothing alpha value. + +Fixed: + +- When the wiimote accelerates the roll or pitch is unreliable and was + set to 0. It now remains at previous tilt value. + +- If no event callback was specified then no events would be processed + internally. + +v0.2 -- 25 Aug 2007 +------------------- +Changed: + +- Bumped API version to 0.2. + +Added: + +- Nunchuk support. + +- Ability to write to flash memory. + +Fixed: + +- Roll and pitch rotation now ranges from -180 to 180 degrees + (previously -90 to 90). + +- Bug when reading data from flash memory would read wrong address. + +v0.1 -- 23 Feb 2007 +------------------- + +- Initial release diff --git a/CMakeLists.txt b/CMakeLists.txt index 933a50e..982e261 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -78,9 +78,9 @@ add_doxygen(Doxyfile NO_PDF) install(FILES - CHANGELOG + CHANGELOG.mkd LICENSE - README + README.mkd DESTINATION ${DOC_DIR} COMPONENT docs) if(INSTALL_EXAMPLES) @@ -91,7 +91,7 @@ if(INSTALL_EXAMPLES) endif() set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") -set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README") +set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README.mkd") include(GetCompilerInfoString) get_compiler_info_string(_compiler) diff --git a/README b/README deleted file mode 100644 index 603aa79..0000000 --- a/README +++ /dev/null @@ -1,169 +0,0 @@ ---------------------------- -- -- README - Wiiuse -- ---------------------------- - -Fork, located at: http://github.com/rpavlik/wiiuse - -Original project: -http://wiiuse.net/ -http://wiiuse.sourceforge.net/ -http://sourceforge.net/projects/wiiuse/ - ---------------------------- - -ABOUT - - Wiiuse is a library written in C that connects with several Nintendo - Wii remotes. Supports motion sensing, IR tracking, nunchuk, classic - controller, Balance Board, and the Guitar Hero 3 controller. Single - threaded and nonblocking makes a light weight and clean API. - - Distributed under the GPL 3+. - - This is a friendly fork, prompted by apparent non-maintained status - of upstream project but proliferation of ad-hoc forks without - project infrastructure. Balance board support has been merged from - TU-Delft [1] cross-referenced with other similar implementations in - embedded forks of WiiUse in other applications. Hopefully GitHub will - help the community maintain this project more seamlessly now. - - Patches and improvements are greatly appreciated - the easiest way - to submit them is to fork the repository on GitHub and make the - changes, then submit a pull request. The "fork and edit this file" - button on the web interface should make this even simpler. - - [1] http://graphics.tudelft.nl/Projects/WiiBalanceBoard - - -AUTHORS - - Fork Maintainer: Ryan Pavlik or - Original Author: Michael Laforest < para > < thepara (--AT--) g m a i l [--DOT--] com > - - Additional Contributors: - - dhewg - - Christopher Sawczuk @ TU-Delft (initial Balance Board support) - - Paul Burton ( https://github.com/paulburton/wiiuse ) - - Karl Semich ( https://github.com/xloem ) - - Johannes Zarl - - -LICENSE - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - - -ACKNOWLEDGEMENTS BY MICHAEL LAFOREST - - http://wiibrew.org/ - This site and their users have contributed an immense amount of - information about the wiimote and its technical details. I could - not have written this program without the vast amounts of - reverse engineered information that was researched by them. - - Nintendo - Of course Nintendo for designing and manufacturing the Wii and Wii remote. - - BlueZ - Easy and intuitive bluetooth stack for Linux. - - Thanks to Brent for letting me borrow his Guitar Hero 3 controller. - - -AUDIENCE - - This project is intended for developers who wish to include support - for the Nintendo Wii remote with their third party application. - -PLATFORMS AND DEPENDENCIES - - Wiiuse currently operates on both Linux and Windows. - You will need: - - For Linux: - - The kernel must support bluetooth - - The BlueZ bluetooth drivers must be installed - - If compiling, you'll need the BlueZ dev files (Debian/Ubuntu package - libbluetooth-dev) - - For Windows: - - Bluetooth driver (tested with Microsoft's stack with Windows XP SP2) - - If compiling, Microsoft Windows Driver Development Kit (DDK) - - For either platform: - - If compiling, CMake is needed to generate a makefile - -COMPILING - - Linux: - You need SDL and OpenGL installed to compile the SDL example. - - $ cd build - - $ ccmake .. [-DCMAKE_INSTALL_PREFIX=/usr/local] [-DCMAKE_BUILD_TYPE=Release] - OR - $ cmake-gui .. - - $ make [target] - - If 'target' is omitted then everything is compiled. - - Where 'target' can be any of the following: - - - wiiuse - Compiles libwiiuse.so - - - wiiuseexample - Compiles wiiuse-example - - - wiiuseexample-sdl - Compiles wiiuse-sdl - - - doc - Generates doxygen-based API documentation in HTML and PDF - format in docs-generated - - Become root. - - # make install - - libwiiuse.so is installed to CMAKE_INSTALL_PREFIX/lib - wiiuse-example and wiiuse-sdl are installed to CMAKE_INSTALL_PREFIX/bin - - Windows: - The CMake GUI can be used to generate a Visual Studio solution. - - You need the install the Windows DDK (driver development kit) - to compile wiiuse. - You can download this from here: - http://www.microsoft.com/whdc/devtools/ddk/default.mspx - - You might also need to install the latest Windows SDK. - - -USING THE LIBRARY IN A THIRD PARTY APPLICATION - - To use the library in your own program you must first compile wiiuse as a module. - Include include/wiiuse.h in any file that uses wiiuse. - - For Linux you must link wiiuse.so ( -lwiiuse ). - For Windows you must link wiiuse.lib. When your program runs it will need wiiuse.dll. - - -BUGS - - On Windows using more than one wiimote (usually more than two wiimotes) may cause - significant latency. diff --git a/README.mkd b/README.mkd new file mode 100644 index 0000000..6634440 --- /dev/null +++ b/README.mkd @@ -0,0 +1,191 @@ +WiiUse README +============= + +Fork, located at + +Changelog: + +Original project: + +- +- +- + + +About +----- + +Wiiuse is a library written in C that connects with several Nintendo +Wii remotes. Supports motion sensing, IR tracking, nunchuk, classic +controller, Balance Board, and the Guitar Hero 3 controller. Single +threaded and nonblocking makes a light weight and clean API. + +Distributed under the GPL 3+. + +This is a friendly fork, prompted by apparent non-maintained status +of upstream project but proliferation of ad-hoc forks without +project infrastructure. Balance board support has been merged from +[TU-Delft][1] cross-referenced with other similar implementations in +embedded forks of WiiUse in other applications. Additional community +contributions have since been merged. Hopefully GitHub will help the +community maintain this project more seamlessly now. + +Patches and improvements are greatly appreciated - the easiest way +to submit them is to fork the repository on GitHub and make the +changes, then submit a pull request. The "fork and edit this file" +button on the web interface should make this even simpler. + +[1]: http://graphics.tudelft.nl/Projects/WiiBalanceBoard + + +Authors +------- + +Fork Maintainer: Ryan Pavlik or + +Original Author: Michael Laforest < para > < thepara (--AT--) g m a i l [--DOT--] com > + +Additional Contributors: + +- dhewg +- Christopher Sawczuk @ TU-Delft (initial Balance Board support) +- Paul Burton +- Karl Semich +- Johannes Zarl +- hartsantler + + +License +------- + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . + + +Audience +-------- +This project is intended for developers who wish to include support +for the Nintendo Wii remote with their third party application. + + +Platforms and Dependencies +-------------------------- +Wiiuse currently operates on both Linux and Windows. You will need: + +### For Linux: ### + +- The kernel must support bluetooth + +- The BlueZ bluetooth drivers must be installed + +- If compiling, you'll need the BlueZ dev files (Debian/Ubuntu package + libbluetooth-dev) + + +### For Windows: ### + +- Bluetooth driver (tested with Microsoft's stack with Windows XP SP2) + +- If compiling, Microsoft Windows Driver Development Kit (DDK) + + +### For either platform: ### + +- If compiling, [CMake](http://cmake.org) is needed to generate a makefile/project + + +Compiling +--------- +You need SDL and OpenGL installed to compile the (optional) SDL example. + +### Linux: ### + + $ cd build + + $ ccmake .. [-DCMAKE_INSTALL_PREFIX=/usr/local] [-DCMAKE_BUILD_TYPE=Release] + +OR + + $ cmake-gui .. + + $ make [target] + +If `target` is omitted then everything is compiled. + +Where `target can be any of the following: + +- *wiiuse* - Compiles libwiiuse.so + +- *wiiuseexample* - Compiles wiiuse-example + +- *wiiuseexample-sdl* - Compiles wiiuse-sdl + +- *doc* - Generates doxygen-based API documentation in HTML and PDF + format in `docs-generated` + +Become root. + + # make install + +`libwiiuse.so` is installed to `CMAKE_INSTALL_PREFIX/lib` +`wiiuse-example` and `wiiuse-sdl` are installed to `CMAKE_INSTALL_PREFIX/bin` + + +### Windows: ### + +The CMake GUI can be used to generate a Visual Studio solution. + +You need the install the Windows DDK (driver development kit) to compile +wiiuse. You can download this from here: + + +You might also need to install the latest Windows SDK. + + +Using the Library +----------------- + +To use the library in your own program you must first compile wiiuse as +a module. Include `include/wiiuse.h` in any file that uses wiiuse. + +For Linux you must link `libwiiuse.so` ( `-lwiiuse` ). For Windows you +must link `wiiuse.lib`. When your program runs it will need +`wiiuse.dll`. + + +Known Issues +------------ + +On Windows using more than one wiimote (usually more than two wiimotes) +may cause significant latency. + +Acknowledgements by Michael Laforest +------------------------------------ + + +> This site and their users have contributed an immense amount of +> information about the wiimote and its technical details. I could +> not have written this program without the vast amounts of +> reverse engineered information that was researched by them. + +Nintendo + +> Of course Nintendo for designing and manufacturing the Wii and Wii remote. + +BlueZ + +> Easy and intuitive bluetooth stack for Linux. + +Thanks to Brent for letting me borrow his Guitar Hero 3 controller. + +