Skip to content
Permalink
Browse files

fix programming microcontroller through form

The handling of the "quit" pseudo-field meant that the microcontroller
couldn't be programmed with explicit code, only with the examples.
The "quit" can actually be ignored: what matters for programming the
controller is whether the "code" field was supplied.
  • Loading branch information
Zefram authored and Jeija committed Apr 25, 2014
1 parent 300abcb commit f1eaee2281faa0ada1d72b009de32826b3204024
Showing with 2 additions and 5 deletions.
  1. +2 −5 mesecons_microcontroller/init.lua
@@ -98,9 +98,6 @@ minetest.register_node(nodename, {
meta:set_string("eeprom", r)
end,
on_receive_fields = function(pos, formanme, fields, sender)
if fields.quit then
return
end
local meta = minetest.get_meta(pos)
if fields.band then
fields.code = "sbi(C, A&B) :A and B are inputs, C is output"
@@ -114,8 +111,8 @@ minetest.register_node(nodename, {
fields.code = "if(A)sbi(1,1);if(!A&#1)sbi(B,!B)sbi(1,0); if(C)off(B,1); :A is input, B is output (Q), C is reset, toggles with falling edge"
elseif fields.brsflop then
fields.code = "if(A)on(C);if(B)off(C); :A is S (Set), B is R (Reset), C is output (R dominates)"
elseif fields.program or fields.code then --nothing
else return nil end
end
if fields.code == nil then return end

meta:set_string("code", fields.code)
meta:set_string("formspec", "size[9,2.5]"..

0 comments on commit f1eaee2

Please sign in to comment.