diff options
| author | Zefram <zefram@fysh.org> | 2014-04-25 11:54:39 +0100 | 
|---|---|---|
| committer | Jeija <jeija@mesecons.net> | 2014-04-25 18:30:59 +0200 | 
| commit | f1eaee2281faa0ada1d72b009de32826b3204024 (patch) | |
| tree | eae9b7037c22704b8f0d58607e4e2ce0ce400a42 /mesecons_microcontroller | |
| parent | 300abcb5877d948e6a68be454ed46b65a0f90f01 (diff) | |
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.
Diffstat (limited to 'mesecons_microcontroller')
| -rw-r--r-- | mesecons_microcontroller/init.lua | 7 | 
1 files changed, 2 insertions, 5 deletions
| diff --git a/mesecons_microcontroller/init.lua b/mesecons_microcontroller/init.lua index ec7afbd..8c9f3b8 100644 --- a/mesecons_microcontroller/init.lua +++ b/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)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]".. | 
