Skip to main content

Module device_control

Module device_control 

Source
Expand description

Device-control abstraction surfaced over /ws/edge.

weave-server may send ServerToEdge::DisplayGlyph / ServerToEdge::DeviceConnect / ServerToEdge::DeviceDisconnect frames to drive a specific device on the edge — used by the weave-web UI buttons (Connect / Disconnect / Test LED). The native edge-agent owns per-device handles (BLE for Nuimo, etc.) that are foreign to this crate, so the WS handler dispatches via this trait. The agent registers an impl backed by its device map; targets the trait doesn’t recognise return Ok(()) after logging.

Errors propagate as anyhow::Error for symmetry with the rest of the WS client surface and to keep the trait dyn-friendly.

Structs§

NoopDeviceControl
No-op implementation used when the host hasn’t registered a device- control backend. Keeps the WS frames from crashing a stripped-down build that doesn’t supervise BLE devices.

Traits§

DeviceControlHook
Trait the WS client uses to dispatch device-control frames. The concrete impl lives in the binary that owns the device handles (edge-agent for Nuimo today; future targets register their own).