Espacio de nombres para SmartDashboard

SmartDashboard usa NetworkTables para enviar datos entre el robot y la computadora Dashboard (Driver Station). NetworkTables envía datos como nombre, pares de valores, como una matriz asociativa/tabla hash distribuida entre el robot y la computadora. Cuando se cambia un valor en un lugar, su valor se actualiza automáticamente en el otro lugar. Este mecanismo y un conjunto estándar de nombres (claves) es cómo se muestran los datos en el SmartDashboard.

Existe una estructura jerárquica en el espacio de nombres que crea un conjunto de tablas y subtablas. Los datos de SmartDashboard están en la subtabla SmartDashboard y los datos de LiveWindow están en la subtabla de LiveWindow como se muestra a continuación.

For informational purposes, the names and values can be displayed using the OutlineViewer application that is installed in the same location as the SmartDashboard. It will display all the NetworkTables keys and values as they are updated.

Valores de datos de SmartDashboard

The SmartDashboard keys in NetworkTables always begin with "/SmartDashboard/*"

Los valores de SmartDashboard se crean con nombres clave que comienzan con SmartDashboard/. Los valores anteriores vistos con OutlineViewer corresponden a los datos colocados en el SmartDashboard con las siguientes declaraciones:

chooser = new SendableChooser();
chooser.setDefaultOption("defaultAuto", new AutonomousCommand());
chooser.addOption("secondAuto", new AutonomousCommand());
chooser.addOption("thirdAuto", new AutonomousCommand());
SmartDashboard.putData("Chooser", chooser);
SmartDashboard.putNumber("Arm position in degrees", 52.0);
SmartDashboard.putString("Program Version", "V1.2");

La Posición del brazo se crea con la llamada putNumber(). El AutonomousCommand está escrito con un putData("Autonomous Command", command) que no se muestra en el fragmento de código anterior. El selector se crea como un objeto SendableChooser y el valor de cadena, Versión del programa se crea con la llamada putString().

Vista de SmartDashboard

SmartDashboard display of the values generated in the code above.

The code from the previous step generates the table values as shown and the SmartDashboard display as shown here. The numbers correspond to the NetworkTables variables shown in the previous step.

Valores de datos de LiveWindow

Viewing all of the LiveWindow data in SmartDashboard when in Test mode.

Los datos de LiveWindow se agrupan automáticamente por subsistema. Los datos se pueden ver en el SmartDashboard cuando el robot está en modo de prueba (configurado en la Driver Station). Si no está escribiendo un programa basado en comandos, aún puede hacer que los sensores y actuadores se agrupen para facilitar la visualización especificando el nombre del subsistema. En la pantalla anterior, puede ver los nombres de las teclas y la salida resultante en el modo de prueba en el SmartDashboard. Todas las cadenas comienzan con ``/LiveWindow ``, luego el nombre del subsistema, luego un grupo de valores que se utilizan para mostrar cada elemento. El código que genera esta pantalla LiveWindow se muestra a continuación:

drivetrainLeft = new PWMVictorSPX(1);
drivetrainLeft.setName("Drive train", "Left");

drivetrainRight = new PWMVictorSPX(1);
drivetrainRight.setName("Drive train", "Right";

drivetrainRobotDrive = new DifferentialDrive(drivetrainLeft, drivetrainRight);
drivetrainRobotDrive.setSafetyEnabled(false);
drivetrainRobotDrive.setExpiration(0.1);

drivetrainUltrasonic = new AnalogInput(3);
drivetrainUltrasonic.setName("Drive train", "Ultrasonic");

elevatorMotor = new PWMVictorSPX(6);
elevatorMotor.setName("Elevator", "Motor");

elevatorPot = new AnalogInput(4);
elevatorPot.setName("Elevator", "Pot");

wristPot = new AnalogInput(2);
wristPot.setName("Wrist", "Pot");

wristMotor = new PWMVictorSPX(3);
wristMotor.setName("Wrist", "Motor");

clawMotor = new PWMVictorSPX(5);
clawMotor.setName("Claw", "Motor");

Los valores que corresponden a los actuadores no solo se muestran, sino que se pueden configurar mediante los controles deslizantes creados en el SmartDashboard en el modo de prueba.