Rev 1316 | Rev 1377 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1316 | Rev 1320 | ||
---|---|---|---|
Line 157... | Line 157... | ||
157 | 157 | ||
158 | //------------------------------------------------------ |
158 | //------------------------------------------------------ |
159 | void UpdateSPI_Buffer(void) |
159 | void UpdateSPI_Buffer(void) |
160 | { |
160 | { |
161 | signed int tmp; |
- | |
162 | cli(); |
- | |
163 | 161 | signed int tmp; |
|
164 | ToNaviCtrl.IntegralNick = (int) (IntegralNick / (long)(EE_Parameter.GyroAccFaktor * 4)); |
162 | ToNaviCtrl.IntegralNick = (int) (IntegralNick / (long)(EE_Parameter.GyroAccFaktor * 4)); |
165 | ToNaviCtrl.IntegralRoll = (int) (IntegralRoll / (long)(EE_Parameter.GyroAccFaktor * 4)); |
163 | ToNaviCtrl.IntegralRoll = (int) (IntegralRoll / (long)(EE_Parameter.GyroAccFaktor * 4)); |
166 | ToNaviCtrl.GyroCompass = (10 * ErsatzKompass) / GIER_GRAD_FAKTOR; |
164 | ToNaviCtrl.GyroCompass = (10 * ErsatzKompass) / GIER_GRAD_FAKTOR; |
167 | ToNaviCtrl.AccNick = ((int) ACC_AMPLIFY * (NaviAccNick / NaviCntAcc))/4; |
165 | ToNaviCtrl.AccNick = ((int) ACC_AMPLIFY * (NaviAccNick / NaviCntAcc))/4; |
168 | ToNaviCtrl.AccRoll = ((int) ACC_AMPLIFY * (NaviAccRoll / NaviCntAcc))/4; |
166 | ToNaviCtrl.AccRoll = ((int) ACC_AMPLIFY * (NaviAccRoll / NaviCntAcc))/4; |
169 | NaviCntAcc = 0; NaviAccNick = 0; NaviAccRoll = 0; |
167 | NaviCntAcc = 0; NaviAccNick = 0; NaviAccRoll = 0; |
170 | // ToNaviCtrl.User8 = Parameter_UserParam8; |
168 | // ToNaviCtrl.User8 = Parameter_UserParam8; |
171 | // ToNaviCtrl.CalState = WinkelOut.CalcState; |
- | |
172 | 169 | // ToNaviCtrl.CalState = WinkelOut.CalcState; |
|
173 | switch(ToNaviCtrl.Command) // |
170 | switch(ToNaviCtrl.Command) // |
174 | { |
171 | { |
175 | case SPI_CMD_USER: |
172 | case SPI_CMD_USER: |
176 | ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1; |
173 | ToNaviCtrl.Param.Byte[0] = Parameter_UserParam1; |
Line 202... | Line 199... | ||
202 | ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation; |
199 | ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation; |
203 | ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation; |
200 | ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation; |
204 | break; |
201 | break; |
Line 205... | Line 202... | ||
205 | 202 | ||
- | 203 | case SPI_CMD_STICK: |
|
206 | case SPI_CMD_STICK: |
204 | cli(); |
207 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
205 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
208 | ToNaviCtrl.Param.Byte[0] = (char) tmp; |
206 | ToNaviCtrl.Param.Byte[0] = (char) tmp; |
209 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
207 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
210 | ToNaviCtrl.Param.Byte[1] = (char) tmp; |
208 | ToNaviCtrl.Param.Byte[1] = (char) tmp; |
211 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
209 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_ROLL]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
212 | ToNaviCtrl.Param.Byte[2] = (char) tmp; |
210 | ToNaviCtrl.Param.Byte[2] = (char) tmp; |
- | 211 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
|
213 | tmp = PPM_in[EE_Parameter.Kanalbelegung[K_NICK]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127; |
212 | sei(); |
214 | ToNaviCtrl.Param.Byte[3] = (char) tmp; |
213 | ToNaviCtrl.Param.Byte[3] = (char) tmp; |
215 | ToNaviCtrl.Param.Byte[4] = (unsigned char) Poti1; |
214 | ToNaviCtrl.Param.Byte[4] = (unsigned char) Poti1; |
216 | ToNaviCtrl.Param.Byte[5] = (unsigned char) Poti2; |
215 | ToNaviCtrl.Param.Byte[5] = (unsigned char) Poti2; |
217 | ToNaviCtrl.Param.Byte[6] = (unsigned char) Poti3; |
216 | ToNaviCtrl.Param.Byte[6] = (unsigned char) Poti3; |
218 | ToNaviCtrl.Param.Byte[7] = (unsigned char) Poti4; |
217 | ToNaviCtrl.Param.Byte[7] = (unsigned char) Poti4; |
219 | ToNaviCtrl.Param.Byte[8] = (unsigned char) SenderOkay; |
218 | ToNaviCtrl.Param.Byte[8] = (unsigned char) SenderOkay; |
220 | ToNaviCtrl.Param.Byte[9] = (unsigned char) SenderRSSI; |
219 | ToNaviCtrl.Param.Byte[9] = (unsigned char) SenderRSSI; |
221 | ToNaviCtrl.Param.Byte[10] = DebugOut.Analog[7] / 4; |
220 | ToNaviCtrl.Param.Byte[10] = DebugOut.Analog[7] / 4; //GasMischanteil |
222 | break; |
- | |
223 | 221 | break; |
|
224 | case SPI_CMD_MISC: |
222 | case SPI_CMD_MISC: |
225 | if(WinkelOut.CalcState > 5) |
223 | if(WinkelOut.CalcState > 5) |
226 | { |
224 | { |
227 | WinkelOut.CalcState = 0; |
225 | WinkelOut.CalcState = 0; |
228 | ToNaviCtrl.Param.Byte[0] = 5; |
226 | ToNaviCtrl.Param.Byte[0] = 5; |
229 | } |
227 | } |
230 | else ToNaviCtrl.Param.Byte[0] = WinkelOut.CalcState; |
228 | else ToNaviCtrl.Param.Byte[0] = WinkelOut.CalcState; |
231 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviPH_LoginTime; |
229 | ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviPH_LoginTime; |
232 | ToNaviCtrl.Param.Int[1] = (int)(HoehenWert/5); |
230 | ToNaviCtrl.Param.Int[1] = DebugOut.Analog[5];// = HoehenWert/5; |
233 | ToNaviCtrl.Param.Int[2] = (int)(SollHoehe/5); |
231 | ToNaviCtrl.Param.Int[2] = (int)(SollHoehe/5); |
234 | ToNaviCtrl.Param.Byte[6] = EE_Parameter.NaviGpsPLimit; |
232 | ToNaviCtrl.Param.Byte[6] = EE_Parameter.NaviGpsPLimit; |
235 | ToNaviCtrl.Param.Byte[7] = EE_Parameter.NaviGpsILimit; |
233 | ToNaviCtrl.Param.Byte[7] = EE_Parameter.NaviGpsILimit; |
236 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviGpsDLimit; |
234 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviGpsDLimit; |
Line 256... | Line 254... | ||
256 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.ServoRollMin; |
254 | ToNaviCtrl.Param.Byte[8] = EE_Parameter.ServoRollMin; |
257 | ToNaviCtrl.Param.Byte[9] = EE_Parameter.ServoRollMax; |
255 | ToNaviCtrl.Param.Byte[9] = EE_Parameter.ServoRollMax; |
258 | break; |
256 | break; |
259 | } |
257 | } |
Line 260... | Line -... | ||
260 | - | ||
261 | sei(); |
- | |
262 | 258 | ||
263 | if(SPI_RxDataValid) |
259 | if(SPI_RxDataValid) |
264 | { |
260 | { |
265 | if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV)) |
261 | if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV)) |
266 | { |
262 | { |