rpi_pwm 0.2.1 → 0.3.0
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
- checksums.yaml.gz.sig +0 -0
- data/lib/rpi_pwm.rb +12 -74
- data.tar.gz.sig +0 -0
- metadata +43 -23
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d3645e03767ca728009827584055434b1f1e19b
|
4
|
+
data.tar.gz: 883f42d3b36ffec7ad4020ddb940528069ff8211
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 722fd7d5cf698ad3f3fd3483221f9a34b7091bd6a0c0717bd5ba9f8fa44ad46ad3e5bab5f5d24a0776cc7f7de373cf354e6cc0441b10db8dd4ba0199c9a416e8
|
7
|
+
data.tar.gz: 93f203fd8b46e055b909a16f740d3d2a9d7f2681f0f0011d6eb17f7f59147640b0cc8e42a9ca508373e76ac0c483d0c40c95e25e86f6550529b04fe11e2a08f6
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/rpi_pwm.rb
CHANGED
@@ -2,18 +2,19 @@
|
|
2
2
|
|
3
3
|
# file: rpi_pwm.rb
|
4
4
|
|
5
|
+
require 'pinx'
|
5
6
|
require 'rpi_gpio'
|
6
7
|
|
7
8
|
|
8
|
-
class RPiPwm
|
9
|
+
class RPiPwm < PinX
|
9
10
|
|
10
|
-
HIGH = true
|
11
|
-
LOW = false
|
12
11
|
|
13
12
|
attr_accessor :duty_cycle, :freq
|
14
13
|
|
15
14
|
|
16
15
|
def initialize(pin_num, duty_cycle: 100, freq: 100)
|
16
|
+
|
17
|
+
super(pin_num)
|
17
18
|
|
18
19
|
@id, @duty_cycle, @freq = pin_num, duty_cycle, freq
|
19
20
|
|
@@ -21,16 +22,12 @@ class RPiPwm
|
|
21
22
|
RPi::GPIO.setup pin_num, :as => :output
|
22
23
|
|
23
24
|
@pwm = RPi::GPIO::PWM.new(pin_num, freq)
|
24
|
-
|
25
|
-
@on, @blinking = false, false
|
25
|
+
@pwm.start 0
|
26
26
|
|
27
27
|
at_exit { RPi::GPIO.clean_up pin_num}
|
28
28
|
|
29
29
|
end
|
30
30
|
|
31
|
-
def blinking?()
|
32
|
-
@blinking
|
33
|
-
end
|
34
31
|
|
35
32
|
def duty_cycle=(val)
|
36
33
|
@duty_cycle = val
|
@@ -42,82 +39,23 @@ class RPiPwm
|
|
42
39
|
@pwm.frequency = val
|
43
40
|
end
|
44
41
|
|
45
|
-
def on(durationx=nil, duration: nil)
|
46
|
-
|
47
|
-
set_pin HIGH
|
48
|
-
@on = true
|
49
|
-
duration ||= durationx
|
50
|
-
|
51
|
-
@off_thread.exit if @off_thread
|
52
|
-
@on_thread = Thread.new {(sleep duration; self.off()) } if duration
|
42
|
+
def on(durationx=nil, duration: nil, duty_cycle: @duty_cycle, freq: @freq)
|
53
43
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
set_pin LOW
|
59
|
-
return if @internal_call
|
60
|
-
|
61
|
-
@on, @blinking = false, false
|
62
|
-
duration ||= durationx
|
63
|
-
|
64
|
-
@on_thread.exit if @on_thread
|
65
|
-
@off_thread = Thread.new { (sleep duration; self.on()) } if duration
|
44
|
+
self.duty_cycle = duty_cycle if duty_cycle
|
45
|
+
self.freq = freq if freq
|
46
|
+
super(durationx, duration: duration)
|
66
47
|
|
67
48
|
end
|
68
|
-
|
69
|
-
alias stop off
|
70
|
-
alias start on
|
71
|
-
alias frequency freq
|
72
|
-
|
73
|
-
def blink(seconds=0.5, duration: nil)
|
74
49
|
|
75
|
-
|
76
|
-
|
77
|
-
@blinking = true
|
78
|
-
t2 = Time.now + duration if duration
|
79
|
-
|
80
|
-
Thread.new do
|
81
|
-
while @blinking do
|
82
|
-
|
83
|
-
set_pin HIGH
|
84
|
-
sleep seconds / 2.0
|
85
|
-
break if !@blinking
|
86
|
-
sleep seconds / 2.0
|
87
|
-
break if !@blinking
|
88
|
-
|
89
|
-
set_pin LOW;
|
90
|
-
sleep seconds / 2.0
|
91
|
-
break if !@blinking
|
92
|
-
sleep seconds / 2.0
|
93
|
-
|
94
|
-
break if !@blinking
|
95
|
-
|
96
|
-
self.off if duration and Time.now >= t2
|
97
|
-
end
|
98
|
-
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
alias oscillate blink
|
103
|
-
|
104
|
-
def on?() @on end
|
105
|
-
def off?() !@on end
|
50
|
+
alias frequency freq
|
106
51
|
|
107
52
|
# set val with 0 (off) or 1 (on)
|
108
53
|
#
|
109
54
|
def set_pin(val)
|
110
55
|
|
111
|
-
|
112
|
-
|
113
|
-
@pwm.frequency = @freq
|
114
|
-
else
|
115
|
-
@pwm.stop
|
116
|
-
end
|
56
|
+
@pwm.duty_cycle = val ? @duty_cycle : 0
|
57
|
+
super(val)
|
117
58
|
|
118
59
|
end
|
119
60
|
|
120
|
-
def to_s()
|
121
|
-
@id
|
122
|
-
end
|
123
61
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rpi_pwm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -12,49 +12,69 @@ cert_chain:
|
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
|
14
14
|
YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
|
15
|
-
|
15
|
+
8ixkARkWAmV1MB4XDTE3MDUxMDE5NTkyN1oXDTE4MDUxMDE5NTkyN1owSDESMBAG
|
16
16
|
A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
|
17
17
|
EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
18
|
+
ggEBAMm/tO0QT1WeDYw6GKG7uz31P2fS0P0nT7iro2YSevvQ+Y67UAztQS/kyzm0
|
19
|
+
fC4zs58gwTnMcLpYjKMRGlIJ7b7esxI8rPimw9Ze4C2SQQYqBFTpus5U7DjaLI9i
|
20
|
+
wrplKJhtj6Gdp3O+g+iiSH+XtxIiaeR1iUMH5ZRvdY0gi6DU/mFacCiu1SsXIe7f
|
21
|
+
5QhUwGg1Af16TM816yysYmfVIeFtHlGREnKUCZyjlH94e64ZF+tfikbARGu9dheR
|
22
|
+
ZlaJ4+j+mXDjimWKSsCWDJXXnj1XvUnGKacDe0NjLlXmKENmNV0cLNU21w2lhrHt
|
23
|
+
9HQNZ4vTkgIg/Hw0jA4p0M2O3WcCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
|
24
|
+
DwQEAwIEsDAdBgNVHQ4EFgQUrjTRvma0Ds/XKqKAcBMaPXDIu0YwJgYDVR0RBB8w
|
25
25
|
HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAEjvQuo0p
|
27
|
+
XPAX0NH0gaLb19XvGyJvm7M4E2iAbOy8ZoBlcpWseOUrAFnTMb9uJ2dFzj/Bk0yq
|
28
|
+
KJvWwy+mSRFKVV32jVtJ5EwDZ/5qjR5S79DQzNKQT9g1Bf4nfIqVwCDoijH41UWo
|
29
|
+
r6+zcn1tsyfyI5jIov4BmIuQSJuZnO2L7NSmgLHiSmK4ATNG4K6po67G2+6rxcsX
|
30
|
+
teBCgZfImeAFUb54c8Nj79XaBL0konJHPqLgLU0eZ937bq8TK77N4HArVU93jg+o
|
31
|
+
DOgMqiajOm6dIxAeYRUIrstBEg4TkzWHbmHtGyXJeEdyZShPrTtjL7ZHUtpy32/j
|
32
|
+
7hILr7dD2PiaAg==
|
33
33
|
-----END CERTIFICATE-----
|
34
|
-
date:
|
34
|
+
date: 2017-05-10 00:00:00.000000000 Z
|
35
35
|
dependencies:
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: pinx
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0.1'
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.1.2
|
46
|
+
type: :runtime
|
47
|
+
prerelease: false
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0.1'
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: 0.1.2
|
36
56
|
- !ruby/object:Gem::Dependency
|
37
57
|
name: rpi_gpio
|
38
58
|
requirement: !ruby/object:Gem::Requirement
|
39
59
|
requirements:
|
40
60
|
- - "~>"
|
41
61
|
- !ruby/object:Gem::Version
|
42
|
-
version: '0.
|
62
|
+
version: '0.3'
|
43
63
|
- - ">="
|
44
64
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
65
|
+
version: 0.3.3
|
46
66
|
type: :runtime
|
47
67
|
prerelease: false
|
48
68
|
version_requirements: !ruby/object:Gem::Requirement
|
49
69
|
requirements:
|
50
70
|
- - "~>"
|
51
71
|
- !ruby/object:Gem::Version
|
52
|
-
version: '0.
|
72
|
+
version: '0.3'
|
53
73
|
- - ">="
|
54
74
|
- !ruby/object:Gem::Version
|
55
|
-
version: 0.
|
75
|
+
version: 0.3.3
|
56
76
|
description:
|
57
|
-
email: james@
|
77
|
+
email: james@jamesrobertson.eu
|
58
78
|
executables: []
|
59
79
|
extensions: []
|
60
80
|
extra_rdoc_files: []
|
@@ -80,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
80
100
|
version: '0'
|
81
101
|
requirements: []
|
82
102
|
rubyforge_project:
|
83
|
-
rubygems_version: 2.
|
103
|
+
rubygems_version: 2.6.8
|
84
104
|
signing_key:
|
85
105
|
specification_version: 4
|
86
106
|
summary: A wrapper of the rpi_gpio gem with similar function to the rpi gem, but features
|
metadata.gz.sig
CHANGED
Binary file
|