Minimal robot for live-testing BB.Sensor.INA219 against real hardware.
Not loaded by default — included in test/support/ so it's compiled in the
:dev and :test envs. Run it from IEx:
iex> BB.Sensor.INA219.TestBot.start_link([])
iex> BB.subscribe(BB.Sensor.INA219.TestBot, [:sensor, :chassis, :main_bus])
iex> flush()
Summary
Functions
Returns a child specification for starting this robot under a supervisor.
Returns the optimised robot representation.
Starts the robot's supervision tree.
Functions
@spec child_spec(Keyword.t()) :: Supervisor.child_spec()
Returns a child specification for starting this robot under a supervisor.
@spec robot() :: BB.Robot.t()
Returns the optimised robot representation.
This struct is built at compile-time from the DSL definition and contains:
- All physical values converted to SI base units (floats)
- Flat maps for O(1) lookup of links, joints, sensors, and actuators
- Pre-computed topology metadata for efficient traversal
Examples
robot = Elixir.BB.Sensor.INA219.TestBot.robot()
link = BB.Robot.get_link(robot, :base_link)
joint = BB.Robot.get_joint(robot, :shoulder)
@spec start_link(Keyword.t()) :: Supervisor.on_start()
Starts the robot's supervision tree.
Options
All options are passed through to sensor and actuator child processes.