rpi_rgb 0.1.4 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/rpi_rgb.rb +43 -35
  5. metadata +41 -21
  6. metadata.gz.sig +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0bd0403a7952d84e4ec168cac35765d0fae28f39
4
- data.tar.gz: a2f8ddde8c891a0f32830729f272dace34e98279
3
+ metadata.gz: '0851e15300976c05106da84ef3333447d15dc4aa'
4
+ data.tar.gz: cdb7e9a721459598d73d0700d0695cde22b8e565
5
5
  SHA512:
6
- metadata.gz: 4e751d8d7979bbbbdaef1bfe634252279f0211fa0bf668401f342fced7fd941dfdb3da00522ee5f6f1f30debd447b9b5454a7aea96eff4d95994fa0944a99587
7
- data.tar.gz: b7ff5fff9f3627d9bd1202b5bddff6a52294dad1de8ce2824c98f3713165215d047f1a6184356d63303f2b63f0044eba6e1fc1d4691a65eb777697cb12155385
6
+ metadata.gz: 27d538145b1aa5ff801d17bac311c201863fec094b63523fcabadc1fa8599e4752949d81e9074abe910df13e5717bac6d0958e503172748b594140975b7c5335
7
+ data.tar.gz: 5d7fe8e3c3a05f4127b5bf1414f6b43b270984784f3f69f5469b301e327481bfb18ccd18e1b45441ae4f09f243b6d4ba3b2d3ded5710ae1de276180d0c4f6350
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -2,6 +2,7 @@
2
2
 
3
3
  # file: rpi_rgb.rb
4
4
 
5
+ require 'rgb'
5
6
  require 'rpi_led'
6
7
 
7
8
 
@@ -10,14 +11,14 @@ require 'rpi_led'
10
11
  =begin
11
12
 
12
13
  presets = {
13
- purple: [100,0,100],
14
- yellow: [75, 40, 5, 100],
15
- orange: [20, 3, 0],
16
- lilac: [20, 3, 60],
17
- turquoise: [1, 10, 10]
18
- }
19
-
20
- rgb = RPiRGB.new(%w(27 17 4), presets: presets, smooth: true)
14
+ purple: '#800080',
15
+ yellow: '#FFFF00',
16
+ orange: '#FFA500',
17
+ turquoise: '#40E0D0',
18
+ steelblue: '#4682B4'
19
+ }
20
+
21
+ rgb = RPiRGB.new(%w(27 17 22), presets: presets, smooth: true)
21
22
  rgb.color = 'white'
22
23
  sleep 2
23
24
  rgb.color = 'purple'
@@ -30,12 +31,14 @@ rgb.color = 'yellow'
30
31
 
31
32
  =end
32
33
 
34
+ # see also: 500+ Named Colours with rgb and hex values http://www.cloford.com/resources/colours/500col.htm
35
+
33
36
  class RPiRGB
34
37
 
35
38
  attr_accessor :brightness
36
39
  attr_reader :red, :green, :blue
37
40
 
