Пример #1
0
 def __init__(self, opts):
     super(TaskManager, self).__init__()
     self.node = cauv.node.Node("task_manager")
     self.node.subMessage(messaging.AddTaskMessage())
     self.node.subMessage(messaging.RemoveTaskMessage())
     self.node.subMessage(messaging.SetTaskStateMessage())
     self.node.subMessage(messaging.AddConditionMessage())
     self.node.subMessage(messaging.RemoveConditionMessage())
     self.node.subMessage(messaging.SetConditionStateMessage())
     self.node.subMessage(messaging.RequestAIStateMessage())
     self.node.subMessage(messaging.ScriptControlMessage())
     self.node.subMessage(messaging.AIControlMessage())
     self.node.subMessage(messaging.ProcessEndedMessage())
     self.node.subMessage(messaging.DetectorFiredMessage())
     self.node.subMessage(messaging.ScriptExitMessage())
     self.all_paused = not opts.unpaused
     self.ai_state = AIState(self)
     #Tasks - list of tasks that (in right conditions) should be called
     self.tasks = NameDict()
     self.conditions = NameDict()
     self.detector_fire_timeouts = collections.defaultdict(int)
     #currently running task
     self.last_available_tasks = []
     self.last_active_tasks = []
     self.mission_name = opts.mission_name
     if opts.mission_save:
         self.load_mission(open(opts.mission_save))
     self.gui_send_all()
     self.node.addObserver(self)
Пример #2
0
def reset_script(ainode):
    task_id = str(raw_input('Enter task id: '))
    ainode.node.send(
        messaging.ScriptControlMessage(task_id, messaging.ScriptCommand.Reset))
p_TaskTypesMessage = pp.Group(l \
    + p_stringVec \
    + r).streamline()
p_TaskTypesMessage.setParseAction(lambda x: messaging.TaskTypesMessage(*x[0]))
p_ConditionTypesMessage = pp.Group(l \
    + p_stringstringVecMap \
    + r).streamline()
p_ConditionTypesMessage.setParseAction(lambda x: messaging.ConditionTypesMessage(*x[0]))
p_RequestAIStateMessage = pp.Group(l \
    + r).streamline()
p_RequestAIStateMessage.setParseAction(lambda x: messaging.RequestAIStateMessage(*x[0]))
p_ScriptControlMessage = pp.Group(l \
    + p_str + c \
    + p_ScriptCommand \
    + r).streamline()
p_ScriptControlMessage.setParseAction(lambda x: messaging.ScriptControlMessage(*x[0]))
p_LightControlMessage = pp.Group(l \
    + p_LightID + c \
    + p_int \
    + r).streamline()
p_LightControlMessage.setParseAction(lambda x: messaging.LightControlMessage(*x[0]))
p_CuttingDeviceMessage = pp.Group(l \
    + p_int \
    + r).streamline()
p_CuttingDeviceMessage.setParseAction(lambda x: messaging.CuttingDeviceMessage(*x[0]))
p_RedHerringBatteryStatusMessage = pp.Group(l \
    + p_int \
    + r).streamline()
p_RedHerringBatteryStatusMessage.setParseAction(lambda x: messaging.RedHerringBatteryStatusMessage(*x[0]))
p_SimPositionMessage = pp.Group(l \
    + p_float + c \