Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 733 → Rev 734

/branches/MicroMag3_Nick666/trunc/compass.c
63,7 → 63,7
else if (MM3.AXIS == MM3_Y) SPDR = MM3_PERIOD_512 + MM3_Y_AXIS; // Micromag Period Select ist 256 (0x30)
else SPDR = MM3_PERIOD_512 + MM3_Z_AXIS; //if (MM3.AXIS == MM3_Z)
MM3.DRDY = SetDelay(10); // Laut Datenblatt max. Zeit bis Messung fertig (bei PS 256 eigentlich 4 ms)
MM3.DRDY = SetDelay(10); // Laut Datenblatt max. Zeit bis Messung fertig (bei PS 512 eigentlich 8 ms)
MM3.STATE = MM3_WAIT_DRDY;
return;
110,7 → 110,7
MM3.z_axis = value;
MM3.AXIS = MM3_X;
}
PORTC |= (1<<PORTC4); // MM3 passiv
PORTC |= (1<<PC4); // MM3 passiv
MM3.STATE = MM3_RESET;
}
}
/branches/MicroMag3_Nick666/trunc/fc.c
903,7 → 903,7
{
updKompass = 50;
if ((MaxStickNick < 40) && (MaxStickRoll < 40)) // Bei extremen Flugmanövern keine Kompassauswertung
if ((MaxStickNick < 50) && (MaxStickRoll < 50)) // Bei extremen Flugmanövern keine Kompassauswertung
{
KompassValue = heading_MM3();
KompassRichtung = ((540 + KompassValue - KompassStartwert) % 360) - 180;
914,6 → 914,7
}
Mess_Integral_Gier += (KompassRichtung *Parameter_KompassWirkung); // nach Kompass ausrichten
}
else beeptime = 50;
}
}
 
/branches/MicroMag3_Nick666/trunc/mymath.c
37,7 → 37,7
i = abs(y / x); // Berechne i für die Lookup table (Schrittweite atan(x) ist 0,015625 -> y *64)
 
if (i<346) angle = pgm_read_byte(&pgm_atan[i]); // Lookup für 1° bis 79°
else if (i>7334) angle = 90; // Grenzwert ist 90°
else if (i>7333) angle = 90; // Grenzwert ist 90°
else if (i>2444) angle = 89; // 89° bis 80° über Wertebereiche
else if (i>1465) angle = 88;
else if (i>1046) angle = 87;