2019-08-25 23:55:59 -04:00
|
|
|
/*----------------------------------------------------------------------------*/
|
2020-11-28 17:01:56 -05:00
|
|
|
/* Copyright (c) 2019-2020 FIRST. All Rights Reserved. */
|
2019-08-25 23:55:59 -04:00
|
|
|
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
|
|
|
|
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
|
|
|
|
/* the project. */
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <frc2/command/CommandBase.h>
|
|
|
|
|
#include <frc2/command/CommandHelper.h>
|
|
|
|
|
|
|
|
|
|
#include "subsystems/DriveSubsystem.h"
|
|
|
|
|
|
|
|
|
|
class DriveDistance
|
|
|
|
|
: public frc2::CommandHelper<frc2::CommandBase, DriveDistance> {
|
|
|
|
|
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;
|
|
|
|
|
};
|