Recuperar datos

A diferencia de la función SmartDashboard.getNumber y parecidos, recuperar datos de la Shuffleboard también se puede hacer a través de las NetworkTableEntries, de las cuales hablamos en el artículo anterior.

class DriveBase extends Subsystem {
   private ShuffleboardTab tab = Shuffleboard.getTab("Drive");
   private NetworkTableEntry maxSpeed =
       tab.add("Max Speed", 1)
          .getEntry();

   private DifferentialDrive robotDrive = ...;

   public void drive(double left, double right) {
     // Retrieve the maximum speed from the dashboard
     double max = maxSpeed.getDouble(1.0);
     robotDrive.tankDrive(left * max, right * max);
   }
}

Este ejemplo básico tiene una falla muy evidente: La máxima velocidad puede configurarse en la dashboard a un valor fuera [0, 1] - lo cual puede causar que las entradas se saturen (siempre a la máxima velocidad), ¡o incluso al revés! Afortunadamente, existe una manera para evitar este problema - cubierto en el siguiente artículo.