-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathREADME
executable file
·185 lines (119 loc) · 5.18 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
---------------------------
-
- README - WiiC
-
---------------------------
Available from:
https://github.com/grandelli/WiiC
---------------------------
ABOUT
WiiC is a C/C++ library that extends the well known Wiiuse library,
used to control several Nintendo Wii remotes, and its C++ wrapper
WiiuseCpp, all in a single library.
While Wiiuse supports Linux and Windows platforms, my aim was
to port it for Mac platforms, withdrawing the Windows support.
WiiC fixes some Wiiuse minor bugs, and adds support to Motion Plus
and Balance Board.
WiiC also supports all the Wiiuse functionality, such as:
motion sensing, IR tracking, nunchuk, classic controller,
and the Guitar Hero 3 controller.
WiiC can be integrated with OpenCV, in order to exploit its machine
learning algorithms for gesture recognition.
Single threaded and nonblocking makes a light weight and clean API.
Distributed under the GPL and LGPL.
AUTHORS
Gabriele Randelli
Email: < gabrielerandelli (--AT--) gmail [--DOT--] com >
LICENSE
There are two licenses for wiiC (same as wiiuse). Please read them carefully before choosing which one
you use. You may of course at any time switch the license you are currently using to
the other.
Briefly, the license options are:
a) GNU LGPL (modified for non-commercial usage only)
b) GNU GPL
PLEASE READ THE LICENSES!
ACKNOWLEDGEMENTS
First of all, I would like to thank the RoCoCo Laboratory (http://labrococo.dis.uniroma1.it)
at the Department of Computer Science and Systems, Sapienza University of Rome, Italy.
Thanks to Luca, Daniele, Valentina, Angelo, and sorry to everyone I missed!
http://www.wiiuse.net/
A high-quality library for controlling Wii devices, which inspired my project.
http://wiibrew.org/
This site is a rich knowledge base that allowed me to understand lots of things
while porting Wiiuse to Mac.
http://www.missioncognition.net/wiiusecpp/
A C++ wrapper for Wiiuse, hence for WiiC as well, very useful for C++ developers.
DISCLAIMER AND WARNINGS
I am in no way responsible for any damages or effects, intended or not, caused by this program.
*** WARNING *** WARNING *** WARNING ***
Be aware that writing to memory may damage or destroy your wiimote or expansions.
*** WARNING *** WARNING *** WARNING ***
This program was written using reverse engineered specifications available from wiibrew.org.
Therefore the operation of this program may not be entirely correct.
Results obtained by using this program may vary.
AUDIENCE
This project is intended for developers who wish to include support for the Nintendo Wii remote
with their third party application. Please be aware that by using this software you are bound
to the terms of the GNU GPL.
PLATFORMS AND DEPENDENCIES
WiiC currently operates on Linux and Mac.
You will need:
For Linux:
- The kernel must support bluetooth
- The BlueZ bluetooth drivers must be installed
- CMake for compiling the library
For Mac:
- CMake for compiling the library
- Everything else is already present in the OS :)
Optional additional libraries:
- OpenCV, for machine learning support for gesture recognition
- Doxygen, if you want to generate the documentation
DOWNLOAD
WiiC is available at GitHub (http://www.github.com).
In order to download, you can download the latest release
(https://github.com/grandelli/WiiC/archive/master.zip), or you
can check it out via Git, typing:
git clone https://github.com/grandelli/WiiC.git
COMPILING
Linux:
Open a shell and type:
cd <WIIC_HOME>
mkdir build
cd build
cmake ../src
make
Now, to install the libraries, become root, and type:
make install
The above command will only install the binaries that you
selected to compile.
libwiic.so is installed to /usr/local/lib
libwiicpp.so is installed to /usr/local/lib
libwiicml.so (optional) is installed to /usr/local/lib
wiic-example and wiicpp-example are installed to /usr/local/bin
Headers file are installed in /usr/local/include
If you want to generate documentation, then type:
make doc
Mac:
Open a shell and type:
cd <WIIC_HOME>
mkdir build
cd build
cmake ../src
make
Now, to install the libraries, become root, and type:
make install
The above command will only install the binaries that you
selected to compile.
libwiic.dylib is installed to /usr/local/lib
libwiicpp.dylib is installed to /usr/local/lib
libwiicml.dylib (optional) is installed to /usr/local/lib
wiic-example and wiicpp-example are installed to /usr/local/bin
Headers file are installed in /usr/local/include
If you want to generate documentation, then type:
make doc
USING THE LIBRARY IN A THIRD PARTY APPLICATION
To use the library in your own program you must first compile WiiC as a module.
Include wiic.h in any file that uses the WiiC C layer, or wiicpp.h in any C++ file.
For Linux you must link libwiic.so ( -lwiic ) for the C library, or libwiicpp.so ( -lwiicpp ) for the C++ library.
For Mac you must link libwiic.dylib ( -lwiic ) for the C library, or libwiicpp.dylib ( -lwiicpp ) for the C++ library.
In case you aim at exploiting WiiC machine learning techniques, link libwiicml.so (Linux) or libwiicml.dylib (Mac).