Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.03 KB

File metadata and controls

24 lines (18 loc) · 1.03 KB

Retrieving data

Unlike SmartDashboard.getNumber and friends, retrieving data from Shuffleboard is also done through the NetworkTableEntries, which we covered in the previous article.

.. tabs::

   .. code-tab:: java

       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);
          }
       }

This basic example has a glaring flaw: the maximum speed can be set on the dashboard to a value outside [0, 1] - which could cause the inputs to be saturated (always at maximum speed), or even reversed! Fortunately, there is a way to avoid this problem - covered in the next article.