betabrite 0.0.2 → 1.0.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.
Files changed (45) hide show
  1. data/.autotest +7 -0
  2. data/EXAMPLES +28 -73
  3. data/History.txt +16 -0
  4. data/Manifest.txt +35 -0
  5. data/{README → README.txt} +58 -52
  6. data/Rakefile +11 -0
  7. data/lib/betabrite.rb +6 -120
  8. data/lib/betabrite/autotest.rb +43 -0
  9. data/lib/betabrite/base.rb +86 -0
  10. data/lib/betabrite/files.rb +4 -0
  11. data/lib/betabrite/files/dots.rb +24 -0
  12. data/lib/betabrite/files/file_dsl.rb +18 -0
  13. data/lib/betabrite/files/string.rb +22 -0
  14. data/lib/betabrite/files/text.rb +122 -0
  15. data/lib/{memory → betabrite}/memory.rb +27 -5
  16. data/lib/betabrite/serial.rb +28 -0
  17. data/lib/{string.rb → betabrite/string.rb} +41 -15
  18. data/lib/betabrite/usb.rb +64 -0
  19. data/script/alloc.rb +21 -0
  20. data/script/clear_memory.rb +16 -0
  21. data/script/client.rb +39 -0
  22. data/script/dots_file.rb +35 -0
  23. data/script/server.rb +12 -0
  24. data/script/sign_test.rb +17 -0
  25. data/script/stock_alloc.rb +81 -0
  26. data/script/stock_client.rb +40 -0
  27. data/script/stockdata.rb +65 -0
  28. data/test/helper.rb +6 -0
  29. data/test/{tc_many_mem.rb → test_many_mem.rb} +6 -10
  30. data/test/{tc_memory.rb → test_memory.rb} +11 -24
  31. data/test/{tc_set_string.rb → test_set_string.rb} +5 -9
  32. data/test/test_string.rb +34 -0
  33. data/test/test_text_file.rb +19 -0
  34. data/test/test_usb_betabrite.rb +94 -0
  35. metadata +94 -60
  36. data/CHANGELOG +0 -10
  37. data/NOTES +0 -29
  38. data/lib/bb_version.rb +0 -3
  39. data/lib/files/dotsfile.rb +0 -24
  40. data/lib/files/stringfile.rb +0 -22
  41. data/lib/files/textfile.rb +0 -114
  42. data/test/bb_override.rb +0 -5
  43. data/test/tc_string.rb +0 -20
  44. data/test/tc_text_file.rb +0 -18
  45. data/test/ts_bb.rb +0 -7
@@ -3,11 +3,11 @@ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
4
  require 'test/unit'
5
5
  require 'betabrite'
6
- require 'bb_override'
7
6
 
8
7
  class MemoryAllocTest < Test::Unit::TestCase
9
8
  def setup
10
- @sign = BetaBrite.new
9
+ @sign = BetaBrite::Base.new
10
+ @sign.sleep_time = 0
11
11
  end
12
12
 
13
13
  def test_text_file
@@ -15,11 +15,8 @@ class MemoryAllocTest < Test::Unit::TestCase
15
15
  string = alloc_string.collect { |x| x.chr }.join
16
16
  mem = BetaBrite::Memory::Text.new('A', 256)
17
17
 
18
- @sign.add mem
19
- test_string = ''
20
- @sign.allocate { |text|
21
- test_string << text
22
- }
18
+ @sign.memory << mem
19
+ test_string = @sign.memory_message
23
20
 
24
21
  assert_equal(string, test_string)
25
22
  end
@@ -29,11 +26,8 @@ class MemoryAllocTest < Test::Unit::TestCase
29
26
  string = alloc_string.collect { |x| x.chr }.join
30
27
  mem = BetaBrite::Memory::String.new('0', 32)
31
28
 
32
- @sign.add mem
33
- test_string = ''
34
- @sign.allocate { |text|
35
- test_string << text
36
- }
29
+ @sign.memory << mem
30
+ test_string = @sign.memory_message
37
31
 
38
32
  assert_equal(string, test_string)
39
33
  end
@@ -43,11 +37,8 @@ class MemoryAllocTest < Test::Unit::TestCase
43
37
  string = alloc_string.collect { |x| x.chr }.join
44
38
  mem = BetaBrite::Memory::Dots.new('1', 7, 7)
45
39
 
46
- @sign.add mem
47
- test_string = ''
48
- @sign.allocate { |text|
49
- test_string << text
50
- }
40
+ @sign.memory << mem
41
+ test_string = @sign.memory_message
51
42
 
52
43
  assert_equal(string, test_string)
53
44
  end
@@ -58,14 +49,10 @@ class MemoryAllocTest < Test::Unit::TestCase
58
49
  mem = BetaBrite::Memory::String.new('0', 32)
