pigpio 0.1.1 → 0.1.2
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/.dockerignore +6 -0
- data/.gitignore +5 -1
- data/bin/Dockerfile +17 -0
- data/bin/docker.rb +13 -0
- data/ext/pigpio/pigpio.c +1 -1
- data/lib/pigpio.rb +147 -0
- data/lib/pigpio/constant.rb +1 -1
- data/lib/pigpio/version.rb +1 -1
- data/pigpio.gemspec +1 -1
- metadata +7 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e26055fafbaad82ed0a2a348c852d3b4316eaa2a
|
4
|
+
data.tar.gz: 78f95ef3d9aa8270d3b6ff31b738dccbf174d2ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f13e9605e253b8981c876b2af2d7608b56942b823fdad405d8f4843fb7015a49334bec1460d6a2e199791711e0e9470d122e3a82cf4a2b6696a768f1d5b7b66
|
7
|
+
data.tar.gz: 8c620413e3f132d2fe26cd65cea62e2ba08c72c88f99782acd84b30a60ba2ef653f4d0101da2f75ed87d67424f910f98663dbf93ce4d076c098a347479a7b357
|
data/.dockerignore
ADDED
data/.gitignore
CHANGED
data/bin/Dockerfile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
FROM ruby:2.5.3
|
2
|
+
ENV LANG C.UTF-8
|
3
|
+
|
4
|
+
# for App
|
5
|
+
ENV APP_HOME /myapp
|
6
|
+
WORKDIR $APP_HOME
|
7
|
+
ADD . $APP_HOME
|
8
|
+
|
9
|
+
RUN cd spec/ext \
|
10
|
+
&& ruby extconf.rb && make \
|
11
|
+
&& cp libpigpiod_if2.so /usr/lib \
|
12
|
+
&& cp pigpio.h /usr/include \
|
13
|
+
&& cp pigpiod_if2.h /usr/include \
|
14
|
+
&& cd ../../ \
|
15
|
+
&& bundle install \
|
16
|
+
&& rake compile \
|
17
|
+
&& cp Gemfile.lock /tmp
|
data/bin/docker.rb
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
root=File.expand_path('../../', __FILE__)
|
2
|
+
if ARGV[0]=="clean"
|
3
|
+
system"docker container prune"
|
4
|
+
system"docker image prune"
|
5
|
+
exit 0
|
6
|
+
end
|
7
|
+
Dir.chdir(root) do
|
8
|
+
system %q(docker build -t pigpio -f ./bin/Dockerfile .)
|
9
|
+
docker_run=%(docker run --rm -it -v "#{root}":/myapp -w /myapp #{ENV['DOCKER_OPT']} pigpio)
|
10
|
+
system("#{docker_run} cp -pf /tmp/Gemfile.lock /myapp")
|
11
|
+
system"#{docker_run} /bin/bash"
|
12
|
+
end
|
13
|
+
__END__
|
data/ext/pigpio/pigpio.c
CHANGED
@@ -140,7 +140,7 @@ resources used by the library.
|
|
140
140
|
|
141
141
|
See also: {pigpio site}[http://abyz.me.uk/rpi/pigpio/pdif2.html#pigpio_stop]
|
142
142
|
*/
|
143
|
-
VALUE pigpio_rbfn_pigpio_stop(VALUE pi){
|
143
|
+
VALUE pigpio_rbfn_pigpio_stop(VALUE self,VALUE pi){
|
144
144
|
pigpio_stop(NUM2INT(pi));
|
145
145
|
return Qnil;
|
146
146
|
}
|
data/lib/pigpio.rb
CHANGED
@@ -3,4 +3,151 @@ require "pigpio/constant"
|
|
3
3
|
require "pigpio/pigpio"
|
4
4
|
|
5
5
|
class Pigpio
|
6
|
+
def initialize(addr=nil,port=nil,&blk)
|
7
|
+
@pi=IF.pigpio_start(addr,port)
|
8
|
+
if blk && connect
|
9
|
+
blk.call(self)
|
10
|
+
IF.pigpio_stop(@pi)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
def connect
|
14
|
+
@pi>=0
|
15
|
+
end
|
16
|
+
def stop
|
17
|
+
IF.pigpio_stop(@pi)
|
18
|
+
@pi=-1
|
19
|
+
end
|
20
|
+
def current_tick
|
21
|
+
IF.get_current_tick(@pi)
|
22
|
+
end
|
23
|
+
def hardware_revision
|
24
|
+
IF.get_hardware_revision(@pi)
|
25
|
+
end
|
26
|
+
def pigpio_version
|
27
|
+
IF.get_pigpio_version(@pi)
|
28
|
+
end
|
29
|
+
class Bank
|
30
|
+
Set={
|
31
|
+
read: [:read_bank_1 ,:read_bank_2],
|
32
|
+
clear: [:clear_bank_1,:clear_bank_2],
|
33
|
+
set: [:set_bank_1 ,:set_bank_2],
|
34
|
+
}
|
35
|
+
def initialize(pi,num)
|
36
|
+
@pi=pi
|
37
|
+
@num=num
|
38
|
+
end
|
39
|
+
def read
|
40
|
+
IF.send(Set[:read][@num],@pi)
|
41
|
+
end
|
42
|
+
def clear(bits)
|
43
|
+
IF.send(Set[:clear][@num],@pi,bits)
|
44
|
+
end
|
45
|
+
def set(bits)
|
46
|
+
IF.send(Set[:set][@num],@pi,bits)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
def bank(num)
|
50
|
+
Bank.new(@pi,num)
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def gpio(gpio)
|
55
|
+
if gpio<32
|
56
|
+
UserGPIO.new(@pi,gpio)
|
57
|
+
else
|
58
|
+
GPIO.new(@pi,gpio)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
class GPIO
|
62
|
+
def initialize(pi,gpio)
|
63
|
+
@pi=pi #0-15
|
64
|
+
@gpio=gpio #0-53
|
65
|
+
end
|
66
|
+
def gpio
|
67
|
+
@gpio
|
68
|
+
end
|
69
|
+
def mode=(mode)
|
70
|
+
ret=IF.set_mode(@pi,@gpio,mode)
|
71
|
+
end
|
72
|
+
def mode
|
73
|
+
ret=IF.get_mode(@pi,@gpio)
|
74
|
+
end
|
75
|
+
def pud(pud)
|
76
|
+
ret=IF.set_pull_up_down(@pi,@gpio,pud)
|
77
|
+
end
|
78
|
+
def read
|
79
|
+
ret=IF.gpio_read(@pi,@gpio)
|
80
|
+
end
|
81
|
+
def write(level)
|
82
|
+
ret=IF.gpio_write(@pi,@gpio,level)
|
83
|
+
end
|
84
|
+
def hardware_clock(clkfreq)
|
85
|
+
ret=IF.hardware_clock(@pi,@gpio,clkfreq)
|
86
|
+
end
|
87
|
+
def hardware_PWM(vPWMfreq,vPWMduty)
|
88
|
+
ret=IF.hardware_PWM(@pi,@gpio,vPWMfreq,vPWMduty)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
class UserGPIO < GPIO
|
92
|
+
def watchdog(timeout)
|
93
|
+
ret=IF.set_watchdog(@pi,@gpio,timeout)
|
94
|
+
end
|
95
|
+
def glitch_filter(steady)
|
96
|
+
ret=IF.set_glitch_filter(@pi,@gpio,steady)
|
97
|
+
end
|
98
|
+
def noise_filter(steady,active)
|
99
|
+
ret=IF.set_noise_filter(@pi,@gpio,steady,active)
|
100
|
+
end
|
101
|
+
def callback(edge,&blk)
|
102
|
+
@cid=IF.callback(@pi,@gpio,edge,&blk)
|
103
|
+
end
|
104
|
+
def cancel_callback
|
105
|
+
ret=IF.callback_cancel(@cid) if @cid && @cid >=0
|
106
|
+
@cid=nil
|
107
|
+
ret
|
108
|
+
end
|
109
|
+
def wait_for_edge(edge,timeout)
|
110
|
+
ret=IF.wait_for_edge(@pi,@gpio,edge,timeout)
|
111
|
+
end
|
112
|
+
def trigger(pulseLen,level)
|
113
|
+
ret=IF.gpio_trigger(@pi,@gpio,pulseLen,level)
|
114
|
+
end
|
115
|
+
def pwm
|
116
|
+
PWM.new(@pi,@gpio)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
class PWM
|
120
|
+
def initialize(pi,gpio)
|
121
|
+
@pi=pi
|
122
|
+
@gpio=gpio
|
123
|
+
end
|
124
|
+
def dutycycle=(dutycycle)
|
125
|
+
ret=IF.set_PWM_dutycycle(@pi,@gpio,dutycycle)
|
126
|
+
end
|
127
|
+
def dutycycle
|
128
|
+
ret=IF.get_PWM_dutycycle(@pi,@gpio)
|
129
|
+
end
|
130
|
+
def range=(range)
|
131
|
+
ret=IF.set_PWM_range(@pi,@gpio,range)
|
132
|
+
end
|
133
|
+
def range
|
134
|
+
ret=IF.get_PWM_range(@pi,@gpio)
|
135
|
+
end
|
136
|
+
def real_range
|
137
|
+
ret=IF.get_PWM_real_range(@pi,@gpio)
|
138
|
+
end
|
139
|
+
def frequency=(frequency)
|
140
|
+
ret=IF.set_PWM_frequency(@pi,@gpio,frequency)
|
141
|
+
end
|
142
|
+
def frequency
|
143
|
+
ret=IF.get_PWM_frequency(@pi,@gpio)
|
144
|
+
end
|
145
|
+
def servo_pulsewidth=(pulsewidth)
|
146
|
+
ret=IF.set_servo_pulsewidth(@pi,@gpio,pulsewidth)
|
147
|
+
end
|
148
|
+
def servo_pulsewidth
|
149
|
+
ret=IF.get_servo_pulsewidth(@pi,@gpio)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
6
153
|
end
|
data/lib/pigpio/constant.rb
CHANGED
data/lib/pigpio/version.rb
CHANGED
data/pigpio.gemspec
CHANGED
@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
|
|
37
37
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
38
38
|
spec.require_paths = ["ext","lib"]
|
39
39
|
|
40
|
-
spec.add_development_dependency "bundler", "~>
|
40
|
+
spec.add_development_dependency "bundler", "~> 1.17"
|
41
41
|
spec.add_development_dependency "rake", "~> 10.0"
|
42
42
|
spec.add_development_dependency "rspec", "~> 3.0"
|
43
43
|
spec.add_development_dependency "rake-compiler", "~> 1.0"
|
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.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nak1114
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.17'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.17'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -74,6 +74,7 @@ extensions:
|
|
74
74
|
- ext/pigpio/extconf.rb
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
|
+
- ".dockerignore"
|
77
78
|
- ".gitignore"
|
78
79
|
- ".rspec"
|
79
80
|
- ".travis.yml"
|
@@ -82,7 +83,9 @@ files:
|
|
82
83
|
- LICENSE.txt
|
83
84
|
- README.md
|
84
85
|
- Rakefile
|
86
|
+
- bin/Dockerfile
|
85
87
|
- bin/console
|
88
|
+
- bin/docker.rb
|
86
89
|
- bin/setup
|
87
90
|
- ext/pigpio/extconf.rb
|
88
91
|
- ext/pigpio/pigpio.c
|