传送资料
与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))