cwiid 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/config.rb +1 -1
  3. data/ext/wiimote.cc +56 -9
  4. data/ext/wiimote.hh +6 -0
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6ab3d7f6da791942d6b8756c3881fdf0988c1997
4
- data.tar.gz: 04c99b6c964449170edb726ec5b5ed5cb8a7f668
3
+ metadata.gz: 2401496e2027e16a16eb64bb2fae7af4618d97e5
4
+ data.tar.gz: 63fd28dccc17c238ee0cfc434d1ab21d9116f4f1
5
5
  SHA512:
6
- metadata.gz: 6dcc63f0279e8cecdcd441fd3ddb9c3acd4f63cc32dccd4529cd94038b5370657058db49967d74ed9a2263c5fc61e2810f5c67ee57f41c0b430050148e22b599
7
- data.tar.gz: 0c14e5090d3bb65f9310f27b5d387795862a893ca822967917319e2496895674abefe85c419042ec21f468d84fd4c7cc79acf8fffe44307443ec91068f532f73
6
+ metadata.gz: 0d4b8f54f2d96299017dbeaab87036f46861a674caf395987ea36dff5ef2eca85bb68f9eeafe55e9113c8373d18fb219ad62b7b9e4a08c40516ec8297147026d
7
+ data.tar.gz: b5f41ef2fd859cea46a56fbabe6d57f23e72b1d8487949daea082ac5ca6cec40df9b3a559f7187bc13305e9228698fa39ad34aad6d87f7f7f6024751e71b0921
data/config.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rake'
2
2
 
3
3
  PKG_NAME = 'cwiid'
4
- PKG_VERSION = '0.1.4'
4
+ PKG_VERSION = '0.1.5'
5
5
  CFG = RbConfig::CONFIG
6
6
  CXX = ENV[ 'CXX' ] || 'g++'
7
7
  RB_FILES = ['config.rb'] + FileList[ 'lib/**/*.rb' ]
@@ -127,11 +127,27 @@ unsigned short int WiiMote::getButtons(void)
127
127
  return m_state.buttons;
128
128
  }
129
129
 
130
+ unsigned short int WiiMote::getNunchukButtons(void)
131
+ {
132
+ return m_state.ext.nunchuk.buttons;
133
+ }
134
+
130
135
  unsigned char WiiMote::getAcc( int id )
131
136
  {
132
137
  return m_state.acc[ id ];
133
138
  }
134
139
 
140
+ unsigned char WiiMote::getNunchukAcc( int id )
141
+ {
142
+ return m_state.ext.nunchuk.acc[ id ];
143
+ }
144
+
145
+ unsigned char WiiMote::getNunchukJoyStick( int id )
146
+ {
147
+ return m_state.ext.nunchuk.stick[ id ];
148
+ }
149
+
150
+
135
151
  bool WiiMote::irValid( int i )
136
152
  {
137
153
  return m_state.ir_src[ i ].valid != 0;
@@ -180,6 +196,8 @@ VALUE WiiMote::registerRubyClass(void)
180
196
  rb_define_const( cRubyClass, "BTN_1", INT2NUM( CWIID_BTN_1 ) );
181
197
  rb_define_const( cRubyClass, "BTN_B", INT2NUM( CWIID_BTN_B ) );
182
198
  rb_define_const( cRubyClass, "BTN_A", INT2NUM( CWIID_BTN_A ) );
199
+ rb_define_const( cRubyClass, "NUNCHUK_BTN_C", INT2NUM( CWIID_NUNCHUK_BTN_C ) );
200
+ rb_define_const( cRubyClass, "NUNCHUK_BTN_Z", INT2NUM( CWIID_NUNCHUK_BTN_Z ) );
183
201
  rb_define_const( cRubyClass, "BTN_MINUS", INT2NUM( CWIID_BTN_MINUS ) );
184
202
  rb_define_const( cRubyClass, "BTN_HOME", INT2NUM( CWIID_BTN_HOME ) );
185
203
  rb_define_const( cRubyClass, "BTN_LEFT", INT2NUM( CWIID_BTN_LEFT ) );
@@ -216,8 +234,14 @@ VALUE WiiMote::registerRubyClass(void)
216
234
  RUBY_METHOD_FUNC( wrapSetRumble ), 1 );
217
235
  rb_define_method( cRubyClass, "buttons",
218
236
  RUBY_METHOD_FUNC( wrapGetButtons ), 0 );
237
+ rb_define_method( cRubyClass, "nunchuk_buttons",
238
+ RUBY_METHOD_FUNC( wrapGetNunchukButtons ), 0 );
219
239
  rb_define_method( cRubyClass, "acc",
220
240
  RUBY_METHOD_FUNC( wrapGetAcc ), 0 );
241
+ rb_define_method( cRubyClass, "nunchuk_acc",
242
+ RUBY_METHOD_FUNC( wrapGetNunchukAcc ), 0 );
243
+ rb_define_method( cRubyClass, "nunchuk_stick",
244
+ RUBY_METHOD_FUNC( wrapGetNunchukJoyStick ), 0 );
221
245
  rb_define_method( cRubyClass, "ir",
222
246
  RUBY_METHOD_FUNC( wrapGetIR ), 0 );
223
247
  rb_define_method( cRubyClass, "motionplus",
@@ -289,19 +313,19 @@ VALUE WiiMote::wrapSetRptMode( VALUE rbSelf, VALUE rbMode )
289
313
  rb_raise( rb_eRuntimeError, "%s", e.what() );
290
314
  };
291
315
  return rbMode;
