diff --git a/conception/th_manageRobot.txt b/conception/th_manageRobot.txt index 0340b20..6c908d3 100644 --- a/conception/th_manageRobot.txt +++ b/conception/th_manageRobot.txt @@ -1,24 +1,31 @@ -@startuml -skinparam monochrome true -start -while () - :startRobot?; - - 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 - - if (msgSend->getId()) then (MESSAGE_ANSWER_ACK) - :robotStarted = true; - endif - - :messageToMon!msgSend; - - :stopRobot? - :ordre = STOP_MOVE; - -endwhile -stop -@enduml + @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 \ No newline at end of file