very-dumb/conception/th_receiveFromMon.txt

57 lines
No EOL
1.6 KiB
Text

@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)
:watchdogMode = WITHOUT_WATCHDOG;
:startRobot!;
endif
if (msgRcv.CompareID(MESSAGE_ROBOT_START_WITH_WD)) then (true)
:watchdogMode = WITH_WATCHDOG;
:startRobot!;
endif
if (msgRcv.CompareID(MESSAGE_ROBOT_RESET)) then (true)
:stopRobot!;
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