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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/lib/rpi_pwm.rb +12 -74
  4. data.tar.gz.sig +0 -0
  5. metadata +43 -23
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95205e0c301a261a683cf3bb5dde72c7210a4d80
4
- data.tar.gz: c6cce65f85343fb24d90eef779425ba3b490fa4d
3
+ metadata.gz: 2d3645e03767ca728009827584055434b1f1e19b
4
+ data.tar.gz: 883f42d3b36ffec7ad4020ddb940528069ff8211
5
5
  SHA512:
6
- metadata.gz: 84e91340a5b6c41c2e0b49f4ae510b4c78eb9f746bf0938bf4e66804bad9b54d23e2c5290dd0f1fad4aa12803c9ed545d19df031e254e3d36953b2743f33b509
7
- data.tar.gz: 1ae48d835dbc86adf954780ab6b8e84c93439097311a5f860d3bcbae8bb143e481e4b8ce64f857522f298ef6f705dcb110c2df7c90adb262aca56764257f5cb3
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
- end
55
-
56
- def off(durationx=nil, duration: nil)
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
- self.stop if blinking?
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
- if val then
112
- @pwm.start @duty_cycle
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.2.1
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
- 8ixkARkWAmV1MB4XDTE2MDQwMzA5NDYzNFoXDTE3MDQwMzA5NDYzNFowSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MDUxMDE5NTkyN1oXDTE4MDUxMDE5NTkyN1owSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAKj5REqSzIytdTgKxZPFAr2pZz4B64rcEHM6eoo2iCZsxU9+DzolCF6Rl/sY
19
- AjuNcdgkHFjbVF5mxr1nBvmz2Uec657SDlqIBl/p0vL3nUss8Odu9O6oDRmc3X4u
20
- 3ES0qppUZNGMWouSIyDIKs2g62JovNufqRUhhWgWKJGtBKU2zCtnFh1i4S/jOA8E
21
- ki20nNJ4HN+t1SQ/9DJzu/yHd2vUCbrubYOFust/kKAmdc0o5G4qzO3pLwxCatWV
22
- pvmSG3uies2drDV2y2SSxKOPFUHih4CC4M2QSTDi0+dVDlczeqIZXDi/DiUDDPZQ
23
- OrbLeWt1trBNS3DgtUUNZunpfSUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUphSVISSFJ/YGjFyQkoXOWObthAowJgYDVR0RBB8w
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
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAk1mmrZbP
27
- TcdyAkfr5/I6rtqKxsFRj6SHg5l2h6WvazudCdRCAz04Uz+WrGu0fUWd8+cKO4zY
28
- vsh7s5E7SlB/rpli/TZDFaUIt12gN3ASx0cqwKTGWgK07XmAlf+6Dub/tHiq7Yt9
29
- dxkf/5UJoCBxX8HGqiWTtw5896Nz1SgIm5Xi/2z45mpoYjNvaHX9x4e3B2iQvagj
30
- UA50rR8ryFtvMyqumGPCHKoIQNsYEGlTJgckzR/0Ta5DuaTUlMZBJ1E4nyOIr4Bg
31
- Lg+1iD44mOhKo89xZ5h1Puu6JavsbMTmeFCxBH7BbacQ3NHjj3CSG0pI0YWlDSys
32
- SKOkTuZCEwtqtw==
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: 2016-04-08 00:00:00.000000000 Z
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.2'
62
+ version: '0.3'
43
63
  - - ">="
44
64
  - !ruby/object:Gem::Version
45
- version: 0.2.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.2'
72
+ version: '0.3'
53
73
  - - ">="
54
74
  - !ruby/object:Gem::Version
55
- version: 0.2.0
75
+ version: 0.3.3
56
76
  description:
57
- email: james@r0bertson.co.uk
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.4.8
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