Exemple #1
0
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();
                    }
                }
            }
        }
    }
}
Exemple #2
0
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);
}