Skip to content

Instantly share code, notes, and snippets.

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
do local script=true
--[[The line above allows Foreman to recognize this as a script.]]
--[[ upper and lower row strings ]]
local strings = {
"O P Q R S T U V W X Y ",
"Z 0 1 2 3 4 5 6 7 8 9 ",
}
--[[ SignGen Code begins here ]]
do local script=true
--[[The line above allows Foreman to recognize this as a script.]]
if not defines then defines={direction={east=2,south=4}} end
local addrsignal = {name = "signal-black",type = "virtual"}
local r1signal = {name = "signal-grey",type = "virtual"}
local r2signal = {name = "signal-white",type = "virtual"}
local s1signal = {name = "signal-S",type = "virtual"}
local s2signal = {name = "signal-U",type = "virtual"}
H4sIAAAAAAAA/92b34+jNhDH/5UVjy1cgw0k0ZU+dHsPp1a9qte3UxURcDZWCUaOs70o2v/9DPkJxsYm2ezJ+7RSGA/+fO1hZgwZechJmuQPs3iHU1Ks490O
Fxn6GvvuGj8VSR7v2LZEsYMZWjlukaz4/wnFbLlCDKdeSlZzXCSMUOflxT3YAoUtJXNSEsr45S8uKhhmGFVe978W+CtGHtvMkeOWZM1/JEW8+xp7kbuNvfG7
sHLSc2mof2mgfynUvxToX+ofL3U5fEZJPpujZfKMCY13KabpBrMZ/yU7WCwwXbNZE+4zpmyT5Ee++x+9J4q2Tj3qmiUFi0f831WZ0Eqp2PmlEov/VqC0Gpjz
/+L4zr/xjqKMa1HLsp3hLAbwpfoT5+EleblMmrNpTKZ3aD90jzOsHBn4gWZ+oqF+gJmf8VA/oZmfyVA/gZmf6VA/YyM/YDTUT2Tmxx/qZ2LmB8j9dAdOcROF
3RHhbH4OCmuTqICSdNmMCqREPCZUvp0fHZdsWLkxGUo3jASXTHxuxeMTKhrXBMI6cL84oGu0sSlTaCXTUIOpsOZlTCemTIGVTCMNpsL+ljGdmjINrWQ61mAK
dZn6I1OogZVQJxpQA22ovinUsZVQpxpQhaxVCtX40R/ZCBWONKAKKboUKjSFOrESqq8BVahHpFCDBtQVyvBm5aGc3wXlZEuSd5atgd69RnxgeSZ4+RtUVBy6
mTOslM4w3d8VD/53UB1cqv7T66nuh3J2daEuE7id1rjStNv4QQCth65gB7TjVvt57UqTdGMFgO0KgFYec8nObyeXcgUUm6eZ0hsrENqugK9YvUBoR8kUaGcC
rrQAMFYgsF0BECr2QDttle+BsUKBdotmQEFgtQKK1Qu1W1ftxK2hQLuhM6B6sFqBsXwPAOEZKt0DU4UC7fbPgFLDagWmCgWEZ6hMgUB4Zp8pZyjFGaJSxF4d
Z/x+xoeBBgL+f4kZuiTsN47PYiPE8zxJ/6sHK7f8fjYFmy0oWc1wwUeI
local function accepts_outside_entity(outside_entity, factory, interior, conn_specs)
local inside_entity = nil
local txControl, rxEntity
if outside_entity.name == "relay-combinator" then
inside_entity = interior.create_entity{
name = "small-lamp", position = conn_specs.inside_pos,
force = factory.force, direction = outside_entity.direction}
outside_entity.direction = conn_specs.direction_out
program "TEST PROGRAM"
rIndex.signal-red = 50
call CLRDISP
// Print helloworld
rNixie = [helloworld]
call COLORDEMO
call CLRDISP
call MATHDEMO
{}
program "LIST SIGNALS"
//r4 = signals to list
//r5 = seekop, .signal-S == current signal
//r6 = .signal-white=result of seekop
r4 = r18 // r18 connected to read a roboport
r5 = [seekop]
while r5.signal-S<300
exec r5 //r6.signal-white = r4.S
if r6.signal-white > 0
rNixie.signal-grey=1
function OnEvent(event, arg, family)
if family == "lhc" then
if event == "G_PRESSED" or event == "G_RELEASED" then
if arg > 12 and arg < 25 then
if event == "G_PRESSED" then
PressKey("f"..arg)
else
ReleaseKey("f"..arg)
end
end