传送资料

与SmartDashboard不同,数据不能直接发送到Shuffleboard,而不需要首先指定数据应该放在什么选项卡。

发送简单数据

发送简单数据(数字,字符串,布尔值和它们的数组)是通过在选项卡上调用“ add”来完成的。如果尚不存在,则此方法将设置该值,但不会覆盖现有值。

Shuffleboard.getTab("Numbers")
     .add("Pi", 3.14);
frc::Shuffleboard::GetTab("Numbers")
     .Add("Pi", 3.14);
from wpilib.shuffleboard import Shuffleboard

Shuffleboard.getTab("Tab Title").add("Pi", 3.14)

如果数据需要更新(例如,在机器人上做一些计算的输出),在定义值后调用” getEntry ( ) “,然后在需要时或在”周期性”函数中时更新

class VisionCalculator {
   private ShuffleboardTab tab = Shuffleboard.getTab("Vision");
   private GenericEntry distanceEntry =
      tab.add("Distance to target", 0)
         .getEntry();

   public void calculate() {
   double distance = ...;
   distanceEntry.setDouble(distance);
   }
}
from wpilib.shuffleboard import Shuffleboard

def robotInit(self):
   tab = Shuffleboard.getTab("Vision")
   self.distanceEntry = tab.add("Distance to target", 0).getEntry()

def teleopPeriodic(self):
   distance = self.encoder.getDistance()
   self.distanceEntry.setDouble(distance)

重新启动之间的选择仍然存在

从仪表板配置机械人时,某些设置可能希望在机械人或驱动程序重新启动之间保留下来,而不是让驱动程序在每次匹配之前记住(或忘记)配置设置。

简单地使用“addPersistent”而不是“add”将使值保存在roboRIO上,并在机器人程序启动时加载。

备注

这不适用于可发送的数据,例如选择器或电动机控制器。

Shuffleboard.getTab("Drive")
     .addPersistent("Max Speed", 1.0);
frc::Shuffleboard::GetTab("Drive")
     .AddPersistent("Max Speed", 1.0);
from wpilib.shuffleboard import Shuffleboard

(Shuffleboard.getTab("Drive")
      .addPersistent("Max Speed", 1.0))

发送传感器,电机等

类似于“SmartDashboard . putData”,任何“Sendable”对象(大多数传感器、电机控制器和SendableChoosers )都可以添加到任何标签中

Shuffleboard.getTab("Tab Title")
     .add("Sendable Title", mySendable);
frc::Shuffleboard::GetTab("Tab Title")
     .Add("Sendable Title", mySendable);
from wpilib.shuffleboard import Shuffleboard

(Shuffleboard.getTab("Tab Title")
      .add("Sendable Title", mySendable))