Expand description
The C ABI for simulated devices.
These functions wrap [pamoja_sim] so a caller can drive a whole node with
no hardware attached. That is worth more from a binding than from Rust:
someone writing against the SDK in Python or C# can put a sensor, an
actuator, and a lossy link into a unit test and find out what their code does
when a reading drifts or a packet vanishes, without owning the device.
The degraded link lives with the transports, in
pamoja_transport_degraded,
because it wraps a transport rather than standing alone.
Structs§
- Pamoja
Pose - Where a robot is and which way it faces.
- Pamoja
Recording Actuator - An opaque handle to an actuator that records what it was told to do.
- Pamoja
Replay - An opaque handle to a sensor that replays a recorded series.
- Pamoja
SimRobot - An opaque handle to a robot that moves only in arithmetic.
- Pamoja
SimSensor - An opaque handle to a sensor that invents plausible readings.
- Pamoja
Twist - How fast a robot is asked to move.
Functions§
- pamoja_
recording_ ⚠actuator_ apply - Applies a command, which the actuator records rather than acts on.
- pamoja_
recording_ ⚠actuator_ commands - Copies out the commands an actuator recorded, oldest first.
- pamoja_
recording_ ⚠actuator_ free - Releases a recording actuator handle.
- pamoja_
recording_ ⚠actuator_ len - Reports how many commands an actuator has been given.
- pamoja_
recording_ actuator_ new - Creates an actuator that records every command instead of acting on one.
- pamoja_
replay_ ⚠free - Releases a replay handle.
- pamoja_
replay_ ⚠new - Creates a sensor that reads back a recorded series.
- pamoja_
replay_ ⚠read - Takes the next reading from a replay.
- pamoja_
sim_ ⚠robot_ apply - Drives the robot for one time step.
- pamoja_
sim_ ⚠robot_ free - Releases a simulated robot handle.
- pamoja_
sim_ robot_ new - Creates a robot that moves only in arithmetic.
- pamoja_
sim_ ⚠robot_ pose - Reads where the robot has got to.
- pamoja_
sim_ ⚠sensor_ free - Releases a simulated sensor handle.
- pamoja_
sim_ sensor_ new - Creates a sensor that reads around a baseline.
- pamoja_
sim_ ⚠sensor_ read - Takes the next reading.