
redstone.setOutput('back', false)

unload_delay = 15
level_delay = 3
wait_delay = 2

while true do
    if redstone.getInput('front') then
        print('There seems to be a train... waiting for '..unload_delay..' seconds...')
        os.sleep(unload_delay)
        print('Go train go...')
        redstone.setOutput('back', true)
        os.sleep(level_delay)
        redstone.setOutput('back', false)
    else
        os.sleep(wait_delay)
    end
end




--
--sleep_delay = 0.5
--
--redstone.getOutput('top', false)
--
--pl = peripheral.getNames()
--unloaders = {}
--
--for k,v in pairs(pl) do
--    print(k..': '..v)
--    if peripheral.isPresent(v) then
--        t = peripheral.getType(v)
--        print('  '..t)
--        if t == 'item_unloader' then 
--            table.insert(unloaders,peripheral.wrap(v))
--            ml = peripheral.getAdvancedMethodsData(v)
--        end
--        if t == 'railcrafttracktile' then 
--            ml = peripheral.getMethods(v)
--            for kk,vv in pairs(ml) do
--                print(kk..': '..vv)
--            end
--        end
--        if t == 'rcdetectortile' then 
--            ml = peripheral.getMethods(v)
--            for kk,vv in pairs(ml) do
--                print(kk..': '..vv)
--            end
--        end
--    end
--end
--
--function are_unloading(unloaders)
--    for unloader in pairs(unloaders) do
--        if unloader.hasWork() then
--            return true
--        end
--    end
--    return false
--end
--
--function have_train(unloaders)
--    for i,unloader in pairs(unloaders) do
--        if unloader.hasMineCart() then
--            return true
--        end
--    end
--    return false
--end
