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