Builds the supervisor child_spec for an estimator DSL entity.
Used by BB.LinkSupervisor for link-nested estimators and by
BB.Sensor.Server for sensor-nested estimators. Centralises:
- Output-path resolution (auto-derived
:outplus explicitoutputoverrides). - Input-spec resolution (sensor-nested: synthesised single implicit
input pointing at the parent sensor's path; link-nested: passed
through from the entity's declared
inputblocks). sync_toleranceunit conversion to nanoseconds.- Construction of the
BB.Estimator.Contextdelivered to the user module'sinit/1. - Construction of the
BB.Process.via/2registration tuple so each estimator is addressable in the robot's registry.
Summary
Types
Path components leading to the parent supervisor (link path).
Path identifying the parent publisher (sensor path) for sensor-nested estimators.
Functions
Builds a child spec for a link-nested estimator. link_path is the
sequence of link names leading to the parent link (e.g.
[:base_link, :arm]).
Builds a child spec for a sensor-nested estimator. parent_sensor_path
is the parent sensor's full publish path including the leading
:sensor atom (e.g. [:sensor, :base_link, :imu]).
Types
Functions
@spec link_nested_child_spec( module(), BB.Dsl.Estimator.t(), parent_path(), Keyword.t() ) :: map()
Builds a child spec for a link-nested estimator. link_path is the
sequence of link names leading to the parent link (e.g.
[:base_link, :arm]).
@spec sensor_nested_child_spec( module(), BB.Dsl.Estimator.t(), parent_sensor_path(), atom(), Keyword.t() ) :: map()
Builds a child spec for a sensor-nested estimator. parent_sensor_path
is the parent sensor's full publish path including the leading
:sensor atom (e.g. [:sensor, :base_link, :imu]).