morsecode_keypad 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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