time7segment 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: effa6ed1157c59eb5dc7ca8a0794d8630ea76e96
4
+ data.tar.gz: 101f2e2322ec2cf82375e740ea01e0739e75a3b8
5
+ SHA512:
6
+ metadata.gz: 8f473b79759b0ad0d5b5aabb974b790acf72fe5392c60ea8d9918053f3f62be16022ab19a3f6e103ff227b764ba7f3227f378ad253e1fb4843b37c3d479c9fac
7
+ data.tar.gz: 4e98536ad0005db29bc4f6fff92d671205e29672bc0af2e1153808efd6f8b499fe011e71e2c0850305f5caaf55973ccab0a8c788a6544b3207d8e684c84354f1
checksums.yaml.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ (��@�\���c^F<*sQ���>��(L���~L� i�C���L} �H��c�eԫ�\�g�H�ާ�A����/�+;�bx8�*H~�5� K���1�у���TL�>*x�|!%)Q��7�*� "��sTty�&���XJ>c�5�w�;"��&��V#g�ٱ�W�� �S�_]%�J�.��8i _����xQ�%�E�wY���ѫf�
2
+ ��!u��↼ �%� "��(��yb�v������+�g@e[�L��i��E�
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'rpi'
4
+
5
+
6
+ # file: time7segment.rb
7
+
8
+ # Quick pin reference
9
+ # ===================
10
+ #
11
+ # index: 0 1 2 3 4 5 6 7
12
+ # segment: a b c d e f g dp
13
+ # 7 seg pin: 11 7 4 2 1 10 5 3
14
+ # GPIO pin: 11 4 23 8 20 10 18 25
15
+
16
+
17
+ class Time7Segment
18
+
19
+ # d1 d2 d3 d4 a b c d e f g dp
20
+ def initialize(gpio_pins=%w(22 27 17 24 11 4 23 8 20 10 18 25),
21
+ refresh: 0.0025)
22
+
23
+ pins = RPi.new(gpio_pins).pins
24
+ @digits, @segments = pins.take(4), pins.slice(4..-1)
25
+ @refresh = refresh
26
+
27
+
28
+ end
29
+
30
+ def start
31
+
32
+ loop do
33
+
34
+ Time.now.strftime("%H%M").chars.each.with_index do |x,i|
35
+
36
+ display(x.to_i)
37
+ @digits[i].on
38
+ @segments[7].method( i == 1 ? :off : :on).call
39
+ sleep @refresh
40
+ @digits[i].off
41
+
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+
48
+ private
49
+
50
+ def display(c)
51
+
52
+ lookup = [0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B]
53
+ a = lookup[c].to_s(2).rjust(7,'0').chars.map {|x| x == '1' ? :off : :on}
54
+ a.each.with_index {|x,i| @segments[i].method(x).call}
55
+
56
+ end
57
+
58
+ end
59
+
60
+ if __FILE__ == $0 then
61
+ Time7Segment.new(*ARGV).start
62
+ end
data.tar.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ .[v0�5�
2
+ ���‰��D���Qw�=��ǒ�������J�:�W����{�xy��#�u�����6{� *ճ�LX}�PٳS������'P��Q���]�`p�B(��vwQ�����#����߮��(Rn/����w��YH=k�O=��B��Nބ7Z�sQ�x+蛨��'YG�����X�{c�w{Vٍ�z����x�
3
+ ��eJ��k`%��2k7�\�4��h��>�)'9l���$BR.�o�y�s;�B��L[
metadata ADDED
@@ -0,0 +1,88 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: time7segment
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
+ 8ixkARkWAmV1MB4XDTE2MDIyNjIwMzkzMloXDTE3MDIyNTIwMzkzMlowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
+ ggEBAJZY+0TDWB9zhMfKidaC4YaZRN+6MNK4BznZjT1t0Uyp7PXL1uv+R3IIMwCZ
19
+ 4NjZkE4TtYueOzXfj1g6PiVFtih8R8KVw+WcR3OXNiOHbfVVgkq1RzUxFnHkvsD+
20
+ T5keeigxvM7eYYH4/tSv6v+pO6a+UGcUBhpWMWGotCKJn+Vb9FNWv6wHOEOVadtQ
21
+ fdeCZPJW/ueOUF1AmwTdCEbp76Zu3ShoG0+AiOtpaS84cX0Bi1owxFhoJCLdPPYP
22
+ 10UNF0NlmseJNz1LWAnJBC9sBbWuBEhC2s0zd9/8oxT57U2xvWO2IwBHP/BvLNzu
23
+ fZDU2aIw7uU6CKudbsl7AFtz3JUCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUS3WhUvnUkBROp/G4XQWgor7YLrkwJgYDVR0RBB8w
25
+ HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAPxERnCcJ
27
+ +qslFkn8YLLL1ca7MiAhB+rJV8R1iOK+ZioVS8rP+r/UdNpas0+eh7YCDr7g66Iw
28
+ b/SWpqVvWDRpGlYEV7NbQgbOV9sRf71mnikBbZEfo0ZmR6tnRDRURjl7f7pXRdpo
29
+ /iNWJPyeoTQyo049KVKgF+qvTEEmkFlb8MjNo0J4VQLxfvY8RuoGXNBP+3b/Selc
30
+ SKagmbd03RP5OOIzTUhxAw25zIC/MmylyVjsvIYuDwB1fvLmWAW+GowwhmMWySWO
31
+ +hK+FacNWYYl7NLDoAQDnx8UxWfUl7WpWi7B/U09XsOHNwhaTJsZ6GeVkdVm1E//
32
+ W1B8FmCNgggaYQ==
33
+ -----END CERTIFICATE-----
34
+ date: 2016-02-26 00:00:00.000000000 Z
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rpi
38
+ requirement: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '0.4'
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: 0.4.5
46
+ type: :runtime
47
+ prerelease: false
48
+ version_requirements: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
51
+ - !ruby/object:Gem::Version
52
+ version: '0.4'
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 0.4.5
56
+ description:
57
+ email: james@r0bertson.co.uk
58
+ executables: []
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - lib/time7segment.rb
63
+ homepage: https://github.com/jrobertson/time7segment
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.4.8
84
+ signing_key:
85
+ specification_version: 4
86
+ summary: Displays the time on a 4 digit 7 segment display connected to a Raspberry
87
+ Pi
88
+ test_files: []
metadata.gz.sig ADDED
Binary file