Architecture
WIP
Components
graph LR
User((🙂)) <--> Dial[Dial]
LCM>LCM Sources] -.-> LWS
LWS -.-> Dial
LWS -.-> RRWS
RRWS -.-> Dial
Dial <---> db[(/share)]
MolaRS -.-> LWS
MolaRS <--> Dial
classDef noFrame fill:none,stroke:none,font-size:20pt;
classDef dial stroke-width:3px;
class User noFrame;
class Dial dial
LCM sources
- Instruments generating LCM messages
- LCM log files being played (
lcm-logplayer)
LWS
LCM websocket server that relays LCM messages over websockets
RRWS
Rerun websocket server:
- Subscribes to a LWS to relay the messages to Rerun Viewer instances
Dial
By Dial, we refer to both the UI webapp and its server counterpart.
- Connects to a selected LWS with associated channel subscription restricted to the channels specified in the deployment2
- Connects to RRWS corresponding to the selected LWS, with received messages displayed in the embedded Rerun Viewer
- Has controls to start/stop the RRWS associated with the selected LWS3
Share
Dial can expose the contents of a host directory1 to the UI so the user can perform a number of actions:
- Select deployment for the current session in Dial
- Select LCM log files for playback
- ( ) Select mission script associated with the active deployment
- ...
MolaRS
TODO