/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; |