37 lines
999 B
Plaintext
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 |