void GyroCalibration() { const char axis_done = GetChar(); const char axis = axis_done - 0x78; const char calibration_done = 'd'; signed char status; nvtCalGyroInit(axis); do { SensorsRead(SENSOR_GYRO,1); #ifndef OPTION_RC DelayMsec(5); #else DelayMsec(16); #endif //printf("T:%d\n",getTickCount()); status=nvtGyroScaleCalibrate(axis); led_arm_state(LED_STATE_TOGGLE); UpdateLED(); } while(status==STATUS_GYRO_CAL_RUNNING); if(status==STATUS_GYRO_AXIS_CAL_DONE) Serial_write((char*)&axis_done, 1); else { Serial_write((char*)&calibration_done, 1); UpdateFlashCal(SENSOR_GYRO, false); } }
void GyroCalibration() { const char axis_done = GetChar(); const char axis = axis_done - 0x78; const char calibration_done = 'd'; signed char status; nvtCalGyroInit(axis); do { SensorsRead(SENSOR_GYRO,1); DelayMsec(16); status=nvtGyroScaleCalibrate(axis); } while(status==STATUS_GYRO_CAL_RUNNING); if(status==STATUS_GYRO_AXIS_CAL_DONE) Serial_write((char*)&axis_done, 1); else { Serial_write((char*)&calibration_done, 1); UpdateFlashCal(SENSOR_GYRO, false); } }