morsecode_keypad 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6e5af2e7192ae9a9c01c840034904e20af59cd64
4
+ data.tar.gz: 0670c1065c5e50cfb344abe7c9fffedafa49ab6c
5
+ SHA512:
6
+ metadata.gz: 00aca7862f3000950c6469f1f906aaaa07ae177344136f4d34a8ee3558ff01dd0b1d34f4b9d1847b797cea77bb9e69b25ee2bc23e94314c7905f3fea5ce7f01e
7
+ data.tar.gz: cda7de7a18bf8533fbd6b609961967e1f4014eea1acd8f97a13b3db94f277f13b7a5b04ee413b0062477da219d2d93b23a45a182a1b77b9a51f96bebe3c85afd
checksums.yaml.gz.sig ADDED
Binary file
data.tar.gz.sig ADDED
Binary file
@@ -0,0 +1,89 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # file: morsecode_keypad.rb
4
+
5
+ require 'rpi_pinin'
6
+
7
+
8
+ class MorsecodeKeypad
9
+
10
+ DASH = '1'
11
+ DOT = '2'
12
+ SEPARATOR = '4'
13
+
14
+ def initialize(dash: 4, dot: 17, separator: 27, sendx: 22, notifier: nil)
15
+
16
+ @notifier = notifier
17
+ @dash_pin, @dot_pin, @separator_pin, @send_pin = \
18
+ [dash, dot, separator, sendx].map {|pin| RPiPinIn.new(pin, pull: :up)}
19
+ @mc = ''
20
+
21
+ end
22
+
23
+ def start()
24
+
25
+ Thread.new do
26
+ @dash_pin.watch_high do |v|
27
+
28
+ puts "dash: " + Time.now.to_s if @notifier.nil?
29
+ on_dash()
30
+
31
+ end
32
+ end
33
+
34
+ Thread.new do
35
+ @dot_pin.watch_high do |v|
36
+
37
+ puts "dot: " + Time.now.to_s if @notifier.nil?
38
+ on_dot()
39
+
40
+ end
41
+ end
42
+
43
+ Thread.new do
44
+ @separator_pin.watch_high do |v|
45
+
46
+ puts "separator: " + Time.now.to_s if @notifier.nil?
47
+ on_separator()
48
+
49
+ end
50
+ end
51
+
52
+ @send_pin.watch_high do |v|
53
+
54
+ puts "send: " + Time.now.to_s if @notifier.nil?
55
+ on_send()
56
+
57
+ end
58
+
59
+
60
+ end
61
+
62
+ private
63
+
64
+ def on_dash()
65
+ @mc << DASH
66
+ end
67
+
68
+ def on_dot()
69
+ @mc << DOT
70
+ end
71
+
72
+ def on_separator()
73
+ @mc << SEPARATOR
74
+ end
75
+
76
+ def on_send()
77
+
78
+ if @notifier then
79
+ @notifier.update @mc
80
+ else
81
+ puts @mc
82
+ end
83
+
84
+ @mc = ''
85
+
86
+ end
87
+
88
+ end
89
+
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: morsecode_keypad
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Robertson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTE2MTAxNzE0MzUxNFoXDTE3MTAxNzE0MzUxNFowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAL8RHWKDs0zteRs0PqAFIhTy/PAyephoRxWleoT75sihsYd42ft7VIjR6+UZ
19
+ ghav7P9TvJ+mgwgLNAbOdG9IkaHSszsCMHgqjdpWcXhP8LT2EzgBZNFEa53Dmszf
20
+ JNSAhC6wvaxawFVio4+TyhukJYWFHfhTWUbmk6euAyO+x3haXhoncIgnPiqUzGEg
21
+ cjaupynTI9Bp1ZqYh5sz9ZPgUe0SvBQZDjNt7wJgWx1ZSHxgFaDJXFj28mzgrltG
22
+ kWEaMU9dTra255QtMxetnqtAOVonpBTOGuU3I57ALq94AFRlwTxMlPMj2RIc7088
23
+ OQ2JPYB9RTibytmXATA0hFgNorkCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUHSu1qC+7z7umUedbMoMvFqGmgJ4wJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAj8snGDTE
27
+ C+WRXNk7j31JYPY5MZCsSg9rtqhy92vO3IikOda4SEIT6t1LLmGXBb6MPSfSx2x/
28
+ qN61JLdkBAAS+mGwTre/SmXlD8DS6VCFgwRk3Uuy3GXnd72sXgb/QFjaSOT9h/Ts
29
+ K2g/wMldiDtpH9ipyb4GGJZv9wT03dcXpb48Eo08hD+T1RLA+U739CNH4C9eg6aN
30
+ 5ERWmwR9piwNqYVnfrik54pQ/YJxGc8NPgMCODQOQhutlx4+zqikSc4/3zZ253xh
31
+ Qrh60hwQOtZY3gRl2ibYZzXCsSKrI+DSeP3wBNTsDXNo7LT0GwqFf9ibuLK2tI/a
32
+ CmyBJlnccx5pmw==
33
+ -----END CERTIFICATE-----
34
+ date: 2016-10-17 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rpi_pinin
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
56
+ description:
57
+ email: james@r0bertson.co.uk
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/morsecode_keypad.rb
63
+ homepage: https://github.com/jrobertson/morsecode_keypad
64
+ licenses:
65
+ - MIT
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options: []
69
+ require_paths:
70
+ - lib
71
+ required_ruby_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ required_rubygems_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ requirements: []
82
+ rubyforge_project:
83
+ rubygems_version: 2.5.1
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Designed for using morsecode on the Raspberry Pi with a keypad which has
87
+ 4 buttons (dash, dot, separator, and send).
88
+ test_files: []
metadata.gz.sig ADDED
Binary file