Rev 279 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 279 | Rev 280 | ||
---|---|---|---|
Line 77... | Line 77... | ||
77 | SIGNAL (SIG_SPI) |
77 | SIGNAL (SIG_SPI) |
78 | //############################################################################ |
78 | //############################################################################ |
79 | { |
79 | { |
80 | switch (MM3.STATE) |
80 | switch (MM3.STATE) |
81 | { |
81 | { |
82 | case MM3_DRDY: |
- | |
83 | // 1. Byte ist da, abspeichern, an die MSB-Stelle rücken und Übertragung von 2. Byte auslösen |
82 | case MM3_DRDY: // 1. Byte ist da, abspeichern, an die MSB-Stelle rücken |
84 | if (MM3.AXIS == MM3_X) {MM3.x_axis=SPDR; MM3.x_axis<<=8; SPDR=0x00; MM3.STATE=MM3_X_BYTE2; return;} |
83 | if (MM3.AXIS == MM3_X) |
- | 84 | { |
|
- | 85 | MM3.x_axis = SPDR; |
|
- | 86 | MM3.x_axis <<= 8; |
|
- | 87 | } |
|
- | 88 | else if (MM3.AXIS == MM3_Y) |
|
- | 89 | { |
|
- | 90 | MM3.y_axis = SPDR; |
|
- | 91 | MM3.y_axis <<= 8; |
|
- | 92 | } |
|
85 | if (MM3.AXIS == MM3_Y) {MM3.y_axis=SPDR; MM3.y_axis<<=8; SPDR=0x00; MM3.STATE=MM3_Y_BYTE2; return;} |
93 | else // if (MM3.AXIS == MM3_Z) |
- | 94 | { |
|
- | 95 | MM3.z_axis = SPDR; |
|
- | 96 | MM3.z_axis <<= 8; |
|
- | 97 | } |
|
- | 98 | ||
86 | if (MM3.AXIS == MM3_Z) {MM3.z_axis=SPDR; MM3.z_axis<<=8; SPDR=0x00; MM3.STATE=MM3_Z_BYTE2; return;} |
99 | SPDR=0x00; // Übertragung von 2. Byte auslösen |
- | 100 | MM3.STATE=MM3_BYTE2; |
|
- | 101 | return; |
|
Line 87... | Line 102... | ||
87 | 102 | ||
- | 103 | case MM3_BYTE2: // 2. Byte der entsprechenden Achse ist da |
|
- | 104 | if (MM3.AXIS == MM3_X) |
|
88 | case MM3_X_BYTE2: // 2. Byte der entsprechenden Achse ist da. |
105 | { |
89 | MM3.x_axis |= SPDR; |
106 | MM3.x_axis |= SPDR; |
90 | MM3.x_axis -= OFF_X; // Sofort Offset aus der Kalibrierung berücksichtigen |
107 | MM3.x_axis -= OFF_X; // Sofort Offset aus der Kalibrierung berücksichtigen |
91 | MM3.AXIS = MM3_Y; |
108 | MM3.AXIS = MM3_Y; |
92 | MM3.STATE = MM3_RESET; |
- | |
93 | return; |
109 | MM3.STATE = MM3_RESET; |
94 | 110 | } |
|
- | 111 | else if (MM3.AXIS == MM3_Y) |
|
95 | case MM3_Y_BYTE2: |
112 | { |
96 | MM3.y_axis |= SPDR; |
113 | MM3.y_axis |= SPDR; |
97 | MM3.y_axis -= OFF_Y; |
114 | MM3.y_axis -= OFF_Y; |
98 | MM3.AXIS = MM3_Z; |
115 | MM3.AXIS = MM3_Z; |
99 | MM3.STATE = MM3_RESET; |
116 | MM3.STATE = MM3_RESET; |
- | 117 | } |
|
100 | return; |
118 | else // if (MM3.AXIS == MM3_Z) |
101 | - | ||
102 | case MM3_Z_BYTE2: |
119 | { |
103 | MM3.z_axis |= SPDR; |
120 | MM3.z_axis |= SPDR; |
104 | MM3.z_axis -= OFF_Z; |
121 | MM3.z_axis -= OFF_Z; |
- | 122 | MM3.STATE = MM3_TILT; |
|
- | 123 | } |
|
105 | MM3.STATE = MM3_TILT; |
124 | |
106 | return; |
125 | return; |
107 | } |
126 | } |
Line 108... | Line 127... | ||
108 | } |
127 | } |