Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 1774 → Rev 1775

/branches/dongfang_FC_rewrite/ENC-03_FC1.3.c
25,20 → 25,20
for (axis=PITCH; axis<=YAW; axis++) {
if (axis==YAW) factor = GYRO_SUMMATION_FACTOR_YAW;
else factor = GYRO_SUMMATION_FACTOR_PITCHROLL;
 
if(rawGyroSum[axis] < factor * 510) DACValues[axis]--;
else if(rawGyroSum[axis] > limit * 515) DACValues[axis]++;
else numberOfAxesInRange++;
else factor = GYRO_SUMMATION_FACTOR_PITCHROLL;
if(rawGyroSum[axis] < 510 * factor) DACValues[axis]--;
else if(rawGyroSum[axis] > 515 * factor) DACValues[axis]++;
else numberOfAxesInRange++;
/* Gyro is defective. But do keep DAC within bounds (it's an op amp not a differential amp).
if(DACValues[axis] < 10) {
DACValues[axis] = 10;
} else if(DACValues[axis] > 245) {
DACValues[axis] = 245;
}
/* Gyro is defective. But do keep DAC within bounds (it's an op amp not a differential amp). */
if(DACValues[axis] < 10) {
DACValues[axis] = 10;
} else if(DACValues[axis] > 245) {
DACValues[axis] = 245;
}
}
 
I2C_Start(TWI_STATE_GYRO_OFFSET_TX); // initiate data transmission
// Wait for I2C to finish transmission.
46,12 → 46,12
// Did it take too long?
if(CheckDelay(timeout)) {
printf("\r\n DAC or I2C Error! check I2C, 3Vref, DAC, and BL-Ctrl");
break;
break;
}
}
 
analog_start();
 
Delay_ms_Mess(i<10 ? 10 : 2);
}
Delay_ms_Mess(70);
59,9 → 59,9
 
void gyro_setDefaults(void) {
staticParams.GyroD = 3;
staticParams.DriftComp = 100;
staticParams.GyroAccFactor = 1;
staticParams.GyroAccTrim = 5;
staticParams.DriftComp = 250;
staticParams.GyroAccFactor = 10;
staticParams.GyroAccTrim = 1;
 
// Not used.
staticParams.AngleTurnOverPitch = 85;