Skip to content

firmware_telemetry

FirmwareTelemetryNamespace #

Bases: AsyncNamespace

Handle all SocketIO events related to firmware telemetry clients. Supports multiple simultaneous client connections.

Source code in cogip/tools/server/namespaces/firmware_telemetry.py
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
class FirmwareTelemetryNamespace(socketio.AsyncNamespace):
    """
    Handle all SocketIO events related to firmware telemetry clients.
    Supports multiple simultaneous client connections.
    """

    def __init__(self, cogip_server: "server.Server"):
        super().__init__("/telemetry")
        self.cogip_server = cogip_server

    async def on_connect(self, sid, environ):
        """Allow multiple client connections."""
        pass

    async def on_connected(self, sid):
        logger.info(f"Telemetry client connected: {sid}")

    async def on_disconnect(self, sid):
        logger.info(f"Telemetry client disconnected: {sid}")

    async def on_telemetry_enable(self, sid, data: dict[str, Any] | None = None):
        """
        Callback on telemetry_enable message.
        Forward to copilot.
        """
        logger.info("[telemetry => copilot] Telemetry enable")
        await self.emit("telemetry_enable", data or {}, namespace="/copilot")

    async def on_telemetry_disable(self, sid, data: dict[str, Any] | None = None):
        """
        Callback on telemetry_disable message.
        Forward to copilot.
        """
        logger.info("[telemetry => copilot] Telemetry disable")
        await self.emit("telemetry_disable", data or {}, namespace="/copilot")

on_connect(sid, environ) async #

Allow multiple client connections.

Source code in cogip/tools/server/namespaces/firmware_telemetry.py
18
19
20
async def on_connect(self, sid, environ):
    """Allow multiple client connections."""
    pass

on_telemetry_disable(sid, data=None) async #

Callback on telemetry_disable message. Forward to copilot.

Source code in cogip/tools/server/namespaces/firmware_telemetry.py
36
37
38
39
40
41
42
async def on_telemetry_disable(self, sid, data: dict[str, Any] | None = None):
    """
    Callback on telemetry_disable message.
    Forward to copilot.
    """
    logger.info("[telemetry => copilot] Telemetry disable")
    await self.emit("telemetry_disable", data or {}, namespace="/copilot")

on_telemetry_enable(sid, data=None) async #

Callback on telemetry_enable message. Forward to copilot.

Source code in cogip/tools/server/namespaces/firmware_telemetry.py
28
29
30
31
32
33
34
async def on_telemetry_enable(self, sid, data: dict[str, Any] | None = None):
    """
    Callback on telemetry_enable message.
    Forward to copilot.
    """
    logger.info("[telemetry => copilot] Telemetry enable")
    await self.emit("telemetry_enable", data or {}, namespace="/copilot")