humble_rpi-plugin-button 0.2.0 → 0.4.1

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
- SHA1:
3
- metadata.gz: 1255a116c64c496751809f91fa7555d2d509f72e
4
- data.tar.gz: 5f4fd3a1a23cb0ef1a674b3ffea9c64508ca8cfc
2
+ SHA256:
3
+ metadata.gz: da8091896f195a8a3b31de4794d2925c4a383ecb1041ee6dc719396591fde508
4
+ data.tar.gz: e7484f1d5a78c25051f6ddb4de3c477b4d260c61bcda5046be2225225d67cc07
5
5
  SHA512:
6
- metadata.gz: b380bd8ce58bd7ce323b8a500efeeb14359d64e4a172690829ae820c5ffa8713091823854472fed28c85fc82347bbb12feeba51024f2d7077668152f17a601de
7
- data.tar.gz: 7b07fcc7559e10ceb43ab5fbc1c96a08e427a45609ceb899f4537fc60451d13f2625754e2eb867f5fbd149fbf41ecb5a613b63860b0d3a658849ebee5a6bcf6e
6
+ metadata.gz: d3cf714a0bec2214f25227911c4183ce5579f6d35981d9695bc40985144c2a6d57ea86f5b910b8277a9e7c6aac6e67d7971b0218bdf342b968d7ca9be8bce3c2
7
+ data.tar.gz: c676a568f0057ee8457732a6d7b2e59f3051894c0e28a6a018bae56ce8d09d6a5e0d9d42ff72ae54b9f4d21365646515f3552bfb1a4de04abd4e772a84d2b6d5
checksums.yaml.gz.sig CHANGED
Binary file
@@ -3,68 +3,64 @@
3
3
  # file: humble_rpi-plugin-button.rb
4
4
 
5
5
 
6
- require 'rpi_pinin'
6
+ require 'rpi_pinin_msgout'
7
7
 
8
8
 
9
9
  class HumbleRPiPluginButton
10
10
 
11
11
 
12
- def initialize(settings: {ignore_keyup: true}, variables: {})
12
+ def initialize(settings: {}, variables: {}, verbose: false)
13
+
14
+ pins = settings[:pins]
15
+ settings.delete :pins
16
+
17
+ h1 = {
18
+ capture_rate: 0.25, # seconds
19
+ mode: :default
20
+ }.merge settings
21
+
22
+ h2 = {device_id: 'pi'}.merge variables
23
+
24
+ h3 = {
25
+ pull: :up,
26
+ subtopic: 'button',
27
+ descriptor: 'pressed',
28
+ verbose: verbose
29
+ }
30
+
31
+ h = h1.merge(h2).merge(h3)
32
+
33
+ @pins = pins.map.with_index do |x,i|
34
+
35
+ params = {}
36
+ if x.is_a? String or x.is_a? Integer then
37
+
38
+ pin, params = x, h
39
+
40
+ elsif x.is_a? Hash
41
+
42
+ pin = x.keys.first.to_s
43
+ params = h.merge(id: x.values.first.to_s)
44
+ params.merge!({mode: x[:mode]}) if x[:mode]
45
+ params.merge!({capture_rate: x[:capture_rate]}) if x[:capture_rate]
46
+
47
+ end
48
+
49
+ RPiPinInMsgOut.new pin, variables[:simulator], **params.merge(index: i+1)
50
+
51
+ end
13
52
 
14
- @ignore_keyup = settings[:ignore_keyup] || true
15
- @pins = settings[:pins].map {|x| RPiPinIn.new x, pull: :up}
16
- @notifier = variables[:notifier]
17
- @device_id = variables[:device_id] || 'pi'
18
-
19
53
  end
20
54
 
21
55
  def start()
22
-
23
- notifier = @notifier
24
- device_id = @device_id
25
-
26
- t0 = Time.now + 1
27
-
56
+
28
57
  puts 'ready to detect buttons'
