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 }
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); }