Interface PoseSourceIO

All Known Implementing Classes:
LimelightIO, OrinGyroSourceIO, OrinPoseSourceIO, QuestNavIO, SimVision.LimelightSimIO, SimVision.QuestSimIO

public interface PoseSourceIO
Hardware layer for one pose source, AdvantageKit style.

An implementation reads the device (NetworkTables for a Limelight or QuestNav, PhotonLib for the Orin) and fills PoseSourceInputs. Nothing downstream touches the device: gating and fusion read only the inputs, so in replay, where the IO is swapped for NONE, the same code runs against the logged values.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final PoseSourceIO
    Replay / detached: reports nothing, so the logged inputs are what the code sees.
  • Method Summary

    Modifier and Type
    Method
    Description
    default boolean
    Whether this IO computes its observations from inputs it logs itself, rather than reading a device.
    void
    Fills inputs with everything reported since the last call.
  • Field Details

    • NONE

      static final PoseSourceIO NONE
      Replay / detached: reports nothing, so the logged inputs are what the code sees.
  • Method Details

    • updateInputs

      void updateInputs(PoseSourceInputs inputs)
      Fills inputs with everything reported since the last call.
      Parameters:
      inputs - the inputs to overwrite
    • derived

      default boolean derived()
      Whether this IO computes its observations from inputs it logs itself, rather than reading a device. A derived IO runs in replay too (over its own replayed inputs), so PoseSource records its observations as outputs instead of restoring them from the log.