Subversion Repositories FlightCtrl

Compare Revisions

Ignore whitespace Rev 412 → Rev 413

/branches/v0.60_MicroMag3_Nick666/trunc/compass.c
79,20 → 79,21
static char tmp;
int wert;
 
if (MM3.STATE == MM3_DRDY) // 1. Byte ist da, zwischenspeichern
switch (MM3.STATE)
{
case MM3_DRDY: // 1. Byte ist da, zwischenspeichern
tmp = SPDR;
SPDR = 0x00; // Übertragung von 2. Byte auslösen
SPDR = 0x00; // Übertragung von 2. Byte auslösen
MM3.STATE = MM3_BYTE2;
return;
}
else //if (MM3.STATE == MM3_BYTE2) // 2. Byte der entsprechenden Achse ist da
{
wert = SPDR | tmp << 8; // 1. Byte an MSB-Stelle rücken und 2. Byte dranpappen
case MM3_BYTE2: // 2. Byte der entsprechenden Achse ist da
wert = tmp;
wert <<= 8; // 1. Byte an MSB-Stelle rücken
wert |= SPDR; // 2. Byte dranpappen
if(abs(wert) < Max_Axis_Value) // Spikes filtern. Zuweisung nur, wenn Max-Wert nicht überschritten
switch(MM3.AXIS)
switch (MM3.AXIS)
{
case MM3_X:
MM3.x_axis = wert;
106,7 → 107,8
MM3.z_axis = wert;
MM3.AXIS = MM3_X;
}
MM3.STATE = MM3_RESET;
MM3.STATE = MM3_RESET;
}
}