cc-rail-router/station.lua

38 lines
969 B
Lua

--[[
Stations are kiosks where users can configure their portable computer for a
particular route to another station.
You should add a "station_config.tbl" file containing:
{
name = "stationname",
displayName = "Station Name",
range = 8
}
]]--
local modem = peripheral.wrap("top") or error("Missing top modem")
local BROADCAST_CHANNEL = 45451
local function readConfig()
local f = io.open("station_config.tbl", "r")
if not f then error("Missing station_config.tbl") end
local cfg = textutils.unserialize(f:read("*a"))
f:close()
return cfg
end
local function broadcast(config)
while true do
modem.transmit(BROADCAST_CHANNEL, BROADCAST_CHANNEL, config)
os.sleep(1)
end
end
local config = readConfig()
term.clear()
term.setCursorPos(1, 1)
print("Running station transponder for \""..config.name.."\".")
print(" Display Name: "..config.displayName)
print(" Range: "..config.range.." blocks")
broadcast(config)