59
50
  text = BetaBrite::Memory::Text.new('A', 256)
60
51
 
61
- @sign.add mem
62
- @sign.add text
63
-
64
- test_string = ''
65
- @sign.allocate { |text|
66
- test_string << text
67
- }
52
+ @sign.memory << mem
53
+ @sign.memory << text
68
54
 
55
+ test_string = @sign.memory_message
69
56
  assert_equal(string, test_string)
70
57
  end
71
58
  end
@@ -3,11 +3,11 @@ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
3
 
4
4
  require 'test/unit'
5
5
  require 'betabrite'
6
- require 'bb_override'
7
6
 
8
- class MemoryAllocTest < Test::Unit::TestCase
7
+ class SetStringTest < Test::Unit::TestCase
9
8
  def setup
10
- @sign = BetaBrite.new
9
+ @sign = BetaBrite::Base.new
10
+ @sign.sleep_time = 0
11
11
  end
12
12
 
13
13
  def test_many_mem
@@ -28,7 +28,7 @@ class MemoryAllocTest < Test::Unit::TestCase
28
28
  '3.37 ',
29
29
  '16.47 '
30
30
  ].each_with_index do |price,idx|
31
- @sign.add_stringfile BetaBrite::StringFile.new(idx, price)
31
+ @sign.string_files << BetaBrite::Files::String.new(idx, price)
32
32
  end
33
33
 
34
34
  assert_equal('11045.28 ', @sign.string_files[0].message)
@@ -48,11 +48,7 @@ class MemoryAllocTest < Test::Unit::TestCase
48
48
  assert_equal(0, @sign.text_files.length)
49
49
  assert_equal(0, @sign.dots_files.length)
50
50
 
51
- printed = ''
52
- count = 0
53
- @sign.write { |text|
54
- printed << text
55
- }
51
+ printed = @sign.message
56
52
  assert_equal(final_s, printed)
57
53
  end
58
54
  end
