Пример #1
0
void SensorCalibration()
{
	char InitState = GetSensorInitState();
	char calibration_sensor = GetChar();
#ifdef OPTION_RC	
	TIMER_Enable(false); 
	RC_Enable(false);
#endif
	if((calibration_sensor=='a')&&(InitState&SENSOR_ACC)) {       // Do 'a'cc calibration
		AccCalibration();
	}
	else if((calibration_sensor=='g')&&(InitState&SENSOR_GYRO)) {// Do 'g'yro calibration 
		GyroCalibration();
	}
	else if((calibration_sensor=='m')&&(InitState&SENSOR_MAG)) { // Do 'g'yro calibration 
		MagCalibration();
		if(CalQFactor<MAG_CAL_SUCESS_TH)
		UpdateFlashCal(SENSOR_MAG, false);
		SensorInitMAG();
	}
	else                                                        // Fail doing calibration 
		CalibrationFail();
#ifdef OPTION_RC	
	TIMER_Enable(true);
	RC_Enable(true);
#endif
}
Пример #2
0
void SensorCalibration()
{
	char InitState = GetSensorInitState();
	char calibration_sensor = GetChar();
	TIMER_Enable(false);
	if((calibration_sensor=='a')&&(InitState&SENSOR_ACC))         // Do 'a'cc calibration
	{
		AccCalibration();
	}
	else if((calibration_sensor=='g')&&(InitState&SENSOR_GYRO))  // Do 'g'yro calibration
	{
		GyroCalibration();
	}
	else if((calibration_sensor=='m')&&(InitState&SENSOR_MAG))   // Do 'g'yro calibration
	{
		MagCalibration();
		UpdateFlashCal(SENSOR_MAG, false);
	}
	else                                                        	// Fail doing calibration
		CalibrationFail();
	
	TIMER_Enable(true);
}