|
@@ -1,7 +1,7 @@
|
|
|
-from abstract_units.StatechartSimulationUnit import StatechartSimulationUnit
|
|
|
+from abstract_units.StatechartSimulationUnit_Event import StatechartSimulationUnit_Event
|
|
|
|
|
|
|
|
|
-class DriverControllerStatechartFMU(StatechartSimulationUnit):
|
|
|
+class DriverControllerStatechartFMU_Event(StatechartSimulationUnit_Event):
|
|
|
"""
|
|
|
This is a simple controller for the power window case study.
|
|
|
It takes input events (dup, ddown, dstop, obj) representing the wishes of the driver
|
|
@@ -31,26 +31,26 @@ class DriverControllerStatechartFMU(StatechartSimulationUnit):
|
|
|
if input_event != None:
|
|
|
if current_state=="Neutral":
|
|
|
if input_event == "dup":
|
|
|
- return ("up","Up",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("up","Up",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if input_event == "ddown":
|
|
|
- return ("down","Down",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("down","Down",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if current_state=="Up":
|
|
|
if input_event == "dstop":
|
|
|
- return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if input_event == "ddown":
|
|
|
- return ("down","Down",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("down","Down",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if input_event == "obj":
|
|
|
- return ("down","Object",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("down","Object",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if current_state=="Down":
|
|
|
if input_event == "dstop":
|
|
|
- return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
if input_event == "dup":
|
|
|
- return ("up","Up",True,StatechartSimulationUnit.TRIGGER_INPUT)
|
|
|
+ return ("up","Up",True,StatechartSimulationUnit_Event.TRIGGER_INPUT)
|
|
|
# Check for after transitions
|
|
|
if current_state=="Object":
|
|
|
if self._biggerThan(elapsed, 1.0):
|
|
|
- return ("stop","Neutral",True,StatechartSimulationUnit.TRIGGER_AFTER)
|
|
|
+ return ("stop","Neutral",True,StatechartSimulationUnit_Event.TRIGGER_AFTER)
|
|
|
# No transition taken
|
|
|
return (None, current_state, False, None)
|
|
|
|
|
|
- StatechartSimulationUnit.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=False)
|
|
|
+ StatechartSimulationUnit_Event.__init__(self, name, num_rtol, num_atol, state_transition, autonomous=False)
|