pigpio 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e60687556057941c39d65fca1a5eabaa3c8160de
4
- data.tar.gz: 74f1994d089106e942362485e549f707a16973f6
3
+ metadata.gz: e26055fafbaad82ed0a2a348c852d3b4316eaa2a
4
+ data.tar.gz: 78f95ef3d9aa8270d3b6ff31b738dccbf174d2ad
5
5
  SHA512:
6
- metadata.gz: 9702113eeff6230e33d1520aaf6fdb478713ef16cf146685e669026c9077d84705dcc859ffc89ce790f6e699959ef5935f5ccaffe7ab99800ebb5951fbba3827
7
- data.tar.gz: b4bc5fe0a7cd81d4da0bbc27a591b386d3e683df14475c040e9ca5fbb16b125c718f32d8f8d4227f5d8803e8abf9308b257d677e9b9908566c64115b15f144db
6
+ metadata.gz: 1f13e9605e253b8981c876b2af2d7608b56942b823fdad405d8f4843fb7015a49334bec1460d6a2e199791711e0e9470d122e3a82cf4a2b6696a768f1d5b7b66
7
+ data.tar.gz: 8c620413e3f132d2fe26cd65cea62e2ba08c72c88f99782acd84b30a60ba2ef653f4d0101da2f75ed87d67424f910f98663dbf93ce4d076c098a347479a7b357
data/.dockerignore ADDED
@@ -0,0 +1,6 @@
1
+ bin/Dockerfile
2
+ bin/docker.rb
3
+ tmp
4
+ docs
5
+ Gemfile.lock
6
+ .rspec_status
data/.gitignore CHANGED
@@ -5,6 +5,10 @@
5
5
  /pkg/
6
6
  /spec/reports/
7
7
  /tmp/
8
-
8
+ Makefile
9
+ *.o
10
+ *.so
11
+ Gemfile.lock
9
12
  # rspec failure tracking
10
13
  .rspec_status
14
+ rr.rb
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
@@ -1,4 +1,4 @@
1
- class Pigpio
1
+ module Pigpio::Constant
2
2
  #/* gpio: 0-53 */
3
3
 
4
4
  PI_MIN_GPIO =0
@@ -1,3 +1,3 @@
1
1
  class Pigpio
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
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", "~> 2.0"
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.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-10 00:00:00.000000000 Z
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: '2.0'
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: '2.0'
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