17 #include "test_routines.h"
22 #include "path_planning.h"
33 inline void runTest(
void)
37 case SEEK_BALL_TEST_MODE:
40 case FIXED_PATH_TEST_MODE:
43 case UPDATE_PATH_TEST_MODE:
46 case RUN_BOT_TEST_MODE:
53 void toggleTestMode(int8_t i)
57 if (testMode == NUM_TEST_MODES)
59 else if (testMode == 255)
60 testMode = NUM_TEST_MODES - 1;
64 case SEEK_BALL_TEST_MODE:
66 lcdWriteStr(
"Seek ball test ", 1, 0);
69 case FIXED_PATH_TEST_MODE:
71 lcdWriteStr(
"Fixed path test ", 1, 0);
74 case UPDATE_PATH_TEST_MODE:
76 lcdWriteStr(
"Update path test", 1, 0);
79 case RUN_BOT_TEST_MODE:
82 lcdWriteStr(
"Run bot. ", 1, 0);
88 void runFixedPath(
void )
92 tractorTurn(255, 64 - turnSubtract);
95 setServo(
LIFT, LIFT_OPEN);
97 setServo(
LIFT, LIFT_UP);
99 tractorTurn(255, 64 - turnSubtract);
103 setServo(
LIFT, LIFT_OPEN);
105 setServo(
LIFT, LIFT_UP);
108 tractorTurn(255, 64 - turnSubtract);
110 tractorTurn(255, -64 + turnSubtract);
112 tractorTurn(255, 64 - turnSubtract);
114 tractorTurn(255, -64 + turnSubtract);
116 tractorTurn(255, 64 - turnSubtract);
120 tractorTurn(255, 64 - turnSubtract);
122 tractorTurn(255, -64 + turnSubtract);
124 tractorTurn(255, 64 - turnSubtract);
132 tractorTurn(255, -64 + turnSubtract);
134 tractorTurn(255, 64 - turnSubtract);
136 tractorTurn(255, 64 - turnSubtract);
144 tractorTurn(255, -64 + turnSubtract);
146 tractorTurn(255, -64 + turnSubtract);
147 setServo(
LIFT, LIFT_OPEN);
149 setServo(
LIFT, LIFT_UP);
150 tractorTurn(255, 64 - turnSubtract);
152 tractorTurn(255, 64 - turnSubtract);
159 void seekBallTest(
void )
181 bool justTurned =
true;
184 botNode = tempTweak1;
185 botHeading = tempTweak2;
188 pathList[0] = botNode;
189 getNode(botNode, &node);
190 pathList[1] = getNodeAtHeading(&node, botHeading);
193 lcdWriteStr(
"Junction Code ", 0, 0);
194 lcdWriteStr(
"bn: bh: ", 1, 0);
195 lcdPrintDecU08(botNode, 1, 3);
196 lcdPrintDecS08(botHeading, 1, 9);
225 inline void refreshColorStats(
void )
228 lcdPrintHex(lineStats[0][MX_NDX], 0, 1);
229 lcdPrintHex(lineStats[0][MY_NDX], 0, 4);
230 lcdPrintHex(lineStats[0][X1_NDX], 0, 9);
231 lcdPrintHex(lineStats[0][Y1_NDX], 0, 12);
232 lcdPrintHex(lineStats[0][PIXEL_CNT_NDX], 1, 1);
233 lcdPrintHex(lineStats[0][CONFIDENCE_NDX], 1, 5);
234 lcdPrintHex(lineStats[0][X2_NDX], 1, 10);
235 lcdPrintHex(lineStats[0][Y2_NDX], 1, 13);
240 inline void clearColorStats(
void )
243 lcdWriteStr(
" ", 0, 1);
244 lcdWriteStr(
" ", 0, 4);
245 lcdWriteStr(
" ", 0, 9);
246 lcdWriteStr(
" ", 0, 12);
247 lcdWriteStr(
" ", 1, 1);
248 lcdWriteStr(
" ", 1, 5);
249 lcdWriteStr(
" ", 1, 10);
250 lcdWriteStr(
" ", 1, 13);
255 inline void labelColorStats(
void )
258 lcdWriteStr(
"( , ) ( , ) ", 0, 0);
259 lcdWriteStr(
"p c ( , )", 1, 0);
264 void updatePathTest(
void )
298 addToGoalList(tempTweak1);
299 addToGoalList(tempTweak2);
300 addToGoalList(tempTweak3);
305 lcdWriteStr(
" ", 1, 0);
306 lcdPrintDecU08(updatePath(), 1, 0);
316 void printPathList(
void )
319 lcdPrintDecU08(botNode, 1, 0);
320 lcdPrintDecS08(botHeading, 1, 3);
321 lcdPrintDecU08(pathListIndex, 1, 6);
326 lcdWriteStr(
"Printing... ", 0, 0);
330 for (i = pathListIndex; i < MAX_PATH_LIST_SIZE; i++)
335 lcdWriteStr(
" ", 0, 0);
338 lcdPrintDecU08(pathList[i], 0, 3 * (i % 5));