31 lines
No EOL
842 B
Text
31 lines
No EOL
842 B
Text
@startuml
|
|
skinparam monochrome true
|
|
start
|
|
|
|
|
|
while ()
|
|
:startRobot?;
|
|
:err = robot.Open();
|
|
if (err) then (robot_ok)
|
|
:msgSend = new Message(MESSAGE_ANSWER_ACK);
|
|
:messageToMon!msgSend;
|
|
if (watchdogMode) then (WITH_WATCHDOG)
|
|
:msgSend = robot.Write(new Message(MESSAGE_ROBOT_START_WITH_WD));
|
|
else (WITHOUT_WATCHDOG)
|
|
:msgSend = robot.Write(new Message(MESSAGE_ROBOT_START_WITHOUT_WD));
|
|
endif
|
|
:messageToMon!msgSend;
|
|
if (msgSend->getId()) then (MESSAGE_ANSWER_ACK)
|
|
:robotStarted = true;
|
|
:stopRobot?;
|
|
:robot.Write(new Message(MESSAGE_ROBOT_STOP));
|
|
:robot.Close();
|
|
endif
|
|
else
|
|
:msgSend = new Message(MESSAGE_ANSWER_NACK);
|
|
:messageToMon!msgSend;
|
|
endif
|
|
|
|
endwhile
|
|
stop
|
|
@enduml |