38
- def initialize(pins, brightness: 100, smooth: false, presets: nil, \
41
+ def initialize(pins, brightness: 100, smooth: false, presets: {}, \
39
42
  transition_time: 1.5)
40
43
 
41
44
  @red, @green, @blue = pins.map do |x|
@@ -62,29 +65,26 @@ class RPiRGB
62
65
  def colour=(val)
63
66
 
64
67
  @colour = val
65
-
66
- case val
67
-
68
- when 'red'
69
- mix 100, 0, 0
70
-
71
- when 'green'
72
- mix 0, 100, 0
73
-
74
- when 'blue'
75
- mix 0, 0, 100
76
-
77
- when 'white'
78
- mix 100, 100, 100
79
-
80
- else
68
+
69
+ if val.is_a? String then
81
70
 
82
- return unless @presets
83
-
84
- preset = @presets[val.to_sym]
85
-
86
- mix(preset) if preset
87
-
71
+ return mix( RGB::Color.from_rgb_hex(val).to_rgb) if val =~ /^#/
72
+
73
+ h = {red: '#FF0000', green: '#00FF00', blue: '#0000FF', white: '#FFFFFF'}
74
+
75
+ color = h.merge(@presets)[val.to_sym]
76
+
77
+ if color then
78
+
79
+ if color =~ /^#/ then
80
+ mix( RGB::Color.from_rgb_hex(color).to_rgb)
81
+ else
82
+ mix color
83
+ end
84
+ end
85
+
86
+ elsif val.is_a? Array
87
+ mix val
88
88
  end
89
89
  end
90
90
 
@@ -95,9 +95,9 @@ class RPiRGB
95
95
  alias color= colour=
96
96
  alias color colour
97
97
 
98
- def mix(*values)
98
+ def mix(*rgb_values)
99
99
 
100
- values.flatten!
100
+ values = rgb_values.flatten.map {|x| (x * 0.392).round }
101
101
 
102
102
  r, g, b = if values.length < 4 then
103
103
 
@@ -118,9 +118,17 @@ class RPiRGB
118
118
  red.brightness, green.brightness, blue.brightness = r, g, b
119
119
  end
120
120
 
121
- def off()
122
- [@red, @green, @blue].each(&:off)
121
+ def blink(seconds=0.5, duration: nil)
122
+ [@red, @green, @blue].each{|x| x.blink(seconds, duration: duration) }
123
+ end
124
+
125
+ def off(durationx=nil, duration: nil)
126
+ [@red, @green, @blue].each{|x| x.off(durationx, duration: duration) }
123
127
  end
124
128
 
129
+ def on(durationx=nil, duration: nil)
130
+ [@red, @green, @blue].each{|x| x.on(durationx, duration: duration) }
131
+ end
132
+
125
133
 
126
134
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpi_rgb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -12,27 +12,47 @@ cert_chain:
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIDljCCAn6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBIMRIwEAYDVQQDDAlnZW1t
14
14
  YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
- 8ixkARkWAmV1MB4XDTE2MDQxNDEyMTg1N1oXDTE3MDQxNDEyMTg1N1owSDESMBAG
15
+ 8ixkARkWAmV1MB4XDTE3MDcyODE1MjgzN1oXDTE4MDcyODE1MjgzN1owSDESMBAG
16
16
  A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
17
  EjAQBgoJkiaJk/IsZAEZFgJldTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
18
- ggEBAMAChj/xcbnOIwagN80qJgNHWXVV+YUSrkJjfrlO/4JimFWt19o082t62fdA
19
- rdq8Uy6FxsactikMd+fBgODjKxOGq6BPDsEGnqyzua4wpItTzBwmg/2n7cdJOFoK
20
- oA3YSwOqcxCaJRrSj0kIii8tqEtiUZBL1z9qUi1INm0ZCJLVddnsFq+AJdRHnZde
21
- opjCpybXdQ6Ev718SD326F7FRLaE35f8vfFwXrgIUVTJl9PWOFzQcVuyHBG5bPgT
22
- OD57PjeT524qpnVy7IQx3Ed7nVxHlwCioyI2Kc4LzUS6fjIGxDLF1UbueRc/1oOM
23
- NG0l97FRSZiylYahAYaz0gB40rECAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
- DwQEAwIEsDAdBgNVHQ4EFgQUhAzi6HlHdoliVF7SEGIaOWzm9LUwJgYDVR0RBB8w
18
+ ggEBANRJvnoDmDFnrHnAzTWWq/XlmeKXNwrCif1IXYR+sKmOXw4XYa5Tt8OdZ+FP
19
+ VC01fXcaMXq+IPV1FoBbGHirXFKdV/YRClUD78L3cxi3IFmGvJQhMH5C9q4Npy0s
20
+ L505+7eoJluZ9mHuDweyHf+7xEGzpkMSWe7xDRkWCv8zKQHFHT9AERtWhYa6/xJM
21
+ pkxU/7AqCERsjgrdtfwwJxwEY8n6EXPcpDQ4jUsio+jmTaXEpE9rurtzZhc/Jj/G
22
+ zDg6V5dyPDTqFC16OfI8UbHEsuye8xwej14iO+8cN8FDL89yUDu03H9re20F+S9P
23
+ eP44fyU9Yq3OZWV7WBXUwmbBtisCAwEAAaOBijCBhzAJBgNVHRMEAjAAMAsGA1Ud
24
+ DwQEAwIEsDAdBgNVHQ4EFgQUywfReFAzagbBYgxmxDiykHzzx9swJgYDVR0RBB8w
25
25
  HYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1h
26
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAgNXzq1We
27
- +HnLZ5/USBniTTgjqt9dcs8y+Ynu9HV6W0ZznQQ0/i2kvMyVrWNDSP3WyHyiGhLi
28
- ze7goSo5zPFA3vV6EsK2+x2FYm/7HcK2ANQeJo6GKORqpY77dlaGiPJRPKxGXfFw
29
- f0nb74GE95ZatRJdPji6h3xU9BTchTWT/PlgL9qZ3PzPv1Zx4zFEULV9Q/lgXXKb
30
- Kftg/WY9j+Ubuf4+PEIIwU4Zc5oe9Fat7p8e1o96Ld4V6d0k+qg5jMvoj0Jjbztf
31
- GIg4vO7u6V4Oc+4pgKLE/xBs2aBPYOzwugWzJxx1+iXcQGW7yUxDK11cRyh37ZGB
32
- fFrcZUe/iDfywA==
26
+ c3RlckBqYW1lc3JvYmVydHNvbi5ldTANBgkqhkiG9w0BAQUFAAOCAQEAbldyatKo
27
+ FxHqT/NmdT4Dfi7Zt52iyq5RvwbkpZz40zVR2P93Djc+O8SLiU/SJj53VX9hyj3F
28
+ 3SsmwZPyA+hkPo0mZT5KkjrqqWVl6awCbJrZc3WpQqjnQn9cQer/CT+t6vxLBg/f
29
+ q19FbyT1jaldiAyeFtn233gVzAllSkgw9YjVq3QVmAqsl228QKRNoj6OIzmhtXxZ
30
+ Uol43hZ0cvKAxKmo8nsYFQCeUzoHcYbAQMoS1yEUzmH3NNVDXFJJfQ0IAhCGeGOF
31
+ t96szHrE8Lac4gfN1AUQIHL1JPpSWSK+o4wHx/weelx2J/YLpj90AwU1xnojMr4u
32
+ HfpdQuYif0P1gg==
33
33
  -----END CERTIFICATE-----
34
- date: 2016-04-15 00:00:00.000000000 Z
34
+ date: 2017-07-28 00:00:00.000000000 Z
35
35
  dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: rgb
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.0
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.0
36
56
  - !ruby/object:Gem::Dependency
37
57
  name: rpi_led
38
58
  requirement: !ruby/object:Gem::Requirement
@@ -42,7 +62,7 @@ dependencies:
42
62
  version: '0.1'
43
63
  - - ">="
44
64
  - !ruby/object:Gem::Version
45
- version: 0.1.3
65
+ version: 0.1.4
46
66
  type: :runtime
47
67
  prerelease: false
48
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -52,9 +72,9 @@ dependencies:
52
72
  version: '0.1'
53
73
  - - ">="
54
74
  - !ruby/object:Gem::Version
55
- version: 0.1.3
75
+ version: 0.1.4
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: Changes the colour of an RGB LED connected via GPIO to a Raspberry Pi
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �*݂���T�lpVﰸop�4]��F����oy~?�6��4�-��u�6w��ntp\�T�HS`x�%�,��UApEڕ�g�v���n�1����tdA�o�:f���'aV���Ѹ�Θ�ꨧMI��1��;��q;g���@�m�]���_€����D�y��J
2
- 0���ͳ��9�4��6p7�;�>�(r"|�W<�)H�'�$��v��0H�ӠP�ے�R-�)R���}il�g~'����t��zV'ʅ��b��
1
+ +X��$ �)��A�i�����t3���2l�R1֣
2
+ �+BR���'���0>5�,�R����`�&;�AG��ϗ#Iܔ���������*�v+kMS'$$�%z�� 3R�iGWG�]�87K�X����r�'�Wpf� ���౒mE$�����C���(��5�ʳ����i" ��%l��v8#LO��0��/�1���-����k��_?Yj���#�ȏ �F�~�&K����M�?o�:6