Bladeren bron

Sane defaults for unconnected blocks

Yentl Van Tendeloo 8 jaren geleden
bovenliggende
commit
89645acd06
2 gewijzigde bestanden met toevoegingen van 4 en 1 verwijderingen
  1. 3 0
      integration/code/cbd_semantics.alc
  2. 1 1
      interface/CBD/main.py

+ 3 - 0
integration/code/cbd_semantics.alc

@@ -180,15 +180,18 @@ Void function step_simulation(model : Element, schedule : Element):
 				signal = signal * cast_s2f(cast_v2s(read_attribute(model, selected, "signal")))
 		elif (blocktype == "NegatorBlock"):
 			incoming = allIncomingAssociationInstances(model, block, "Link")
+			signal = 0.0
 			while (read_nr_out(incoming) > 0):
 				selected = readAssociationSource(model, set_pop(incoming))
 				signal = float_neg(cast_s2f(cast_v2s(read_attribute(model, selected, "signal"))))
 		elif (blocktype == "InverseBlock"):
+			signal = 0.0
 			incoming = allIncomingAssociationInstances(model, block, "Link")
 			while (read_nr_out(incoming) > 0):
 				selected = readAssociationSource(model, set_pop(incoming))
 				signal = float_division(1.0, cast_s2f(cast_v2s(read_attribute(model, selected, "signal"))))
 		elif (blocktype == "DelayBlock"):
+			signal = 0.0
 			if (element_eq(read_attribute(model, block, "memory"), read_root())):
 				// No memory yet, so use initial condition
 				incoming = allIncomingAssociationInstances(model, block, "InitialCondition")

+ 1 - 1
interface/CBD/main.py

@@ -174,7 +174,7 @@ class InterfaceCore():
         self.mode = mode
 
     def clicked(self, event):
-        if self.mode not in ["AdditionBlock", "NegatorBlock", "ConstantBlock", "MultiplyBlock", "ConstantBlock"]:
+        if self.mode not in ["AdditionBlock", "NegatorBlock", "ConstantBlock", "MultiplyBlock", "ConstantBlock", "InverseBlock"]:
             print("Cannot create something not guaranteed to be block type!")
         else:
             if self.find((event.x, event.y)):