How to stop servos

Does anyone know how to stop a continuous mode gobilda servo? I can only find out how to stop it in servo mode. Coded it wrong, Messed up BIG at meet. Thanks

A continuous rotation servo is effectively a motor and is modeled as such in the SDK.

Take a look at the CRServo class which extends DcMotorSimple.

https://javadoc.io/doc/org.firstinspires.ftc/RobotCore/latest/com/qualcomm/robotcore/hardware/CRServo.html
https://javadoc.io/doc/org.firstinspires.ftc/RobotCore/latest/com/qualcomm/robotcore/hardware/DcMotorSimple.html

To which the answer is calling setPower(0.0) on the instance.

This note assumes you are programming in FTC Blocks, and that the goBILDA or REV servo programming device was used to set the servo to act as a Continuous Rotation (CR) servo.

Please note that the FTC Blocks menu offers commands for only the devices listed in the active configuration. This could be why you can “only find … servo mode”. A conventional “Servo” is controlled with Position, not the same as “CR Servo” which is controlled with Power (speed).

So, confirm that the servo is configured as the correct type. On the Driver Station (DS), connected via Wi-Fi to the Control Hub, touch 3-dots and Configure Robot. For that servo’s drop-down menu, choose “Continuous Rotation Servo” (not “Servo”).

Then touch Done several times and Save that configuration. At the Driver Station main screen, wait for the completion of “Restart Robot” (automatic after configuring). The active configuration’s name (that you just saved) will be shown on the DS screen.

After this, re-open your FTC Blocks OpMode. Now you will see commands for CR Servo, rather than commands only for Servo.

Stopping a CR Servo is done by setting its Power to zero.

Good luck!

1 Like