29
-
30
- @pins.each.with_index do |button, i|
31
-
32
- puts 'button %s on GPIO %s enabled ' % [i+1, button]
33
-
34
- n = (i+1).to_s
35
-
36
- Thread.new do
37
-
38
- button.watch do |value|
39
-
40
- # ignore any movements that happened 250
41
- # milliseconds ago since the last movement
42
- if t0 + 0.25 < Time.now then
43
-
44
- state = case value
45
- when 1
46
- @ignore_keyup ? :press : :down
47
- when 0
48
- :up unless @ignore_keyup
49
- end
50
-
51
- if state
52
- notifier.notice "%s/button/%s: key%s" % [device_id, i, state]
53
- end
54
-
55
- t0 = Time.now
56
-
57
- end
58
- end
59
-
60
- end
61
-
62
- end
63
-
64
-
58
+
59
+ @pins.each {|pin| Thread.new { pin.capture} }
60
+
65
61
  end
66
-
62
+
67
63
  alias on_start start
68
-
69
-
70
- end
64
+
65
+
66
+ end
data.tar.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
- ��MR��o�V�"R`�a�����k�*n��JX�jXS�kd�-�2
2
- �W ��=�q ��]��?��v��X'aE_6:�r�#-T�w{X c�n
3
- |Ja1`*������ �<�����<"�U�!ik'Zp����(�& D�O�͔���lÝ�7�Tn�Q{S�����D�1h���wlj=B-�.?�xǷ_�p�l[iUi��‘Q�EX��>T\�[��ؗc�K�H:
4
- ��~����\p
1
+ |�6��m4�V/x%�/n_'��3��ǽ�$�v3�A�׭��ߠj�a��ӓf7+�I�r�٦�����5 ��
2
+ u��V�����7��i*��-�m���rAκ"U,��ev����ts?��Z�3)�OǢK7PQAc>��j�M����ϓ/�G�V�}|���]�p�\�Ë~�� VC9t�L��W�j&O�f��B�0$p��$nB��@���Xm���^H�U*%�`���>�L$s�oMlh����D��r �:'h }f�;��Mj`[��>��tp���^�i���������x��%����K�=n/�}y���� o�ٲ��6�~��<���!�_ o`3w)"���P ?�Kmߋa��q:inJC��
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: humble_rpi-plugin-button
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,51 +10,55 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
- YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE1MDYxNDEwMDMwOVoXDTE2MDYxMzEwMDMwOVowSDESMBAG
16
- A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
- EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBANhm8Uiq4D3P0UGJeUjzVd+I8XD9VAvEfXtjlrwiQe9lV5SIrrWeWTjnoKy6
19
- R0jg2KV+lR1g9wcXMuKKqBsSUIhUJveMXyQt2ETRhSc4gjMIN/Bn0WV/5EgBkzgS
20
- F6j1e84fSKbhWItGWAcJv4ls7akaTJJc2+HOSwpPxAHQjaBHusTbkeBjhEe1SEkB
21
- +mWTttJ/9T2ctvMXHCuAlYL28qv+ogi9g1rWS5sEpMkJh3z6cRI3kpcaaf2wrTRW
22
- 2n7Zk4Jpda1uIxCGuMh3OlxIo1OellGIWt8SHOzd+RyL3BUiwAG6F2XVuGWpoAZT
23
- gaVtf8iRZpgoEsO9U/hXCqBTQMUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUECQZXszWc6h72Btlf7XDoYi9YYUwJgYDVR0RBB8w
25
- HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAjjY9Wv3M
27
- fCZg0CL8u/xC9z9eAw7OeJQtpMeB6Jjw9fKELLpRSQL/a9iQZ78n5Q2+CpskTBWA
28
- vh1ZWZ5zI8q8hy/IEfUgCBw6IqDaCNWkMHucHgGaSIXlQxe+S7JSmMJP/JeCirfO
29
- Tp2Th3/huM1OubWC+FNwRBtfUzStlzyMjiLL2fi3S5EKUXqa4eLw6G9xKCnK2kEd
30
- I027U4NpDP4SpfgCaDmzQAu0C7EifIWFsZJh1CiDes4SkUNEbNr4RFFqWVhGTifh
31
- BpuaDRLyhUfMJfBG+PlWbU2XPeE6pbRnGWCbBwZtUcCzSfwfEehXiw0aZOMCG6Gu
32
- OTO58NMjMKNbdQ==
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMzE0MjIwNTEzWhcN
15
+ MjMwMzE0MjIwNTEzWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQC19Jz9
17
+ fKPoCytywMMbH7b7CnKwSMHyyFaaSrotLBfB5Y9q3ZDngP8HWAl4SBRx9QuJmuWx
18
+ NUdhuQ4L4rP2vPkv8iEl6aeo/lAIPeBo36LUcW718MVvYcRjyQ0id0JybnRs8sJx
19
+ 4FuiiZ0Py0b+KRCNYgekCt7vQ6NY5MG3CJcBwbNj4vy9N23F7rubSeCUkcojFcZc
20
+ gkUn6291F3XtCnMY30CcWkId+5DVK/hc1C5s46/lOnvzZ9ov3kDlcoYB4JlfoEXn
21
+ E1kqg/O6r/ok59+UsJJvkN1mGgW3ZD39d0vH7ntNYcjxI+aIGu3giHn3vk35odil
22
+ q3PjPRLEXS1Y0j4RYG76y+r5O6+ajPguiSYui8Q2Q7hYTvLoIcg0/G/BA25zD2G2
23
+ 5E2cwuL9/zT7XWXk1ryl90kAups7m0Q7Rtkj1dL7jSIsrhSdfNJMfhYA0eWGtA4V
24
+ wniQ4F6/JK41dsd0fiSpA1yxMZmfFoL3f9ZZV1ojP+4BPyN7G6zsVK8h2okCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU+SmKbVNs
26
+ fB1W/3tXHIV8x3F2vmEwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAdIMM0zuRiuMhOK3HW/YnlSjjqOVrm9vjAKjzTjhi
29
+ sU8k5Yzj3RwOZE/1DOMUPnDdKssmEDEzslFROCu1QyXkgMPW4xB7V7rWKap5fs/w
30
+ 9PdrOa8AolhJrB2cxy1Hpqy6VBIsxmURDiy3Ga72i1oyxpfhfgQsIybyL7QKPvRw
31
+ Tjnneec9T4hHyIECsRF8CMvW1VEMg0Fa565G5v/4jfQnsNHW1uyXgdsL2Zrp0yMq
32
+ ccDcsfQIS/02PqB6tiyLmhtoTNaU18t8uGHFleencttKnvoUIYBBFI77UwdA4oFn
33
+ uMp22Gmpw7iBmAc8fZZPauo/RHzCSWnpwNXokOMkflJY9Xiw8fHn8TSPxbmMo087
34
+ FJnt5nesL+CL9HWdxITRNTpBOqD99vllKcXu3odBC2XZl8oB5QqKCaLSl+JGSQCA
35
+ Oi97+E47j+fm2CJy8dhczJdx4bPNLe+NgcE7G5WR3VMtr2pB30UE5Eubggir6bNg
36
+ tbCa0lkjjbzmzqevKV0EvF8s
33
37
  -----END CERTIFICATE-----