@@ -0,0 +1,34 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
4
+ require 'test/unit'
5
+ require 'betabrite'
6
+
7
+ class StringTest < Test::Unit::TestCase
8
+ def test_const_dsl
9
+ s = BetaBrite::String.new("hello") { |a|
10
+ a.green
11
+ a.five_high
12
+ }
13
+
14
+ assert_equal(BetaBrite::String::Color::GREEN, s.color)
15
+ assert_equal(BetaBrite::String::CharSet::FIVE_HIGH, s.charset)
16
+ assert_equal("hello", s.string)
17
+ end
18
+
19
+ def test_parse
20
+ string1 = BetaBrite::String.new('foo').green
21
+ string2 = BetaBrite::String.new('bar').rgb('FF00FF')
22
+ string = "#{string1.to_s}#{string2.to_s}"
23
+
24
+ parsed = BetaBrite::String.parse(string)
25
+ assert_equal(2, parsed.length)
26
+ assert parsed.all? { |x| x.is_a?(BetaBrite::String) }
27
+ assert_equal BetaBrite::String::Color::GREEN, parsed[0].color
28
+ assert parsed[0].green?
29
+ assert_equal 'FF00FF', parsed[1].color
30
+ assert_equal 'foo', parsed[0].string
31
+ assert_equal 'bar', parsed[1].string
32
+ end
33
+ end
34
+
@@ -0,0 +1,19 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), "..", "lib")
2
+ $:.unshift File.join(File.dirname(__FILE__), "..", "test")
3
+
4
+ require 'test/unit'
5
+ require 'betabrite'
6
+
7
+ class TextFileTest < Test::Unit::TestCase
8
+ include BetaBrite::Files
9
+
10
+ def test_const_dsl
11
+ tf = Text.new {
12
+ roll_down()
13
+ middle()
14
+ }
15
+
16
+ assert_equal(Text::Position::MIDDLE, tf.position)
17
+ assert_equal(Text::Mode::ROLL_DOWN, tf.mode)
18
+ end
19
+ end
@@ -0,0 +1,94 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), "helper"))
2
+
3
+ class USBBetaBriteTest < Test::Unit::TestCase
4
+ def test_stringfile
5
+ bb = BetaBrite::USB.new do |sign|
6
+ sign.stringfile('0') do
7
+ print "hello ALIVE!!!"
8
+ end
9
+ end
10
+ assert_equal 1, bb.string_files.length
11
+ assert_equal 'hello ALIVE!!!', bb.string_files.first.message
12
+ end
13
+
14
+ def test_write_message
15
+ bb = BetaBrite::USB.new do |sign|
16
+ sign.textfile do
17
+ print "hello ALIVE!!!"
18
+ end
19
+ end
20
+ assert_equal "hello ALIVE!!!", bb.text_files.first.message
21
+ assert bb.message
22
+ end
23
+
24
+ def test_allot_dots
25
+ alloc_string = [ 0, 0, 0, 0, 0, 1, 90, 48, 48, 2, 69, 36, 49, 68, 85, 48, 55, 48, 55, 52, 48, 48, 48, 4 ]
26
+ bb = BetaBrite::USB.new do |sign|
27
+ sign.allocate do |memory|
28
+ memory.dots('1', 7, 7)
29
+ end
30
+ end
31
+ assert_equal(1, bb.memory.length)
32
+ assert_equal(alloc_string.pack('C*'), bb.memory_message)
33
+ end
34
+
35
+ def test_allocate_string
36
+ message = [ 0, 0, 0, 0, 0, 1, 90, 48, 48, 2, 69, 36, 65, 65, 85, 48, 49, 48, 48, 70, 70, 48, 48, 4 ]
37
+ bb = BetaBrite::USB.new do |sign|
38
+ sign.allocate do |memory|
39
+ memory.text('A', 256)
40
+ end
41
+ end
42
+
43
+ assert_equal(1, bb.memory.length)
44
+ assert bb.memory_message
45
+ msg_u = bb.memory_message.unpack('C*')
46
+ assert_equal(message.pack('C*'), bb.memory_message)
47
+ end
48
+
49
+ def test_multi_alloc
50
+ final =
51
+ [
52
+ 0x00,0x00,0x00,0x00,0x00,0x01,0x5a,0x30,0x30,0x02,0x45,0x24,0x41,0x41,0x55,0x31,
53
+ 0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x42,0x4c,0x30,0x30,0x34,0x30,0x30,0x30,
54
+ 0x30,0x30,0x31,0x42,0x4c,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x32,0x42,0x4c,
55
+ 0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x33,0x42,0x4c,0x30,0x30,0x34,0x30,0x30,
56
+ 0x30,0x30,0x30,0x34,0x42,0x4c,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x35,0x42,
57
+ 0x4c,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x36,0x42,0x4c,0x30,0x30,0x34,0x30,
58
+ 0x30,0x30,0x30,0x30,0x37,0x42,0x4c,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x38,
59
+ 0x42,0x4c,0x30,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x39,0x42,0x4c,0x30,0x30,0x34,
60
+ 0x30,0x30,0x30,0x30,0x30,0x04
61
+ ]
62
+ bb = BetaBrite::USB.new do |sign|
63
+ sign.allocate do |memory|
64
+ memory.text('A', 4096)
65
+ 0.upto(9) do |x|
66
+ memory.string(x.to_s, 64)
67
+ end
68
+ end
69
+ end
70
+
71
+ assert_equal(11, bb.memory.length)
72
+ assert bb.memory_message
73
+ msg_u = bb.memory_message.unpack('C*')
74
+ assert_equal(final.pack('C*'), bb.memory_message)
75
+ end
76
+
77
+ def test_write_red_green_message
78
+ bb = BetaBrite::USB.new do |sign|
79
+ sign.textfile do
80
+ print string("hello ").red
81
+ print string("wo").green
82
+ print string("rld").rgb('3399FF')
83
+ end
84
+ end
85
+ assert_equal(1, bb.text_files.length)
86
+ assert bb.message
87
+ end
88
+
89
+ #def test_clear_memory
90
+ # BetaBrite::USB.new do |sign|
91
+ # sign.clear_memory!
92
+ # end
93
+ #end
94
+ end
metadata CHANGED
@@ -1,69 +1,103 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.0
3
- specification_version: 1
4
2
  name: betabrite
5
3
  version: !ruby/object:Gem::Version
6
- version: 0.0.2
7
- date: 2006-09-28 00:00:00 -07:00
8
- summary: Provides a Ruby interface to BetaBrite LED signs
9
- require_paths:
10
- - lib
11
- email: aaronp@rubyforge.org
12
- homepage: betabrite.rubyforge.org
13
- rubyforge_project: betabrite
14
- description:
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Aaron Patterson
15
8
  autorequire:
16
- default_executable:
17
9
  bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- -
22
- - ">"
10
+ cert_chain: []
11
+
12
+ date: 2008-02-11 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hoe
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
23
21
  - !ruby/object:Gem::Version
