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 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