4 #include "../Config/Configurable.h"
5 #include "../Components/Climber.h"
6 #include "../ComponentData/ClimberData.h"
7 #include "../ComponentData/ShooterData.h"
8 #include "../ComponentData/ComponentData.h"
9 #include "../Process/AsyncProcess.h"
10 #include "../Sensors/IMU.h"
13 using namespace data::climber;
18 COMMUNICATION_ERROR = 0x20,
19 WINCH_PAWL_TIMEOUT = 0x30,
20 WINCH_PAWL_OVER_CURRENT = 0x40,
25 ABORT_NEXT_LEVEL = 0x00,
32 static AutoClimb* Instance();
43 void ClimbOneLevel(
bool force=
false);
46 void UserAbort(
bool force=
false, ABORT_MODE severity=ABORT_NEXT_LEVEL);
48 static AutoClimb* m_instance;
50 void AbortClimb(ABORT_CODE errorCode,
bool force=
false, ABORT_MODE severity=ABORT_NEXT_LEVEL);
55 bool m_climbRequested;
60 double m_winchPawlAbortThreshold;
61 double m_winchPawlClimbThreshold;
64 ClimberData* m_climber;