34
- date: 2016-04-11 00:00:00.000000000 Z
38
+ date: 2022-03-14 00:00:00.000000000 Z
35
39
  dependencies:
36
40
  - !ruby/object:Gem::Dependency
37
- name: rpi_pinin
41
+ name: rpi_pinin_msgout
38
42
  requirement: !ruby/object:Gem::Requirement
39
43
  requirements:
40
44
  - - "~>"
41
45
  - !ruby/object:Gem::Version
42
- version: '0.1'
46
+ version: '0.3'
43
47
  - - ">="
44
48
  - !ruby/object:Gem::Version
45
- version: 0.1.2
49
+ version: 0.3.5
46
50
  type: :runtime
47
51
  prerelease: false
48
52
  version_requirements: !ruby/object:Gem::Requirement
49
53
  requirements:
50
54
  - - "~>"
51
55
  - !ruby/object:Gem::Version
52
- version: '0.1'
56
+ version: '0.3'
53
57
  - - ">="
54
58
  - !ruby/object:Gem::Version
55
- version: 0.1.2
59
+ version: 0.3.5
56
60
  description:
57
- email: james@r0bertson.co.uk
61
+ email: digital.robertson@gmail.com
58
62
  executables: []
59
63
  extensions: []
60
64
  extra_rdoc_files: []
@@ -79,8 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
83
  - !ruby/object:Gem::Version
80
84
  version: '0'
81
85
  requirements: []
82
- rubyforge_project:
83
- rubygems_version: 2.4.8
86
+ rubygems_version: 3.2.22
84
87
  signing_key:
85
88
  specification_version: 4
86
89
  summary: A humble_rpi plugin which detects a button press.
metadata.gz.sig CHANGED
Binary file