2024-Robot
Robot code for 2024 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
elevator_subsystem.h
Go to the documentation of this file.
1
4
5#pragma once
6
8#include <frc2/command/SubsystemBase.h>
9#include <units/angle.h>
10#include <units/length.h>
11
12#include <ctre/phoenix6/TalonFX.hpp>
13
14class ElevatorSubsystem : public frc2::SubsystemBase {
15 public:
16 explicit ElevatorSubsystem(argos_lib::RobotInstance robotInstance);
17
21 void Periodic() override;
22
23 void ElevatorMove(double speed);
24
25 void Pivot(double speed);
26
27 void Disable();
28
29 void ElevatorMoveToHeight(units::inch_t height);
30
31 void SetElevatorLiftManualOverride(bool desiredOverrideState);
32
33 [[nodiscard]] bool GetElevatorLiftManualOverride() const;
34
35 void SetCarriageAngle(units::degree_t carriageAngle);
36
37 [[nodiscard]] bool IsCarriageMotorManualOverride() const;
38
39 void SetCarriageMotorManualOverride(bool overrideState);
40
41 [[nodiscard]] units::inch_t GetElevatorHeight();
42
43 [[nodiscard]] bool IsLiftAtSetPoint();
44
45 [[nodiscard]] bool IsCarriageAtSetPoint();
46
47 [[nodiscard]] bool IsElevatorAtSetPoint();
48
49 private:
50 // Components (e.g. motor controllers and sensors) should generally be
51 // declared private and exposed only through public methods.
52 ctre::phoenix6::hardware::TalonFX m_primaryMotor;
53 // ctre::phoenix6::hardware::TalonFX m_secondaryMotor;
54 ctre::phoenix6::hardware::TalonFX m_carriageMotor;
64};
Definition elevator_subsystem.h:14
void SetCarriageMotorManualOverride(bool overrideState)
Definition elevator_subsystem.cpp:88
units::inch_t GetElevatorHeight()
Definition elevator_subsystem.cpp:96
void SetCarriageAngle(units::degree_t carriageAngle)
Definition elevator_subsystem.cpp:81
void EnableCarriageSoftLimits()
Definition elevator_subsystem.cpp:157
ctre::phoenix6::hardware::TalonFX m_carriageMotor
Definition elevator_subsystem.h:54
bool IsElevatorAtSetPoint()
Definition elevator_subsystem.cpp:134
void SetElevatorLiftManualOverride(bool desiredOverrideState)
Definition elevator_subsystem.cpp:73
bool m_elevatorHomed
Definition elevator_subsystem.h:58
bool IsCarriageAtSetPoint()
Definition elevator_subsystem.cpp:117
void ElevatorMove(double speed)
Definition elevator_subsystem.cpp:48
void ElevatorMoveToHeight(units::inch_t height)
Definition elevator_subsystem.cpp:65
bool m_elevatorManualOverride
Definition elevator_subsystem.h:56
ctre::phoenix6::hardware::TalonFX m_primaryMotor
Definition elevator_subsystem.h:52
argos_lib::RobotInstance m_robotInstance
Definition elevator_subsystem.h:55
void Disable()
Definition elevator_subsystem.cpp:60
bool GetElevatorLiftManualOverride() const
Definition elevator_subsystem.cpp:77
void DisableElevatorSoftLimits()
Definition elevator_subsystem.cpp:150
void EnableElevatorSoftLimits()
Definition elevator_subsystem.cpp:137
bool IsLiftAtSetPoint()
Definition elevator_subsystem.cpp:100
bool m_carriageHomed
Definition elevator_subsystem.h:59
void Pivot(double speed)
Definition elevator_subsystem.cpp:54
bool IsCarriageMotorManualOverride() const
Definition elevator_subsystem.cpp:92
bool m_carriageMotorManualOverride
Definition elevator_subsystem.h:57
void Periodic() override
Definition elevator_subsystem.cpp:46
void DisableCarriageSoftLimits()
Definition elevator_subsystem.cpp:170
RobotInstance
Differentiates between practice robot and competition robot.
Definition config_types.h:13