Recent Updates

  • You can change the type of widget that displays values with the SmartDashboard. The allowable widgets depend on the type of the value being displayed.

  • Updated on: Oct 24, 2014

    C++ WPILib API Documentation

  • Updated on: Sep 27, 2014

    Using the CAN subsystem with the RoboRIO

    Using CAN with the RoboRIO has many advantages over previous connection methods between the robot controller and peripheral devices.

    1. CAN connections are through a single wire that is daisy-chained between all the devices so home run wiring isn't required.
    2. Since this is protocol-based signaling the devices can be smart and accept higher level commands besides start, stop and set speed.
    3. Devices can report status back to the robot controller making it possible to have much better control algorithms with devices that use CAN.

    There are a number of CAN devices supported in the FRC control system:

    1. Jaguar speed controllers
    2. CAN-Talon speed controllers
    3. The Power Distribution Panel (PDP)
    4. The Pneumatics Control Module (PCM)

    The devices are typically connected to the RoboRIO CAN bus using twisted pair wiring (except the Jaguar which uses modular phone-style connectors).

  • Updated on: Sep 12, 2014

    Displaying LiveWindow values

    Typically LiveWindows are displayed as part of the automatically generated RobotBuilder code. You may also display LiveWindow values by writing the code yourself and adding it to your robot program. LiveWindow will display values grouped in subsystems. This is a convenient method of displaying whether they are actual command based program subsystems or just a grouping that you decide to use in your program.

  • If you are using the command-based programming features of WPILib, you will find that they are very well integrated with SmartDashboard. It can help diagnose what the robot is doing at any time and it gives you control and a view of what's currently running.

  • Updated on: Sep 12, 2014

    Testing commands

    Commands represent robot behaviors such as moving an elevator to a position, collecting balls, shooting, or other tasks. It is desirable to test commands on the robot as they are written before combining them into more complex commands or incorporating them into other parts of the robot program. With a single line of code you can display commands on the SmartDashboard that appear as buttons that run the commands when pressed. This makes robot debugging a much simpler process than before.

  • Each value displayed with SmartDashboard has a a set of properties that effect the way it's displayed.

  • Updated on: Sep 12, 2014

    Driving a robot using Mecanum drive

    Mecanum drive is a method of driving using specially designed wheels that allow the robot to drive in any direction without changing the orientation of the robot. A robot with a conventional drivetrain (4 or six wheels) must turn in the direction it needs to drive. A mecanum robot can move in any direction without first turning and is called a holonomic drive.

    Manual RobotBuilder
  • A common use case is to have a joystick that should drive some actuators that are part of a subsystem. The problem is that the joystick is created in the OI class and the motors to be controlled are in the subsystem. The idea is to create a command that, when scheduled, reads input from the joystick and calls a method that is created on the subsystem that drives the motors.

    In this example a drive base subsystem is shown that is operated in tank drive using a pair of joysticks.

    Manual RobotBuilder
  • Updated on: Sep 12, 2014

    Setpoint command

    A common use case in robot programs is to drive an actuator to a particular angle or position that is measured using a potentiometer or encoder. This happens so often that there is a shortcut in RobotBuilder to do this task. It is called the Setpoint command and it's one of the choices on the palette or the right-click context menu that can be inserted under "Commands".

    Manual RobotBuilder