FlightProjector
Streams the FateWeaver log to connected AdvantageScope clients over a WebSocket.
The bytes are the same ones a .fate file would contain, so AdvantageScope decodes a live stream with its file decoder. A client that connects partway through an OpMode first receives the header and every schema entry declared so far, in order. Channel indices are positional, and a message entry means nothing without its schema entry.
See also
Properties
How many AdvantageScope clients are currently attached.
The port start binds, chosen to avoid 8080 (FTC web server) and 8000 (FTC Dashboard).
The text frame a client sends to have the header and schema entries replayed.
Functions
Does nothing. The projector outlives any one gay.zharel.fateweaver.log.FateLogWriter, so closing an OpMode's writer must not stop the server or drop clients.
Releases the port when the Robot Controller app goes away.
Registers an OpMode that toggles live streaming from the Driver Station.
Turns live streaming on or off and saves the choice across robot restarts.
Binds port and begins accepting clients, unless LiveSettings.enabled is false.