Enviando datos
A diferencia de SmartDashboard, los datos no se pueden enviar directamente a Shuffleboard sin antes especificar en qué pestaña se deben colocar los datos.
Envío de datos simples
El envío de datos simples (números, cadenas, valores booleanos y matrices de estos) se realiza llamando add en una pestaña. Este método establecerá el valor si aún no está presente, pero no sobrescribirá un valor existente.
Shuffleboard.getTab("Numbers")
.add("Pi", 3.14);
Shuffleboard::GetTab("Numbers")
.Add("Pi", 3.14);
Si los datos deben actualizarse (por ejemplo, la salida de algún cálculo realizado en el robot), llame a getEntry() después de definir el valor, luego actualice cuando sea necesario o en una función periódica
class VisionCalculator {
private ShuffleboardTab tab = Shuffleboard.getTab("Vision");
private NetworkTableEntry distanceEntry =
tab.add("Distance to target", 0)
.getEntry();
public void calculate() {
double distance = ...;
distanceEntry.setDouble(distance);
}
}
Hacer que las elecciones persistan entre reinicios
Al configurar un robot desde el tablero, es posible que algunos ajustes persistan entre los reinicios del robot o de la estación del conductor en lugar de que los conductores recuerden (u olviden) configurar los ajustes antes de cada partido.
Simplemente usando addPersistent en lugar de` add` hará que el valor se guarde en el roboRIO y se cargue cuando se inicie el programa del robot.
Nota
Esto no se aplica a los datos que se pueden enviar como selectores o controladores de motor.
Shuffleboard.getTab("Drive")
.addPersistent("Max Speed", 1.0);
Envío de sensores, motores, etc.
De manera análoga a SmartDashboard.putData, cualquier objeto Sendable (la mayoría de los sensores, controladores de motor y SendableChoosers) se pueden agregar a cualquier pestaña
Shuffleboard.getTab("Tab Title")
.add("Sendable Title", mySendable);