Stack up a wall of LED panels, any horizontal and vertical amount
Set a channel on the upper left panel, leave the others un-set, and
connect a LuaC to it via digilines.
Long strings sent to that channel will be displayed using all panels,
starting at the upper-left and working from left to right, top to
bottom, wrapping from line to line as appropriate (similar to printing
to a shell terminal).
string.char(28) can be inserted anywhere to force a linefeed.
As usual, printing continues from node to node until the program either
finds a panel with a different non-empty channel than the first one, or
it finds a panel that's facing the wrong way.
If the program finds something other than a panel, it wraps to the next
line. If it finds something other than a panel twice in a row, that
signals that text has wrapped off of the last row, and printing is cut
off.
Lines of panels don't need to be the same length, the program will wrap
as needed.
This commit also gets rid of the end-of-line padding, uses proper
string.rep() to create the all-off and all-on fills (each of which is
1kB), and fixes one or two other minor issues.
Strings are trimmed to 1 kB.
Panels are not erased between prints.
(sorry, no UTF-8 here, Lue doesn't do multi-byte too well in this situation)
plus a bunch of symbols stuffed into the empty 128-159 range that should be
useful on a marquee:
128,129: musical notes
130-140: box drawing glyphs
141-144: block shades
145-152: arrows
153-156: explosion/splat
157-159: smileys
This commit changes the "all on" keyword to point to char(144), and
"cursor" is moved to char(31).
send string.char(0 to 7) to change colors
(red=0, orange, yellow, green, cyan, blue, purple, magenta=7)
the panel remembers the last color used (saved in the meta of the
left-most/"master" panel node)