reduce color palette to 28 entries to make room for future control codes

(loses a dupe brown entry, and light blue and pink, which don't really work
well on a LED display)
This commit is contained in:
Vanessa Dannenberg 2018-08-15 19:29:23 -04:00
parent 09e5607d7a
commit d182766236
3 changed files with 6 additions and 6 deletions

@ -40,13 +40,13 @@ The panels also respond to these control messages:
* "off_multi" turns all panels in a lineup off
* "allon_multi" turns on all LEDs of all panels in a lineup.
A byte value of 0 to 30 will change colors (i.e. string.char(0 to 30) ). Color values 0 to 11 are:
A byte value of 0 to 27 will change colors (i.e. string.char(0 to 27) ). Color values 0 to 11 are:
Red (0), orange, yellow, lime, green, aqua, cyan, sky blue, blue, violet, magenta, or red-violet (11)
Colors 12 to 23 are the same as 0 to 11, but lower brightness.
Colors 24 - 30 are white, light grey, medium grey, dim grey, light blue, brown, and pink.
Colors 24 - 27 are white, light grey, medium grey, and dim grey.
The left-most/"master" panel will remember the last color used, and defaults to red.

@ -61,7 +61,7 @@ local display_string = function(pos, channel, string)
local last_color = master_meta:get_int("last_color")
local pos2 = pos
if not last_color or last_color < 0 or last_color > 30 then
if not last_color or last_color < 0 or last_color > 27 then
last_color = 0
master_meta:set_int("last_color", 0)
end
@ -76,7 +76,7 @@ local display_string = function(pos, channel, string)
minetest.swap_node(pos2, { name = "led_marquee:char_"..asc, param2 = master_fdir + (last_color*8)})
pos2.x = pos2.x + fdir_to_right[fdir+1][1]
pos2.z = pos2.z + fdir_to_right[fdir+1][2]
elseif asc < 31 then
elseif asc < 28 then
last_color = asc
master_meta:set_int("last_color", asc)
end
@ -87,7 +87,7 @@ local on_digiline_receive_string = function(pos, node, channel, msg)
local meta = minetest.get_meta(pos)
local setchan = meta:get_string("channel")
local last_color = meta:get_int("last_color")
if not last_color or last_color < 0 or last_color > 30 then
if not last_color or last_color < 0 or last_color > 27 then
last_color = 0
meta:set_int("last_color", 0)
end
@ -115,7 +115,7 @@ local on_digiline_receive_string = function(pos, node, channel, msg)
local asc = string.byte(msg)
if asc > 30 and asc < 256 then
minetest.swap_node(pos, { name = "led_marquee:char_"..asc, param2 = fdir + (last_color*8)})
elseif asc < 31 then
elseif asc < 28 then
last_color = asc
meta:set_int("last_color", asc)
elseif msg == "get" then -- get value as ASCII numerical value

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 B

After

Width:  |  Height:  |  Size: 120 B