1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
local stack = function(t,channel,num_screens)
for i=0,math.ceil(#t/4) do
local calc = i*4
local working_t = {t[calc+1],t[calc+2],t[calc+3],t[calc+4]}
local message = table.concat(working_t,"\n")
if i+1 > num_screens then return end
digiline_send(channel..i+1,message)
end
end
if event.channel=="clock" or event.punch then
local txt = {"-- AUTOMATIC YARD STATUS --","Railway Time: "..rwt.to_string(rwt.now(),true),"LHF Trains: 719814"," ========================"}
local s
for yard_id,info in pairs(S.yards) do
table.insert(txt, yard_id.." - Active: " .. tostring(F.indicator(info.active_indicator_pos)))
table.insert(txt," Direction: " .. tostring(F.indicator(info.dir_indicator_pos)))
table.insert(txt," Error: ".. tostring(F.indicator(info.error_indicator_pos)))
if info.notify and info.notify[1] then
table.insert(txt,"Notify: "..table.concat(info.notify,", "))
else
table.insert(txt,"Notify: N/A")
end
end
stack(txt,"yard_status",4)
return
end
|