|
|
@@ -1,16 +1,43 @@
|
|
|
-import os
|
|
|
-import threading
|
|
|
-
|
|
|
+import target
|
|
|
from sccd.runtime.statecharts_core import Event
|
|
|
-
|
|
|
-from Options import Options
|
|
|
+import threading
|
|
|
import fsaclasses
|
|
|
+from fsa_cbd_woven_classes import CBDState
|
|
|
+from CBDMultipleOutput.models.HarmonicOscilator import CircleCBDDerivative
|
|
|
from models.power_window import PowerWindow
|
|
|
-import target
|
|
|
from woven_cbd_fsa_lib import FSACBDLib
|
|
|
+from Options import Options
|
|
|
+import os
|
|
|
|
|
|
CBD_DELTA = 0.01
|
|
|
|
|
|
+def buildModel():
|
|
|
+ statea = fsaclasses.State("a")
|
|
|
+ stateb = fsaclasses.State("b")
|
|
|
+ statec = CBDState("c", CircleCBDDerivative("Harmonic Oscilator", CBD_DELTA))
|
|
|
+ #statec = State("c")
|
|
|
+ stated = fsaclasses.State("d")
|
|
|
+ statef = fsaclasses.State("f", True)
|
|
|
+
|
|
|
+ transitionab = fsaclasses.Transition("a2b",statea,stateb)
|
|
|
+ transitionab.trigger = fsaclasses.After(fsaclasses.Float(5.0))
|
|
|
+
|
|
|
+ transitionbc = fsaclasses.Transition("b2c",stateb,statec)
|
|
|
+ transitionbc.trigger = fsaclasses.After(fsaclasses.Float(2.0))
|
|
|
+
|
|
|
+ transitioncd = fsaclasses.Transition("c2d",statec,stated)
|
|
|
+ transitioncd.trigger = fsaclasses.Event("c")
|
|
|
+
|
|
|
+ transitiondf = fsaclasses.Transition("d2f",stated,statef)
|
|
|
+ transitiondf.trigger = fsaclasses.After(fsaclasses.Float(5.0))
|
|
|
+
|
|
|
+ cbdmodel = fsaclasses.FSAModel(
|
|
|
+ [statea,stateb,statec,stated],
|
|
|
+ [transitionab,transitionbc,transitioncd,transitiondf]
|
|
|
+ )
|
|
|
+ cbdmodel.initialState = statea
|
|
|
+ return cbdmodel
|
|
|
+
|
|
|
if __name__ == '__main__':
|
|
|
if os.path.exists(FSACBDLib.OUTPUT_EVENTS):
|
|
|
os.remove(FSACBDLib.OUTPUT_EVENTS)
|
|
|
@@ -23,8 +50,9 @@ if __name__ == '__main__':
|
|
|
events = fsaclasses.Events([fsaclasses.RunTimeEvent("p_up",0.5),
|
|
|
fsaclasses.RunTimeEvent("stop",2.3),
|
|
|
fsaclasses.RunTimeEvent("p_down",2.5),
|
|
|
- fsaclasses.RunTimeEvent("d_up",3.0),fsaclasses.RunTimeEvent("end",8.0)]) # ,
|
|
|
- controller = target.Controller(options, cbdmodel, events, keep_running=True)
|
|
|
+ fsaclasses.RunTimeEvent("d_up",3.0),
|
|
|
+ fsaclasses.RunTimeEvent("end",8.0)])
|
|
|
+ controller = target.Controller(cbdmodel, events, options, keep_running=True)
|
|
|
|
|
|
def set_defaults(inp, defaultlist):
|
|
|
for i, v in enumerate(defaultlist):
|
|
|
@@ -50,6 +78,8 @@ if __name__ == '__main__':
|
|
|
params = []
|
|
|
elif action == "small_step":
|
|
|
params = []
|
|
|
+ elif action == "step_into":
|
|
|
+ params = []
|
|
|
elif action == "pause":
|
|
|
params = []
|
|
|
elif action == "add_breakpoint":
|