2020-12-26 14:12:05 -08:00
|
|
|
// Copyright (c) FIRST and other WPILib contributors.
|
|
|
|
|
// Open Source Software; you can modify and/or share it under the terms of
|
|
|
|
|
// the WPILib BSD license file in the root directory of this project.
|
2019-08-25 23:55:59 -04:00
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
2025-11-07 19:57:55 -05:00
|
|
|
#include <wpi/commands2/Command.hpp>
|
|
|
|
|
#include <wpi/commands2/CommandHelper.hpp>
|
2019-08-25 23:55:59 -04:00
|
|
|
|
2025-11-07 19:56:21 -05:00
|
|
|
#include "subsystems/DriveSubsystem.hpp"
|
2019-08-25 23:55:59 -04:00
|
|
|
|
2025-11-07 20:00:05 -05:00
|
|
|
class DriveDistance : public wpi::cmd::CommandHelper<wpi::cmd::Command, DriveDistance> {
|
2019-08-25 23:55:59 -04:00
|
|
|
public:
|
|
|
|
|
/**
|
|
|
|
|
* Creates a new DriveDistance.
|
|
|
|
|
*
|
|
|
|
|
* @param inches The number of inches the robot will drive
|
|
|
|
|
* @param speed The speed at which the robot will drive
|
|
|
|
|
* @param drive The drive subsystem on which this command will run
|
|
|
|
|
*/
|
|
|
|
|
DriveDistance(double inches, double speed, DriveSubsystem* subsystem);
|
|
|
|
|
|
|
|
|
|
void Initialize() override;
|
|
|
|
|
|
2020-11-28 17:01:56 -05:00
|
|
|
void Execute() override;
|
|
|
|
|
|
2019-08-25 23:55:59 -04:00
|
|
|
void End(bool interrupted) override;
|
|
|
|
|
|
|
|
|
|
bool IsFinished() override;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
DriveSubsystem* m_drive;
|
|
|
|
|
double m_distance;
|
|
|
|
|
double m_speed;
|
|
|
|
|
};
|