There are actually three wait for roadrunner blocks in fetchAndScore. The flag we added to skip some of them isn't quite right, and it's still checking more than we want it to. Here's what fetchAndScore has now:
Check 1 is before the lift raises so the drive motion can complete correctly, and is currently unconditional
Check 2 is before the cone is dropped, and is conditional on the correctPositionAlways option flag.
Check 3 is before the cone is grabbed, and is conditional on the correctPositionAlways option flag.
None of them read the waitForRoadrunner argument, which is meant to indicate the first time the function is called.
Check 1 needs to be conditional upon waitForRoadrunner, so that it only checks the first time when we are finishing driving.
Check 2 is good, and should remain conditional based on the option mode.
Check 3 is redundant because it happens so soon after Check 2, and should be removed.
There are actually three wait for roadrunner blocks in fetchAndScore. The flag we added to skip some of them isn't quite right, and it's still checking more than we want it to. Here's what fetchAndScore has now:
Check 1 is before the lift raises so the drive motion can complete correctly, and is currently unconditional Check 2 is before the cone is dropped, and is conditional on the correctPositionAlways option flag. Check 3 is before the cone is grabbed, and is conditional on the correctPositionAlways option flag.
None of them read the waitForRoadrunner argument, which is meant to indicate the first time the function is called.
Check 1 needs to be conditional upon waitForRoadrunner, so that it only checks the first time when we are finishing driving. Check 2 is good, and should remain conditional based on the option mode. Check 3 is redundant because it happens so soon after Check 2, and should be removed.