pigpio 0.1.10 → 0.1.11
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.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/ext/pigpio/pigpio.c +19 -14
- data/lib/pigpio.rb +1 -0
- data/lib/pigpio/buffer.rb +12 -0
- data/lib/pigpio/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 030a9cfb8449fc59b223cd96371aa249dbc86876
|
4
|
+
data.tar.gz: 8e6aabca541f968cacfa06a08f79739bbc1807a2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e79ff833f0475fc2e817f56250def1d4a8d474fce3015ba9a77cb8412f707968e9720825aa686d54dfd2a7db004a0ad1d1fa74c7d55e6ca1a883bd7b1663dd19
|
7
|
+
data.tar.gz: e07c2ce1196b00ea32be4fcfc5fe420f10b5a18b3c13b4ed92044c12ae2401904f581d1efebc0b5f670c75454a2a1d7f96d759d94404e24001ad2014a6ac6e9e
|
data/README.md
CHANGED
@@ -63,6 +63,8 @@ $ ruby example_led.rb
|
|
63
63
|
|
64
64
|
More sample for this circuit. : [Hare](./example/simple/readme.md)
|
65
65
|
|
66
|
+
More sample for other circuit. : [Hare](./example/readme.md)
|
67
|
+
|
66
68
|
More document : [GitHub Pages](https://nak1114.github.io/ruby-extension-pigpio/)
|
67
69
|
|
68
70
|
## Development
|
data/ext/pigpio/pigpio.c
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
static VALUE cCallbackID;
|
8
8
|
static VALUE cNativeQueue;
|
9
9
|
static VALUE cCallbackError;
|
10
|
+
static VALUE cBuffer;
|
10
11
|
|
11
12
|
typedef struct{
|
12
13
|
uint32_t tick;
|
@@ -2359,18 +2360,16 @@ associated with handle and writes them to buf.
|
|
2359
2360
|
. .
|
2360
2361
|
pi: >=0 (as returned by [*pigpio_start*]).
|
2361
2362
|
handle: >=0, as returned by a call to [*serial_open*].
|
2362
|
-
buf: an array to receive the read data.
|
2363
2363
|
count: the maximum number of bytes to read.
|
2364
2364
|
. .
|
2365
2365
|
|
2366
|
-
Returns the number of bytes read (>=0) if OK, otherwise PI_BAD_HANDLE,
|
2366
|
+
Returns to buf.ret_code attribute the number of bytes read (>=0) if OK, otherwise PI_BAD_HANDLE,
|
2367
2367
|
PI_BAD_PARAM, PI_SER_READ_NO_DATA, or PI_SER_WRITE_FAILED.
|
2368
2368
|
|
2369
|
-
|
2369
|
+
The received data is get by the buf.to_s method.
|
2370
2370
|
|
2371
2371
|
:call-seq:
|
2372
|
-
serial_read(Integer pi,Integer handle, Integer count) ->
|
2373
|
-
serial_read(Integer pi,Integer handle, Integer count) -> String buf (When Success)
|
2372
|
+
serial_read(Integer pi,Integer handle, Integer count) -> Pigpio::Buffer buf
|
2374
2373
|
|
2375
2374
|
See also: {pigpio site}[http://abyz.me.uk/rpi/pigpio/pdif2.html#serial_read]
|
2376
2375
|
*/
|
@@ -2378,7 +2377,9 @@ VALUE pigpio_rbfn_serial_read(VALUE self, VALUE pi, VALUE handle, VALUE count){
|
|
2378
2377
|
unsigned countc=NUM2UINT(count);
|
2379
2378
|
VALUE buf=rb_str_new("",countc);//#<Encoding:ASCII-8BIT>;
|
2380
2379
|
int ret=serial_read(NUM2INT(pi), NUM2UINT(handle), (void*)StringValuePtr(buf), countc);
|
2381
|
-
return (
|
2380
|
+
return rb_funcall((VALUE)cBuffer, rb_intern("new"), 2,INT2NUM(ret),rb_str_resize(buf,ret));
|
2381
|
+
|
2382
|
+
//return (ret < 0)?INT2NUM(ret):rb_str_resize(buf,ret);
|
2382
2383
|
//if(ret < 0){buf=Qnil;}
|
2383
2384
|
//return rb_ary_new_from_args(2,buf,INT2NUM(ret));
|
2384
2385
|
}
|
@@ -2436,13 +2437,14 @@ bit bang serial cyclic buffer to the buffer starting at buf.
|
|
2436
2437
|
. .
|
2437
2438
|
pi: >=0 (as returned by [*pigpio_start*]).
|
2438
2439
|
user_gpio: 0-31, previously opened with [*bb_serial_read_open*].
|
2439
|
-
buf: an array to receive the read bytes.
|
2440
2440
|
bufSize: >=0
|
2441
2441
|
. .
|
2442
2442
|
|
2443
|
-
Returns the number of bytes copied if OK, otherwise PI_BAD_USER_GPIO
|
2443
|
+
Returns to buf.ret_code attribute the number of bytes copied if OK, otherwise PI_BAD_USER_GPIO
|
2444
2444
|
or PI_NOT_SERIAL_GPIO.
|
2445
2445
|
|
2446
|
+
The received data is get by the buf.to_s method.
|
2447
|
+
|
2446
2448
|
The bytes returned for each character depend upon the number of
|
2447
2449
|
data bits [*data_bits*] specified in the [*bb_serial_read_open*] command.
|
2448
2450
|
|
@@ -2451,8 +2453,7 @@ data bits [*data_bits*] specified in the [*bb_serial_read_open*] command.
|
|
2451
2453
|
* For [*data_bits*] 17-32 there will be four bytes per character.
|
2452
2454
|
|
2453
2455
|
:call-seq:
|
2454
|
-
bb_serial_read(Integer pi,Integer user_gpio, Integer bufSize) ->
|
2455
|
-
bb_serial_read(Integer pi,Integer user_gpio, Integer bufSize) -> String (When Success)
|
2456
|
+
bb_serial_read(Integer pi,Integer user_gpio, Integer bufSize) -> Pigpio::Buffer buf
|
2456
2457
|
|
2457
2458
|
See also: {pigpio site}[http://abyz.me.uk/rpi/pigpio/pdif2.html#bb_serial_read]
|
2458
2459
|
*/
|
@@ -2460,7 +2461,8 @@ VALUE pigpio_rbfn_bb_serial_read(VALUE self, VALUE pi, VALUE user_gpio, VALUE bu
|
|
2460
2461
|
size_t countc=NUM2SIZET(bufSize);
|
2461
2462
|
VALUE buf=rb_str_new("",countc);//#<Encoding:ASCII-8BIT>;
|
2462
2463
|
int ret=bb_serial_read(NUM2INT(pi), NUM2UINT(user_gpio), (void*)StringValuePtr(buf), countc);
|
2463
|
-
return (
|
2464
|
+
return rb_funcall((VALUE)cBuffer, rb_intern("new"), 2,INT2NUM(ret),rb_str_resize(buf,ret));
|
2465
|
+
//return (ret < 0)?INT2NUM(ret):rb_str_resize(buf,ret);
|
2464
2466
|
//if(ret < 0){buf=Qnil;}
|
2465
2467
|
//return rb_ary_new_from_args(2,buf,INT2NUM(ret));
|
2466
2468
|
}
|
@@ -3702,9 +3704,6 @@ This class has some constances for pigpio library.
|
|
3702
3704
|
*/
|
3703
3705
|
void Init_pigpio(void){
|
3704
3706
|
VALUE cPulse,cBscXfer,cNativeQueue;
|
3705
|
-
/*
|
3706
|
-
This class has some constances for pigpio library.
|
3707
|
-
*/
|
3708
3707
|
VALUE cPigpio = rb_define_class("Pigpio", rb_cObject);
|
3709
3708
|
/*
|
3710
3709
|
This module is a ruby binding to pigpio library.
|
@@ -3864,4 +3863,10 @@ This class has some constances for pigpio library.
|
|
3864
3863
|
*/
|
3865
3864
|
cCallbackError = rb_define_class_under(cPigpio,"CallbackError", rb_eException);
|
3866
3865
|
rb_gc_register_address(&cCallbackError);
|
3866
|
+
|
3867
|
+
/*
|
3868
|
+
The class of Rx buffer.
|
3869
|
+
*/
|
3870
|
+
cBuffer = rb_define_class_under(cPigpio,"Buffer", rb_cString);
|
3871
|
+
rb_gc_register_address(&cBuffer);
|
3867
3872
|
}
|
data/lib/pigpio.rb
CHANGED
data/lib/pigpio/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pigpio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nak1114
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-03-
|
11
|
+
date: 2019-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- lib/pigpio/bit_bang_serial.rb
|
96
96
|
- lib/pigpio/bit_bang_serial_rx.rb
|
97
97
|
- lib/pigpio/bit_bang_serial_tx.rb
|
98
|
+
- lib/pigpio/buffer.rb
|
98
99
|
- lib/pigpio/constant.rb
|
99
100
|
- lib/pigpio/gpio.rb
|
100
101
|
- lib/pigpio/i2c.rb
|