Ejemplo n.º 1
0
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);
	}
}
Ejemplo n.º 2
0
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);
	}
}