betabrite 0.0.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.autotest +7 -0
- data/EXAMPLES +28 -73
- data/History.txt +16 -0
- data/Manifest.txt +35 -0
- data/{README → README.txt} +58 -52
- data/Rakefile +11 -0
- data/lib/betabrite.rb +6 -120
- data/lib/betabrite/autotest.rb +43 -0
- data/lib/betabrite/base.rb +86 -0
- data/lib/betabrite/files.rb +4 -0
- data/lib/betabrite/files/dots.rb +24 -0
- data/lib/betabrite/files/file_dsl.rb +18 -0
- data/lib/betabrite/files/string.rb +22 -0
- data/lib/betabrite/files/text.rb +122 -0
- data/lib/{memory → betabrite}/memory.rb +27 -5
- data/lib/betabrite/serial.rb +28 -0
- data/lib/{string.rb → betabrite/string.rb} +41 -15
- data/lib/betabrite/usb.rb +64 -0
- data/script/alloc.rb +21 -0
- data/script/clear_memory.rb +16 -0
- data/script/client.rb +39 -0
- data/script/dots_file.rb +35 -0
- data/script/server.rb +12 -0
- data/script/sign_test.rb +17 -0
- data/script/stock_alloc.rb +81 -0
- data/script/stock_client.rb +40 -0
- data/script/stockdata.rb +65 -0
- data/test/helper.rb +6 -0
- data/test/{tc_many_mem.rb → test_many_mem.rb} +6 -10
- data/test/{tc_memory.rb → test_memory.rb} +11 -24
- data/test/{tc_set_string.rb → test_set_string.rb} +5 -9
- data/test/test_string.rb +34 -0
- data/test/test_text_file.rb +19 -0
- data/test/test_usb_betabrite.rb +94 -0
- metadata +94 -60
- data/CHANGELOG +0 -10
- data/NOTES +0 -29
- data/lib/bb_version.rb +0 -3
- data/lib/files/dotsfile.rb +0 -24
- data/lib/files/stringfile.rb +0 -22
- data/lib/files/textfile.rb +0 -114
- data/test/bb_override.rb +0 -5
- data/test/tc_string.rb +0 -20
- data/test/tc_text_file.rb +0 -18
- data/test/ts_bb.rb +0 -7
data/lib/bb_version.rb
DELETED
data/lib/files/dotsfile.rb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
class BetaBrite
|
2
|
-
class DotsFile
|
3
|
-
COMMAND_CODE = 0x49.chr
|
4
|
-
|
5
|
-
attr_accessor :label, :rows, :columns, :picture
|
6
|
-
|
7
|
-
def initialize(label, rows, columns, picture)
|
8
|
-
@label = label
|
9
|
-
@rows = rows
|
10
|
-
@columns = columns
|
11
|
-
@picture = picture
|
12
|
-
end
|
13
|
-
|
14
|
-
def id
|
15
|
-
BetaBrite::STRING << @label
|
16
|
-
end
|
17
|
-
|
18
|
-
def to_s
|
19
|
-
string = "#{BetaBrite::STX}#{COMMAND_CODE}#{@label.to_s}" +
|
20
|
-
"#{sprintf('%02x', @rows)}#{sprintf('%02x', @columns)}" +
|
21
|
-
"#{picture.join(BetaBrite::CR)}#{BetaBrite::CR}"
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
data/lib/files/stringfile.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
class BetaBrite
|
2
|
-
class StringFile
|
3
|
-
COMMAND_CODE = 'G'
|
4
|
-
|
5
|
-
attr_accessor :label, :message
|
6
|
-
|
7
|
-
def initialize(label = nil, message = nil)
|
8
|
-
@label = label
|
9
|
-
@message = message
|
10
|
-
yield self if block_given?
|
11
|
-
end
|
12
|
-
|
13
|
-
def id
|
14
|
-
"#{BetaBrite::DLE}#{@label}"
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_s
|
18
|
-
"#{BetaBrite::STX}#{COMMAND_CODE}#{@label.to_s}" +
|
19
|
-
"#{@message.to_s}#{BetaBrite::ETX}"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/lib/files/textfile.rb
DELETED
@@ -1,114 +0,0 @@
|
|
1
|
-
class BetaBrite
|
2
|
-
class TextFile
|
3
|
-
WRITE = 0x41.chr
|
4
|
-
READ = 0x42.chr
|
5
|
-
|
6
|
-
class Position
|
7
|
-
MIDDLE = 0x20.chr
|
8
|
-
TOP = 0x22.chr
|
9
|
-
BOTTOM = 0x26.chr
|
10
|
-
FILL = 0x30.chr
|
11
|
-
LEFT = 0x31.chr
|
12
|
-
RIGHT = 0x32.chr
|
13
|
-
end
|
14
|
-
|
15
|
-
class Mode
|
16
|
-
# Standard Modes
|
17
|
-
ROTATE = 0x61.chr # Message travels right to left
|
18
|
-
HOLD = 0x62.chr # Message remains stationary
|
19
|
-
FLASH = 0x63.chr # Message remains stationary and flashes
|
20
|
-
ROLL_UP = 0x65.chr # Message is pushed up by new message
|
21
|
-
ROLL_DOWN = 0x66.chr # Message is pushed down by new message
|
22
|
-
ROLL_LEFT = 0x67.chr # Message is pushed left by a new message
|
23
|
-
ROLL_RIGHT = 0x68.chr # Message is pushed right by a new message
|
24
|
-
WIPE_UP = 0x69.chr # Message is wiped over bottom to top
|
25
|
-
WIPE_DOWN = 0x6A.chr # Message is wiped over top to bottom
|
26
|
-
WIPE_LEFT = 0x6B.chr # Message is wiped over right to left
|
27
|
-
WIPE_RIGHT = 0x6C.chr # Message is wiped over left to right
|
28
|
-
SCROLL = 0x6D.chr # New message pushes up if 2 line sign
|
29
|
-
AUTOMODE = 0x6F.chr # Various modes are called automatically
|
30
|
-
ROLL_IN = 0x70.chr # Message pushed toward center of display
|
31
|
-
ROLL_OUT = 0x71.chr # Message pushed away from center of display
|
32
|
-
WIPE_IN = 0x72.chr # Message wiped over in inward motion
|
33
|
-
WIPE_OUT = 0x73.chr # Message wiped over in outward motion
|
34
|
-
COMPRESSED_ROTATE = 0x74.chr # Left to right, chars half normal width
|
35
|
-
EXPLODE = 0x75.chr # Message flies apart (Alpha 3.0)
|
36
|
-
CLOCK = 0x76.chr # Wipe in clockwise direction (Alpha 3.0)
|
37
|
-
|
38
|
-
# Special Modes
|
39
|
-
TWINKLE = 0x6E.chr << 0x30.chr # Message will twinkle
|
40
|
-
SPARKLE = 0x6E.chr << 0x31.chr # Message will sparkle
|
41
|
-
SNOW = 0x6E.chr << 0x32.chr # Message will snow
|
42
|
-
INTERLOCK = 0x6E.chr << 0x33.chr # Message will interlock
|
43
|
-
SWITCH = 0x6E.chr << 0x34.chr # Message will switch
|
44
|
-
SLIDE = 0x6E.chr << 0x35.chr # Message will slide
|
45
|
-
SPRAY = 0x6E.chr << 0x36.chr # Message will spray across
|
46
|
-
STARBURST = 0x6E.chr << 0x37.chr # Explodes message to screen
|
47
|
-
WELCOME = 0x6E.chr << 0x38.chr # The world "Welcome" is written
|
48
|
-
SLOT_MACHINE= 0x6E.chr << 0x39.chr # Slot Machine shows up
|
49
|
-
NEWS_FLASH = 0x6E.chr << 0x3A.chr # News flash animation
|
50
|
-
TRUMPET = 0x6E.chr << 0x3B.chr # Trumpet animation
|
51
|
-
CYCLE_COLORS= 0x6E.chr << 0x43.chr # Color changes from one to another
|
52
|
-
|
53
|
-
# Special Graphics
|
54
|
-
THANK_YOU = 0x6E.chr << 0x53.chr # "Thank You" in script
|
55
|
-
NO_SMOKING = 0x6E.chr << 0x55.chr # No smoking
|
56
|
-
DRINK_DRIVE = 0x6E.chr << 0x56.chr # Don't drink and drive
|
57
|
-
ANIMAL_ANIM = 0x6E.chr << 0x57.chr # Animal animation
|
58
|
-
FIREWORKS = 0x6E.chr << 0x58.chr # Fireworks animation
|
59
|
-
BALLOONS = 0x6E.chr << 0x59.chr # Balloon animation
|
60
|
-
CHERRY_BOMB = 0x6E.chr << 0x5A.chr # A bomb animation
|
61
|
-
end
|
62
|
-
|
63
|
-
attr_accessor :label, :display_position, :mode, :message
|
64
|
-
|
65
|
-
alias_method :position, :display_position
|
66
|
-
alias_method :position=, :display_position=
|
67
|
-
|
68
|
-
def initialize
|
69
|
-
@display_position = Position::MIDDLE
|
70
|
-
@label = "A"
|
71
|
-
@mode = Mode::ROTATE
|
72
|
-
yield self if block_given?
|
73
|
-
end
|
74
|
-
|
75
|
-
def to_s
|
76
|
-
"#{combine}#{checksum(combine)}"
|
77
|
-
end
|
78
|
-
|
79
|
-
def checksum(string)
|
80
|
-
total = 0
|
81
|
-
0.upto(string.length - 1) do |i|
|
82
|
-
total += string[i]
|
83
|
-
end
|
84
|
-
|
85
|
-
sprintf("%04x", total).upcase
|
86
|
-
end
|
87
|
-
|
88
|
-
def method_missing(sym, *args)
|
89
|
-
if args.length > 0 && sym.to_s =~ /^set_(mode|position)$/
|
90
|
-
class_name = $1
|
91
|
-
|
92
|
-
const_sym = class_name.capitalize.to_sym
|
93
|
-
|
94
|
-
klass = self.class.const_get const_sym
|
95
|
-
if klass.const_defined? args.first.upcase.to_sym
|
96
|
-
return send("#{class_name}=".to_sym,
|
97
|
-
klass.const_get(args.first.upcase.to_sym))
|
98
|
-
else
|
99
|
-
raise ArgumentError, "no constant #{args.first.upcase}", caller
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
super
|
104
|
-
end
|
105
|
-
|
106
|
-
alias :inspect :to_s
|
107
|
-
|
108
|
-
private
|
109
|
-
def combine
|
110
|
-
"#{BetaBrite::STX}#{WRITE}#{@label}#{BetaBrite::ESC}" <<
|
111
|
-
"#{@display_position}#{@mode}#{@message}#{BetaBrite::ETX}"
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
data/test/bb_override.rb
DELETED
data/test/tc_string.rb
DELETED
@@ -1,20 +0,0 @@
|
|
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
|
-
require 'bb_override'
|
7
|
-
|
8
|
-
class StringTest < Test::Unit::TestCase
|
9
|
-
def test_const_dsl
|
10
|
-
s = BetaBrite::String.new("hello") { |a|
|
11
|
-
a.set_color "green"
|
12
|
-
a.set_charset "five_high"
|
13
|
-
}
|
14
|
-
|
15
|
-
assert_equal(BetaBrite::String::Color::GREEN, s.color)
|
16
|
-
assert_equal(BetaBrite::String::CharSet::FIVE_HIGH, s.charset)
|
17
|
-
assert_equal("hello", s.string)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
data/test/tc_text_file.rb
DELETED
@@ -1,18 +0,0 @@
|
|
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
|
-
require 'bb_override'
|
7
|
-
|
8
|
-
class TextFileTest < Test::Unit::TestCase
|
9
|
-
def test_const_dsl
|
10
|
-
tf = BetaBrite::TextFile.new { |a|
|
11
|
-
a.set_mode "roll_down"
|
12
|
-
a.set_position "middle"
|
13
|
-
}
|
14
|
-
|
15
|
-
assert_equal(BetaBrite::TextFile::Position::MIDDLE, tf.position)
|
16
|
-
assert_equal(BetaBrite::TextFile::Mode::ROLL_DOWN, tf.mode)
|
17
|
-
end
|
18
|
-
end
|