2024-Robot
Robot code for 2024 FRC season by Argos, FRC team #1756
Loading...
Searching...
No Matches
climber_subsystem.h
Go to the documentation of this file.
1
4
5#pragma once
7#include <frc2/command/SubsystemBase.h>
8#include <units/length.h>
9
10#include <ctre/phoenix6/TalonFX.hpp>
11#include <ctre/phoenix6/configs/Configs.hpp>
12
13class ClimberSubsystem : public frc2::SubsystemBase {
14 public:
15 explicit ClimberSubsystem(argos_lib::RobotInstance robotInstance);
16
20 void Periodic() override;
21
22 void UpdateClimberHome();
23
24 [[nodiscard]] bool IsClimberHomed() const;
25
26 [[nodiscard]] bool IsClimberManualOverride() const;
27
28 units::inch_t GetClimberExtension();
29
30 [[nodiscard]] bool IsClimberMoving();
31
32 void SetHomeFailed(bool failed);
33
34 [[nodiscard]] bool GetHomeFailed() const;
35
36 void ClimberMove(double speed, bool force = false);
37
38 void SetHeight(units::inch_t height);
39
40 void SetClimberManualOverride(bool state);
41
42 void Disable();
43
44 void Stop();
45
47
48 private:
49 // Components (e.g. motor controllers and sensors) should generally be
50 // declared private and exposed only through public methods.
51 ctre::phoenix6::hardware::TalonFX m_primaryMotor;
52 ctre::phoenix6::hardware::TalonFX m_secondaryMotor;
57
60};
Definition climber_subsystem.h:13
void SetHeight(units::inch_t height)
Definition climber_subsystem.cpp:46
void SetHomeFailed(bool failed)
Definition climber_subsystem.cpp:65
void DisableClimberSoftLimits()
Definition climber_subsystem.cpp:112
bool m_climberHomeFailed
Definition climber_subsystem.h:55
bool GetHomeFailed() const
Definition climber_subsystem.cpp:72
bool IsClimberManualOverride() const
Definition climber_subsystem.cpp:88
void ClimberMove(double speed, bool force=false)
Definition climber_subsystem.cpp:40
bool m_climberHomed
Definition climber_subsystem.h:54
bool IsClimberAtSetPoint()
Definition climber_subsystem.cpp:119
units::inch_t GetClimberExtension()
Definition climber_subsystem.cpp:80
ctre::phoenix6::hardware::TalonFX m_secondaryMotor
Definition climber_subsystem.h:52
ctre::phoenix6::hardware::TalonFX m_primaryMotor
Definition climber_subsystem.h:51
void Periodic() override
Definition climber_subsystem.cpp:38
argos_lib::RobotInstance m_robotInstance
Definition climber_subsystem.h:53
bool IsClimberMoving()
Definition climber_subsystem.cpp:61
void EnableClimberSoftLimits()
Definition climber_subsystem.cpp:99
bool m_climberManualOverride
Definition climber_subsystem.h:56
void Stop()
Definition climber_subsystem.cpp:84
void Disable()
Definition climber_subsystem.cpp:57
bool IsClimberHomed() const
Definition climber_subsystem.cpp:76
void UpdateClimberHome()
Definition climber_subsystem.cpp:92
void SetClimberManualOverride(bool state)
Definition climber_subsystem.cpp:53
RobotInstance
Differentiates between practice robot and competition robot.
Definition config_types.h:13