forked from mtcontrib/led_marquee
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:
parent
09e5607d7a
commit
d182766236
|
@ -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.
|
||||
|
||||
|
|
8
init.lua
8
init.lua
|
@ -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 |
Loading…
Reference in New Issue
Block a user