add activity diagrams
This commit is contained in:
parent
c2662209c4
commit
be3d1a588f
8 changed files with 147 additions and 0 deletions
33
conception/th_manageRobot.txt
Normal file
33
conception/th_manageRobot.txt
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
start
|
||||||
|
while ()
|
||||||
|
:startRobot?;
|
||||||
|
:err = robot.Open();
|
||||||
|
if (err) then (robot_ok)
|
||||||
|
:msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
|
else
|
||||||
|
:msgSend = new Message(MESSAGE_ANSWER_NACK);
|
||||||
|
endif
|
||||||
|
|
||||||
|
: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
|
||||||
|
|
||||||
|
if (msgSend->getId()) then (MESSAGE_ANSWER_ACK)
|
||||||
|
:robotStarted = true;
|
||||||
|
endif
|
||||||
|
|
||||||
|
:messageToMon!msgSend;
|
||||||
|
|
||||||
|
:stopRobot?
|
||||||
|
:ordre = STOP_MOVE;
|
||||||
|
:robot.Close();
|
||||||
|
|
||||||
|
endwhile
|
||||||
|
stop
|
||||||
|
@enduml
|
24
conception/th_move.txt
Normal file
24
conception/th_move.txt
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
start
|
||||||
|
:counter = 0;
|
||||||
|
:start_period(100 ms);
|
||||||
|
while ()
|
||||||
|
:wait_next_period();
|
||||||
|
if (robotStarted) then (true)
|
||||||
|
:msgSend = robot.Write(new Message(move));
|
||||||
|
if (msgSend->getId()) then (MESSAGE_ANSWER_ACK)
|
||||||
|
:counter = 0;
|
||||||
|
:robotStarted = true;
|
||||||
|
else (MESSAGE_ANSWER_ROBOT_TIMEOUT || \nMESSAGE_ANSWER_ROBOT_UNKNOWN_COMMAND || \nMESSAGE_ANSWER_ROBOT_ERROR)
|
||||||
|
:counter++;
|
||||||
|
if (counter) then (3)
|
||||||
|
:stopRobot!;
|
||||||
|
:monitor.write(Message(MESSAGE_ANSWER_COM_ERROR));
|
||||||
|
else ()
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
stop
|
||||||
|
@enduml
|
52
conception/th_receiveFromMon.txt
Normal file
52
conception/th_receiveFromMon.txt
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
start
|
||||||
|
:serverOk?;
|
||||||
|
while ()
|
||||||
|
:msgRcv = monitor.Read();
|
||||||
|
if (msgRcv.CompareID(MESSAGE_MONITOR_LOST)) then (true)
|
||||||
|
:printf("Connection avec le moniteur perdue");
|
||||||
|
:stopCamera!;
|
||||||
|
:stopRobot!;
|
||||||
|
:stopServer!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_ROBOT_COM_OPEN)) then (true)
|
||||||
|
:openComRobot!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_ROBOT_START_WITHOUT_WD)) then (true)
|
||||||
|
:startRobotWithoutWd!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_ROBOT_START_WITH_WD)) then (true)
|
||||||
|
:startRobotWithWd!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_ROBOT_GO_FORWARD
|
||||||
|
|| msgRcv.CompareID(MESSAGE_ROBOT_GO_BACKWARD
|
||||||
|
|| msgRcv.CompareID(MESSAGE_ROBOT_GO_LEFT
|
||||||
|
|| msgRcv.CompareID(MESSAGE_ROBOT_GO_RIGHT
|
||||||
|
|| msgRcv.CompareID(MESSAGE_ROBOT_STOP)) then (true)
|
||||||
|
:move = msg.GetId();
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_OPEN)) then (true)
|
||||||
|
:startCamera!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_CLOSE)) then (true)
|
||||||
|
:stopCamera!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_ASK_ARENA)) then (true)
|
||||||
|
:searchArena!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_ARENA_CONFIRM)) then (true)
|
||||||
|
:validateArena!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_ARENA_INFIRM)) then (true)
|
||||||
|
:cancelArena!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_POSITION_COMPUTE_START)) then (true)
|
||||||
|
:startPosition!;
|
||||||
|
endif
|
||||||
|
if (msgRcv.CompareID(MESSAGE_CAM_POSITION_COMPUTE_STOP)) then (true)
|
||||||
|
:stopPosition!;
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
stop
|
||||||
|
@enduml
|
0
conception/th_searchArena.txt
Normal file
0
conception/th_searchArena.txt
Normal file
15
conception/th_sendBatteryLevel.txt
Normal file
15
conception/th_sendBatteryLevel.txt
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
@startuml
|
||||||
|
|
||||||
|
skinparam monochrome true
|
||||||
|
|
||||||
|
start
|
||||||
|
:start_period(500 ms);
|
||||||
|
while ()
|
||||||
|
:wait_next_period();
|
||||||
|
if(robotStarted)then(true)
|
||||||
|
:msgSend=robot.Write(robot.getBattery());
|
||||||
|
:messageToMon!msgSend;
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
stop
|
||||||
|
@enduml
|
0
conception/th_sendImage.txt
Normal file
0
conception/th_sendImage.txt
Normal file
10
conception/th_sendToMon.txt
Normal file
10
conception/th_sendToMon.txt
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
start
|
||||||
|
:serverOK?;
|
||||||
|
while ()
|
||||||
|
:messageToMon?msg;
|
||||||
|
:monitor.Write(msg);
|
||||||
|
endwhile
|
||||||
|
stop
|
||||||
|
@enduml
|
13
conception/th_server.txt
Normal file
13
conception/th_server.txt
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
start
|
||||||
|
:status = monitor.Open();
|
||||||
|
if (status) then (failed)
|
||||||
|
:print("Unable to start server");
|
||||||
|
stop
|
||||||
|
else (succeed)
|
||||||
|
:monitor.AcceptClient();
|
||||||
|
:serverOk!;
|
||||||
|
stop
|
||||||
|
endif
|
||||||
|
@enduml
|
Loading…
Reference in a new issue