24
- version: 0.0.0
25
- version:
26
- platform: ruby
27
- signing_key:
28
- cert_chain:
29
- post_install_message:
30
- authors:
31
- - Aaron Patterson
32
- files:
33
- - test/bb_override.rb
34
- - test/tc_many_mem.rb
35
- - test/tc_memory.rb
36
- - test/tc_set_string.rb
37
- - test/tc_string.rb
38
- - test/tc_text_file.rb
39
- - test/ts_bb.rb
40
- - lib/bb_version.rb
41
- - lib/betabrite.rb
42
- - lib/files
43
- - lib/memory
44
- - lib/string.rb
45
- - lib/files/dotsfile.rb
46
- - lib/files/stringfile.rb
47
- - lib/files/textfile.rb
48
- - lib/memory/memory.rb
49
- - README
50
- - EXAMPLES
51
- - CHANGELOG
52
- - LICENSE
53
- - NOTES
54
- test_files: []
55
- rdoc_options:
56
- - "--main"
57
- - README
58
- - "--title"
59
- - "'BetaBrite RDoc'"
60
- extra_rdoc_files:
61
- - README
62
- - EXAMPLES
63
- - CHANGELOG
64
- - LICENSE
65
- - NOTES
22
+ version: 1.5.0
23
+ version:
24
+ description: Provides a Ruby interface to BetaBrite LED signs.
25
+ email: aaronp@rubyforge.org
66
26
  executables: []
27
+
67
28
  extensions: []
29
+
30
+ extra_rdoc_files:
31
+ - History.txt
32
+ - Manifest.txt
33
+ - README.txt
34
+ files:
35
+ - .autotest
36
+ - EXAMPLES
37
+ - History.txt
38
+ - LICENSE
39
+ - Manifest.txt
40
+ - README.txt
41
+ - Rakefile
42
+ - lib/betabrite.rb
43
+ - lib/betabrite/autotest.rb
44
+ - lib/betabrite/base.rb
45
+ - lib/betabrite/files.rb
46
+ - lib/betabrite/files/dots.rb
47
+ - lib/betabrite/files/file_dsl.rb
48
+ - lib/betabrite/files/string.rb
49
+ - lib/betabrite/files/text.rb
50
+ - lib/betabrite/memory.rb
51
+ - lib/betabrite/serial.rb
52
+ - lib/betabrite/string.rb
53
+ - lib/betabrite/usb.rb
54
+ - script/alloc.rb
55
+ - script/clear_memory.rb
56
+ - script/client.rb
57
+ - script/dots_file.rb
58
+ - script/server.rb
59
+ - script/sign_test.rb
60
+ - script/stock_alloc.rb
61
+ - script/stock_client.rb
62
+ - script/stockdata.rb
63
+ - test/helper.rb
64
+ - test/test_many_mem.rb
65
+ - test/test_memory.rb
66
+ - test/test_set_string.rb
67
+ - test/test_string.rb
68
+ - test/test_text_file.rb
69
+ - test/test_usb_betabrite.rb
70
+ has_rdoc: true
71
+ homepage: http://rubyforge.org/projects/betabrite/
72
+ post_install_message:
73
+ rdoc_options:
74
+ - --main
75
+ - README.txt
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: "0"
83
+ version:
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: "0"
89
+ version:
68
90
  requirements: []
69
- dependencies: []
91
+
92
+ rubyforge_project: betabrite
93
+ rubygems_version: 1.0.1
94
+ signing_key:
95
+ specification_version: 2
96
+ summary: Provides a Ruby interface to BetaBrite LED signs
97
+ test_files:
98
+ - test/test_many_mem.rb
99
+ - test/test_memory.rb
100
+ - test/test_set_string.rb
101
+ - test/test_string.rb
102
+ - test/test_text_file.rb
103
+ - test/test_usb_betabrite.rb
data/CHANGELOG DELETED
@@ -1,10 +0,0 @@
1
- = BetaBrite Changelog
2
-
3
- == 0.0.2
4
-
5
- * Added new syntax to BetaBrite::String and BetaBrite::TextFile
6
-
7
- == 0.0.1
8
-
9
- * First release
10
-
data/NOTES DELETED
@@ -1,29 +0,0 @@
1
- = BetaBrite Release Notes
2
-
3
- == 0.0.2
4
-
5
- This release comes with new syntax for setting attributes of
6
- BetaBrite::String and BetaBrite::TextFile. Setting attributes like color
7
- and character set is now less cumbersome. For example, here is the old
8
- way to set the color using constants:
9
- s = BetaBrite::String.new("hello")
10
- s.color = BetaBrite::String::Color::GREEN
11
- Instead you can do this:
12
- s = BetaBrite::String.new("hello") { |a|
13
- a.set_color "green"
14
- }
15
- You can treat TextFile similarly:
16
- s = BetaBrite::TextFile.new { |a|
17
- a.set_mode "compressed_rotate"
18
- a.set_position "middle"
19
- }
20
- These special set functions figure out what constant you want and set it
21
- to the attribute you want. "set_mode" looks up the name passed in in the
22
- constants stored in the Mode class, and sets it to the mode attribute.
23
-
24
-
25
- == 0.0.1
26
-
27
- This is the first release of the BetaBrite sign library. Please see the RDoc,
28
- the 'script' directory, and the EXAMPLES file for how to use this library.
29
-