Subversion Repositories FlightCtrl

Rev

Rev 412 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 412 Rev 413
Line 77... Line 77...
77
//############################################################################
77
//############################################################################
78
{
78
{
79
        static char tmp;
79
        static char tmp;
80
        int wert;
80
        int wert;
Line 81... Line 81...
81
 
81
 
82
        if (MM3.STATE == MM3_DRDY)      // 1. Byte ist da, zwischenspeichern
82
        switch (MM3.STATE)
-
 
83
        {
83
        {
84
        case MM3_DRDY:          // 1. Byte ist da, zwischenspeichern
84
                tmp = SPDR;
85
                tmp = SPDR;
85
                SPDR = 0x00;     // Übertragung von 2. Byte auslösen
86
                SPDR = 0x00;    // Übertragung von 2. Byte auslösen
86
                MM3.STATE = MM3_BYTE2;
87
                MM3.STATE = MM3_BYTE2;
87
                return;
-
 
88
        }
88
                return;
89
       
89
               
90
        else //if  (MM3.STATE == MM3_BYTE2)     // 2. Byte der entsprechenden Achse ist da
90
        case MM3_BYTE2:         // 2. Byte der entsprechenden Achse ist da
91
        {
91
                wert = tmp;
-
 
92
                wert <<= 8;             // 1. Byte an MSB-Stelle rücken
Line 92... Line 93...
92
                wert = SPDR | tmp << 8;                 // 1. Byte an MSB-Stelle rücken und 2. Byte dranpappen
93
                wert |= SPDR;   // 2. Byte dranpappen
93
               
94
               
94
                if(abs(wert) < Max_Axis_Value)          // Spikes filtern. Zuweisung nur, wenn Max-Wert nicht überschritten
95
                if(abs(wert) < Max_Axis_Value)          // Spikes filtern. Zuweisung nur, wenn Max-Wert nicht überschritten
95
                switch(MM3.AXIS)
96
                switch (MM3.AXIS)
96
                {
97
                {
97
                case MM3_X:
98
                case MM3_X:
98
                        MM3.x_axis = wert;
99
                        MM3.x_axis = wert;
Line 104... Line 105...
104
                        break;
105
                        break;
105
                default:
106
                default:
106
                        MM3.z_axis = wert;
107
                        MM3.z_axis = wert;
107
                        MM3.AXIS = MM3_X;
108
                        MM3.AXIS = MM3_X;
108
                }
109
                }
-
 
110
               
109
        MM3.STATE = MM3_RESET;
111
                MM3.STATE = MM3_RESET;
110
        }
112
        }
111
}
113
}
Line 112... Line 114...
112
 
114
 
113
//############################################################################
115
//############################################################################