SafeNet/SDMaps/docs/PTT_states.puml

37 lines
999 B
Plaintext

@startuml
title PTT button states
[*] --> NEUTRAL
NEUTRAL : BLUE, static
NEUTRAL : isInCall==false
NEUTRAL --> ASK_PTT : press PTT button
ASK_PTT : GREEN
ASK_PTT : isInCall==false\nmousedown
ASK_PTT : **ptt-command ON
NEUTRAL --> CALLED : receive\nsetCall true
CALLED : GRAY, dynamic
CALLED : isInCall==true
CALLED --> CALL_DONE : receive\nsetCall false
CALL_DONE : YELLOW
CALL_DONE : isInCall==false\nmouseup|dragend
CALL_DONE : **ptt-command OFF
CALL_DONE --> NEUTRAL : after\n2 seconds
ASK_PTT --> IN_CALL : receive\nsetCall true
IN_CALL : GREEN, dynamic
IN_CALL : isInCall==true
ASK_PTT --> CALL_FAILED : after X seconds or\nsetCall false
ASK_PTT --> CALL_DONE : mouseup\non PTT
CALL_FAILED : RED
CALL_FAILED : isInCall==false
CALL_FAILED --> NEUTRAL : after 2 seconds
IN_CALL --> CALL_DONE : mouseup\non PTT
IN_CALL --> CALL_FAILED : setCall false
CALL_DONE --> CALLED : setCall true
CALL_FAILED --> CALLED : setCall true
legend
closing InfoWindow will set NEUTRAL state
end legend
@enduml