mirror of
				https://github.com/minetest-mods/mesecons.git
				synced 2025-11-04 04:55:26 +01:00 
			
		
		
		
	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.
This commit is contained in:
		@@ -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]"..
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user