int main() { int isNormal; setVariables(); while (1) { calibrateInit(); displayCalibrate(); if(isCalibrated(&gAccRead)) { standbyInit(); countDown(); while(1) { if (resetFlag) break; sendReadySignal(); runTemp(&isNormal); if (isSafe && isNormal && hasEstablished) { initActive(); while(1) { int freq = calculateFreq(); runActive(freq); runTemp(&isNormal); if (resetFlag) break; if(isMayDay) { switchDisplayToMayDay(); break; } if(!isNormal || !isSafe || standbyFlag) { standbyFlag = 0; switchDisplayToStandby(); countDown(); break; } } if(resetFlag) { switchDisplayToCalibrate(); break; } if(isMayDay) { initMayDay(); runMayDay(); initLight(); switchDisplayToStandby(); countDown(); } } } } } }
bool Video::getNextFrame(cv::Mat &frame){ if(!check_cap()){ return false; } if(cap.read(frame)){ if(isCalibrated()){ frame = cam->undistort(frame); } applyDrawables(frame); return true; } else{ return false; } }
xpcc::co::Result<bool> task::Mechanics::rotateForward() { CO_BEGIN(); if (!isCalibrated()) CO_RETURN(false); startMotors(); xMotor.rotateBy(-3600, 10000); CO_WAIT_WHILE(xMotor.isRunning()); zMotor.rotateBy(3600, 10000); CO_WAIT_WHILE(zMotor.isRunning()); leds.resetBusy(); isCalibratedX = false; isCalibratedZ = false; CO_END_RETURN(true); }