Recent Updates
-
Updated on: Jun 02, 2015
Using the motor safety feature
Motor Safety is a mechanism in WPILib that takes the concept of a watchdog and breaks it out into one watchdog (Motor Safety timer) for each individual actuator. Note that this protection mechanism is in addition to the System Watchdog which is controlled by the Network Communications code and the FPGA and will disable all actuator outputs if it does not receive a valid data packet for 125ms.
Manual FRC C++ Programming -
Updated on: Jun 02, 2015
Repeatable Low Power Movement - Controlling Servos with WPILib
Servo motors are a type of motor which integrates positional feedback into the motor in order to allow a single motor to perform repeatable, controllable movement, taking position as the input signal. WPILib provides the capability to control servos which match the common hobby input specification (PWM signal, 1.0ms-2.0ms pulse width)
Manual FRC C++ Programming -
Updated on: Jun 02, 2015
Pointers and addresses
There are two ways of declaring an object variable: either as an instance of the object or a pointer to an instance of the object. In the former case the variable holds the object and the object is created (“instantiated”) at the same time. In the latter case the variable only has space to hold the address of the object. It takes another step to create the object instance using the new operator and assign its address to the variable.
Manual FRC C++ Programming -
Updated on: Apr 07, 2015
Setting robot preferences from SmartDashboard
The Robot Preferences class is used to store values in the flash memory on the roboRIO. The values might be for remembering preferences on the robot such as calibration settings for potentiometers, PID values, etc. that you would like to change without having to rebuild the program. The values can be viewed on the SmartDashboard and read and written by the robot program.
Manual SmartDashboard -
Updated on: Mar 24, 2015
Troubleshooting Dashboard Connectivity
We have received a number of reports of Dashboard connectivity issues from events. This document will help explain how to recognize if the Dashboard is not connected to your robot, steps to troubleshoot this condition and a code modification you can make
Manual Troubleshooting -
Updated on: Mar 05, 2015
Using the Axis Camera at Single Network Events
The 2015 convention for using the Axis camera uses mDNS with the camera name set to axis-camera.local At home this works fine as there is only one camera on the network. At official events, this works fine as each team is on their own VLAN and therefore doesn't have visibility to another team's camera. At an offseason using a single network, this will cause an issue where all teams will connect to whichever team's camera "wins" and becomes "axis-camera", the other cameras will see that the name is taken and use an alternative name. This article describes how to modify the Dashboard and/or robot code to use a different mDNS name to separate the camera streams.
Manual Vision Processing -
Updated on: Feb 09, 2015
RobotBuilder created code
Manual RobotBuilder -
Updated on: Feb 06, 2015
Analog inputs
The roboRIO Analog to Digital module has a number of features not available on simpler controllers. It will automatically sample the analog channels in a round robin fashion, providing a combined sample rate of 500 ks/s (500,000 samples / second). These channels can be optionally oversampled and averaged to provide the value that is used by the program. There are raw integer and floating point voltage outputs available in addition to the averaged values. The diagram below outlines this process.
Manual FRC C++ Programming -
Updated on: Feb 03, 2015
Using the LabVIEW Dashboard with C++\Java Code
The default LabVIEW Dashboard utilizes Network Tables to pass values and is therefore compatible with C++ and Java robot programs. This article covers the keys and value ranges to use to work with the Dashboard.
Manual FRC Driver Station -
Updated on: Jan 20, 2015
FRC Java WPILib API Documentation
Manual FRC Java Programming