292
- }
316
+ }
293
317
 
294
318
  VALUE WiiMote::wrapGetBattery( VALUE rbSelf )
295
319
  {
296
320
  WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
297
321
  return INT2NUM( (*self)->getBattery() );
298
- }
322
+ }
299
323
 
300
324
  VALUE WiiMote::wrapGetLED( VALUE rbSelf )
301
325
  {
302
326
  WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
303
327
  return INT2NUM( (*self)->getLED() );
304
- }
328
+ }
305
329
 
306
330
  VALUE WiiMote::wrapSetLED( VALUE rbSelf, VALUE rbState )
307
331
  {
@@ -312,13 +336,13 @@ VALUE WiiMote::wrapSetLED( VALUE rbSelf, VALUE rbState )
312
336
  rb_raise( rb_eRuntimeError, "%s", e.what() );
313
337
  };
314
338
  return rbState;
315
- }
339
+ }
316
340
 
317
341
  VALUE WiiMote::wrapGetRumble( VALUE rbSelf )
318
342
  {
319
343
  WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
320
344
  return (*self)->getRumble() ? Qtrue : Qfalse;
321
- }
345
+ }
322
346
 
323
347
  VALUE WiiMote::wrapSetRumble( VALUE rbSelf, VALUE rbState )
324
348
  {
@@ -329,13 +353,15 @@ VALUE WiiMote::wrapSetRumble( VALUE rbSelf, VALUE rbState )
329
353
  rb_raise( rb_eRuntimeError, "%s", e.what() );
330
354
  };
331
355
  return rbState;
332
- }
356
+ }
333
357
 
334
358
  VALUE WiiMote::wrapGetButtons( VALUE rbSelf )
335
359
  {
336
360
  WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
337
361
  return INT2NUM( (*self)->getButtons() );
338
- }
362
+ }
363
+
364
+
339
365
 
340
366
  VALUE WiiMote::wrapGetAcc( VALUE rbSelf )
341
367
  {
@@ -343,7 +369,7 @@ VALUE WiiMote::wrapGetAcc( VALUE rbSelf )
343
369
  return rb_ary_new3( 3, INT2NUM( (*self)->getAcc( 0 ) ),
344
370
  INT2NUM( (*self)->getAcc( 1 ) ),
345
371
  INT2NUM( (*self)->getAcc( 2 ) ) );
346
- }
372
+ }
347
373
 
348
374
  VALUE WiiMote::wrapGetIR( VALUE rbSelf )
349
375
  {
@@ -364,5 +390,26 @@ VALUE WiiMote::wrapGetMotionPlus( VALUE rbSelf )
364
390
  return rb_ary_new3( 3, INT2NUM( (*self)->getMotionPlus( 0 ) ),
365
391
  INT2NUM( (*self)->getMotionPlus( 1 ) ),
366
392
  INT2NUM( (*self)->getMotionPlus( 2 ) ) );
367
- }
393
+ }
394
+
395
+ VALUE WiiMote::wrapGetNunchukAcc( VALUE rbSelf )
396
+ {
397
+ WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
398
+ return rb_ary_new3( 3, INT2NUM( (*self)->getNunchukAcc( 0 ) ),
399
+ INT2NUM( (*self)->getNunchukAcc( 1 ) ),
400
+ INT2NUM( (*self)->getNunchukAcc( 2 ) ) );
401
+ }
402
+
403
+ VALUE WiiMote::wrapGetNunchukJoyStick( VALUE rbSelf )
404
+ {
405
+ WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
406
+ return rb_ary_new3( 2, INT2NUM( (*self)->getNunchukJoyStick( 0 ) ),
407
+ INT2NUM( (*self)->getNunchukJoyStick( 1 ) ));
408
+ }
409
+
410
+ VALUE WiiMote::wrapGetNunchukButtons( VALUE rbSelf )
411
+ {
412
+ WiiMotePtr *self; Data_Get_Struct( rbSelf, WiiMotePtr, self );
413
+ return INT2NUM( (*self)->getNunchukButtons() );
414
+ }
368
415
 
@@ -37,7 +37,10 @@ public:
37
37
  bool getRumble(void);
38
38
  void setRumble( bool state ) throw(Error);
39
39
  unsigned short int getButtons(void);
40
+ unsigned short int getNunchukButtons(void);
40
41
  unsigned char getAcc( int id );
42
+ unsigned char getNunchukAcc( int id );
43
+ unsigned char getNunchukJoyStick( int id );
41
44
  bool irValid( int i );
42
45
  unsigned short int getIRX( int i );
43
46
  unsigned short int getIRY( int i );
@@ -60,6 +63,9 @@ public:
60
63
  static VALUE wrapSetRumble( VALUE rbSelf, VALUE rbState );
61
64
  static VALUE wrapGetButtons( VALUE rbSelf );
62
65
  static VALUE wrapGetAcc( VALUE rbSelf );
66
+ static VALUE wrapGetNunchukButtons( VALUE rbSelf );
67
+ static VALUE wrapGetNunchukAcc( VALUE rbSelf );
68
+ static VALUE wrapGetNunchukJoyStick( VALUE rbSelf );
63
69
  static VALUE wrapGetIR( VALUE rbSelf );
64
70
  static VALUE wrapGetMotionPlus( VALUE rbSelf );
65
71
  static WiiMote *current;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cwiid
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jan Wedekind
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-15 00:00:00.000000000 Z
11
+ date: 2016-08-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: This Ruby extension provides an inerface to access a Wii Remote using
14
14
  the libcwiid library.