Rev 260 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 260 | Rev 261 | ||
---|---|---|---|
Line 58... | Line 58... | ||
58 | MM3.STATE = MM3_WAIT_DRDY; |
58 | MM3.STATE = MM3_WAIT_DRDY; |
59 | break; |
59 | break; |
Line 60... | Line 60... | ||
60 | 60 | ||
61 | case MM3_WAIT_DRDY: |
61 | case MM3_WAIT_DRDY: |
62 | if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei |
62 | if (CheckDelay(MM3.DRDY)) {SPDR = 0x00;MM3.STATE = MM3_DRDY;} // Irgendwas ins SPDR, damit Übertragung ausgelöst wird, wenn Wartezeit vorbei |
Line -... | Line 63... | ||
- | 63 | break; // Jetzt gehts weiter in SIGNAL (SIG_SPI) |
|
- | 64 | ||
- | 65 | case MM3_TILT: // Zeitnahe Speicherung der aktuellen Neigung in ° |
|
- | 66 | MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8); |
|
63 | break; |
67 | MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8); |
64 | 68 | MM3.AXIS = MM3_X; |
|
65 | case MM3_IDLE: |
69 | MM3.STATE = MM3_RESET; |
66 | break; |
70 | break; |
Line 82... | Line 86... | ||
82 | if (MM3.AXIS == MM3_Z) {MM3.z_axis=SPDR; MM3.z_axis<<=8; SPDR=0x00; MM3.STATE=MM3_Z_BYTE2; break;} |
86 | if (MM3.AXIS == MM3_Z) {MM3.z_axis=SPDR; MM3.z_axis<<=8; SPDR=0x00; MM3.STATE=MM3_Z_BYTE2; break;} |
Line 83... | Line 87... | ||
83 | 87 | ||
84 | case MM3_X_BYTE2: // 2. Byte der entsprechenden Achse ist da. |
88 | case MM3_X_BYTE2: // 2. Byte der entsprechenden Achse ist da. |
85 | MM3.x_axis |= SPDR; |
89 | MM3.x_axis |= SPDR; |
86 | MM3.x_axis -= OFF_X; // Sofort Offset aus der Kalibrierung berücksichtigen |
- | |
87 | MM3.NickGrad = IntegralNick/(EE_Parameter.UserParam1*8); // Zeitnahe Speicherung der aktuellen Neigung in ° |
90 | MM3.x_axis -= OFF_X; // Sofort Offset aus der Kalibrierung berücksichtigen |
88 | MM3.AXIS = MM3_Y; |
91 | MM3.AXIS = MM3_Y; |
89 | MM3.STATE = MM3_RESET; |
92 | MM3.STATE = MM3_RESET; |
Line 90... | Line 93... | ||
90 | break; |
93 | break; |
91 | 94 | ||
92 | case MM3_Y_BYTE2: |
95 | case MM3_Y_BYTE2: |
93 | MM3.y_axis |= SPDR; |
- | |
94 | MM3.y_axis -= OFF_Y; |
96 | MM3.y_axis |= SPDR; |
95 | MM3.RollGrad = IntegralRoll/(EE_Parameter.UserParam2*8); // Zeitnahe Speicherung der aktuellen Neigung in ° |
97 | MM3.y_axis -= OFF_Y; |
96 | MM3.AXIS = MM3_Z; |
98 | MM3.AXIS = MM3_Z; |
Line 97... | Line 99... | ||
97 | MM3.STATE = MM3_RESET; |
99 | MM3.STATE = MM3_RESET; |
98 | break; |
100 | break; |
99 | 101 | ||
100 | case MM3_Z_BYTE2: |
- | |
101 | MM3.z_axis |= SPDR; |
102 | case MM3_Z_BYTE2: |
102 | MM3.z_axis -= OFF_Z; |
103 | MM3.z_axis |= SPDR; |
103 | MM3.AXIS = MM3_X; |
104 | MM3.z_axis -= OFF_Z; |
104 | MM3.STATE = MM3_RESET; |
105 | MM3.STATE = MM3_TILT; |
Line 105... | Line 106... | ||
105 | break; |
106 | break; |