Raxol.Sensor.Fusion
(Raxol v2.3.0)
View Source
Batches sensor readings and produces fused state.
Receives {:sensor_reading, reading} messages from Feed processes,
accumulates them in a batch, and on a configurable timer flushes
the batch through a pure fusion function. Subscribers receive
{:fused_update, fused_state} on each flush.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type t() :: %Raxol.Sensor.Fusion{ batch: [Raxol.Sensor.Reading.t()], batch_ref: reference() | nil, batch_window_ms: pos_integer(), feeds: %{required(atom()) => pid()}, fused_state: map(), subscribers: MapSet.t(pid()), thresholds: map() }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec get_fused_state(GenServer.server()) :: map()
@spec register_feed(GenServer.server(), atom(), pid()) :: :ok
@spec start_link(keyword()) :: GenServer.on_start()
@spec subscribe(GenServer.server()) :: :ok
@spec unregister_feed(GenServer.server(), atom()) :: :ok