bmegli / ev3dev-mapping-ui

A cross-platform real-time 3D spatial data visualization
GNU General Public License v3.0
9 stars 4 forks source link

Implement Control component with TCP/IP #26

Closed bmegli closed 7 years ago

bmegli commented 7 years ago

This is currently implemented with UDP.

The TCP/IP protocol is defined in bmegli/ev3dev-mapping#5

bmegli commented 7 years ago

State Machines

TCPClient

States:

IDLE, DISCONNECTED, CONNECTING, CONNECTED

Transitions:

DISCONNECTED -> CONNECTING -> CONNECTED
CONNECTING | CONNECTED -> DISCONNECTED (transient failures) CONNECTING | CONNECTED -> IDLE (connecting failed/connection lost, disconnect on request)

Properties: LastSeen (time since last successful message received or written to)

Control Component

States (like modules):

OFFLINE, INITIALIZING, ONLINE, SHUTDOWN, FAILED

Workflow

Control OFFLINE

Control INITIALIZING

Control ONLINE

Control SHUTDOWN

Control FAILED

When stopping ev3dev-mapping-ui:

Notes