2
2
3
3
#include " hardware.h"
4
4
#include < algorithm>
5
+ #include < map>
6
+
5
7
6
8
using namespace vex ;
7
9
using std::max;
8
10
using std::min;
11
+ using std::map;
9
12
10
13
brain Brain;
11
14
controller Controller;
@@ -106,8 +109,15 @@ void robotlift(int lift) {
106
109
void updateClampState (bool close) {
107
110
static ClampState clampStatus = ClampState::Start;
108
111
static double startTimeSec = 0 ;
112
+ map<ClampState, const char *> stateNames = {
113
+ {ClampState::Start, " Start" },
114
+ {ClampState::Opening, " Opening" },
115
+ {ClampState::FullyOpen, " Fully open" },
116
+ {ClampState::Closing, " Closing" },
117
+ {ClampState::FullyClosed, " FullyClosed" }
118
+ };
109
119
Controller.Screen .setCursor (1 ,1 );
110
- Controller.Screen .print (" Limit = %d" , ClampLimit.value ());
120
+ Controller.Screen .print (" %s: Limit = %d " , stateNames[clampStatus] , ClampLimit.value ());
111
121
switch (clampStatus) {
112
122
case ClampState::Start:
113
123
startTimeSec = Brain.timer (vex::timeUnits::sec);
@@ -119,7 +129,7 @@ void updateClampState(bool close) {
119
129
break ;
120
130
121
131
case ClampState::Opening:
122
- Clamp.spin (vex::directionType::rev , CLAMP_VELOCITY_PCT, pct);
132
+ Clamp.spin (vex::directionType::fwd , CLAMP_VELOCITY_PCT, pct);
123
133
if (Brain.timer (vex::timeUnits::sec) >= OPEN_CLAMP_TIMEOUT_SEC + startTimeSec || ClampLimit.value () > 0 ) {
124
134
clampStatus = ClampState::FullyOpen;
125
135
} else if (close == true ) {
@@ -130,7 +140,7 @@ void updateClampState(bool close) {
130
140
break ;
131
141
132
142
case ClampState::Closing:
133
- Clamp.spin (vex::directionType::fwd , CLAMP_VELOCITY_PCT, pct);
143
+ Clamp.spin (vex::directionType::rev , CLAMP_VELOCITY_PCT, pct);
134
144
if (Brain.timer (vex::timeUnits::sec) >= CLOSE_CLAMP_TIMEOUT_SEC + startTimeSec) {
135
145
clampStatus = ClampState::FullyClosed;
136
146
} else if (close == false ) {
0 commit comments