class wpilib.Victor(channel)[source]

Bases: wpilib.SafePWM

VEX Robotics Victor 888 Speed Controller via PWM

The Vex Robotics Victor 884 Speed Controller can also be used with this class but may need to be calibrated per the Victor 884 user manual.


The Victor uses the following bounds for PWM values. These values were determined empirically and optimized for the Victor 888. These values should work reasonably well for Victor 884 controllers also but if users experience issues such as asymmetric behaviour around the deadband or inability to saturate the controller in either direction, calibration is recommended. The calibration procedure can be found in the Victor 884 User Manual available from VEX Robotics:

  • 2.027ms = full “forward”
  • 1.525ms = the “high end” of the deadband range
  • 1.507ms = center of the deadband range (off)
  • 1.49ms = the “low end” of the deadband range
  • 1.026ms = full “reverse”


Parameters:channel (int) – The PWM channel that the Victor is attached to. 0-9 are on-board, 10-19 are on the MXP port

Get the recently set value of the PWM.

Returns:The most recently set value for the PWM between -1.0 and 1.0.
Return type:float

Write out the PID value as seen in the PIDOutput base object.

Parameters:output (float) – Write out the PWM value as was found in the PIDController.
set(speed, syncGroup=0)[source]

Set the PWM value.

The PWM value is set using a range of -1.0 to 1.0, appropriately scaling the value for the FPGA.

  • speed (float) – The speed to set. Value should be between -1.0 and 1.0.
  • syncGroup – The update group to add this set to, pending updateSyncGroup(). If 0, update immediately.