Wrapper GenServer for sensor callback modules.
This module manages the lifecycle of user-defined sensor modules, handling:
- Parameter reference resolution at startup
- Subscription to parameter changes
- For joint-attached sensors, transmission resolution and a
:sensor_profileopt - Delegation of GenServer callbacks to user module
- Optional safety registration (only if sensor implements
disarm/1)
User modules implement the BB.Sensor behaviour and define callbacks.
This server wraps them, providing the actual GenServer implementation.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type t() :: %BB.Sensor.Server{ bb: %{robot: module(), path: [atom()]}, callback_module: module(), joint_name: atom() | nil, param_subscriptions: %{required([atom()]) => atom()}, raw_opts: keyword(), resolved_opts: keyword(), sensor_name: atom() | nil, transmission: BB.Transmission.t() | nil, transmission_subscriptions: %{required(atom()) => [atom()]}, user_state: term() }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.