Subversion Repositories FlightCtrl

Rev

Rev 1236 | Rev 1243 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1236 Rev 1241
Line 16... Line 16...
16
unsigned char *SPI_TX_Buffer;
16
unsigned char *SPI_TX_Buffer;
Line 17... Line 17...
17
 
17
 
18
unsigned char SPITransferCompleted, SPI_ChkSum;
18
unsigned char SPITransferCompleted, SPI_ChkSum;
Line 19... Line 19...
19
unsigned char SPI_RxDataValid,NaviDataOkay = 0;
19
unsigned char SPI_RxDataValid,NaviDataOkay = 0;
20
 
20
 
Line 21... Line 21...
21
unsigned char SPI_CommandSequence[] = { SPI_CMD_USER, SPI_CMD_STICK, SPI_CMD_PARAMETER1, SPI_CMD_STICK, SPI_CMD_MISC, SPI_CMD_VERSION };
21
unsigned char SPI_CommandSequence[] = { SPI_CMD_USER, SPI_CMD_STICK, SPI_CMD_PARAMETER1, SPI_CMD_STICK, SPI_CMD_MISC, SPI_CMD_VERSION, SPI_CMD_SERVOS };
Line 22... Line 22...
22
unsigned char SPI_CommandCounter = 0;
22
unsigned char SPI_CommandCounter = 0;
Line 185... Line 185...
185
                MikroKopterFlags &= ~(FLAG_CALIBRATE | FLAG_START);
185
                MikroKopterFlags &= ~(FLAG_CALIBRATE | FLAG_START);
186
                    ToNaviCtrl.Param.Byte[9] = (unsigned char) UBat;
186
                    ToNaviCtrl.Param.Byte[9] = (unsigned char) UBat;
187
                    ToNaviCtrl.Param.Byte[10] =(unsigned char) BattLowVoltageWarning;
187
                    ToNaviCtrl.Param.Byte[10] =(unsigned char) BattLowVoltageWarning;
188
                    ToNaviCtrl.Param.Byte[11] =(unsigned char) eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]);
188
                    ToNaviCtrl.Param.Byte[11] =(unsigned char) eeprom_read_byte(&EEPromArray[EEPROM_ADR_ACTIVE_SET]);
189
        break;
189
        break;
-
 
190
 
190
         case SPI_CMD_PARAMETER1:
191
         case SPI_CMD_PARAMETER1:
191
                                ToNaviCtrl.Param.Byte[0] = EE_Parameter.NaviGpsModeControl;     // Parameters for the Naviboard
192
                                ToNaviCtrl.Param.Byte[0] = EE_Parameter.NaviGpsModeControl;     // Parameters for the Naviboard
192
                                ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviGpsGain;
193
                                ToNaviCtrl.Param.Byte[1] = EE_Parameter.NaviGpsGain;
193
                                ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviGpsP;
194
                                ToNaviCtrl.Param.Byte[2] = EE_Parameter.NaviGpsP;
194
                                ToNaviCtrl.Param.Byte[3] = EE_Parameter.NaviGpsI;
195
                                ToNaviCtrl.Param.Byte[3] = EE_Parameter.NaviGpsI;
Line 199... Line 200...
199
                ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviOperatingRadius;
200
                ToNaviCtrl.Param.Byte[8] = EE_Parameter.NaviOperatingRadius;
200
                ToNaviCtrl.Param.Byte[9] = EE_Parameter.NaviWindCorrection;
201
                ToNaviCtrl.Param.Byte[9] = EE_Parameter.NaviWindCorrection;
201
                ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation;
202
                ToNaviCtrl.Param.Byte[10] = EE_Parameter.NaviSpeedCompensation;
202
                                ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation;
203
                                ToNaviCtrl.Param.Byte[11] = EE_Parameter.NaviAngleLimitation;
203
            break;
204
            break;
-
 
205
 
204
         case SPI_CMD_STICK:
206
         case SPI_CMD_STICK:
205
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]];  if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
207
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GAS]];  if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
206
                                ToNaviCtrl.Param.Byte[0] = (char) tmp;
208
                                ToNaviCtrl.Param.Byte[0] = (char) tmp;
207
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
209
                tmp = PPM_in[EE_Parameter.Kanalbelegung[K_GIER]]; if(tmp > 127) tmp = 127; else if(tmp < -127) tmp = -127;
208
                                ToNaviCtrl.Param.Byte[1] = (char) tmp;
210
                                ToNaviCtrl.Param.Byte[1] = (char) tmp;
Line 214... Line 216...
214
                                ToNaviCtrl.Param.Byte[5] = (unsigned char) Poti2;
216
                                ToNaviCtrl.Param.Byte[5] = (unsigned char) Poti2;
215
                                ToNaviCtrl.Param.Byte[6] = (unsigned char) Poti3;
217
                                ToNaviCtrl.Param.Byte[6] = (unsigned char) Poti3;
216
                    ToNaviCtrl.Param.Byte[7] = (unsigned char) Poti4;
218
                    ToNaviCtrl.Param.Byte[7] = (unsigned char) Poti4;
217
                    ToNaviCtrl.Param.Byte[8] = (unsigned char) SenderOkay;
219
                    ToNaviCtrl.Param.Byte[8] = (unsigned char) SenderOkay;
218
            break;
220
                        break;
-
 
221
 
219
         case SPI_CMD_MISC:
222
                case SPI_CMD_MISC:
220
                if(WinkelOut.CalcState > 5)
223
                        if(WinkelOut.CalcState > 5)
221
                  {
224
                        {
222
                    WinkelOut.CalcState = 0;
225
                                WinkelOut.CalcState = 0;
223
                    ToNaviCtrl.Param.Byte[0] = 5;
226
                                ToNaviCtrl.Param.Byte[0] = 5;
Line 235... Line 238...
235
                                ToNaviCtrl.Param.Byte[1] = SPI_VersionInfo.Minor;
238
                        ToNaviCtrl.Param.Byte[1] = SPI_VersionInfo.Minor;
236
                                ToNaviCtrl.Param.Byte[2] = SPI_VersionInfo.Patch;
239
                        ToNaviCtrl.Param.Byte[2] = SPI_VersionInfo.Patch;
237
                                ToNaviCtrl.Param.Byte[3] = SPI_VersionInfo.Compatible;
240
                        ToNaviCtrl.Param.Byte[3] = SPI_VersionInfo.Compatible;
238
                                ToNaviCtrl.Param.Byte[4] = PlatinenVersion;
241
                        ToNaviCtrl.Param.Byte[4] = PlatinenVersion;
239
            break;
242
                break;
-
 
243
 
-
 
244
            case SPI_CMD_SERVOS:
-
 
245
                ToNaviCtrl.Param.Byte[0] = EE_Parameter.ServoNickRefresh;     // Parameters for the Servo Control
-
 
246
                        ToNaviCtrl.Param.Byte[1] = EE_Parameter.ServoCompInvert;
-
 
247
                        ToNaviCtrl.Param.Byte[2] = Parameter_ServoNickControl;
-
 
248
                        ToNaviCtrl.Param.Byte[3] = EE_Parameter.ServoNickComp;
-
 
249
                        ToNaviCtrl.Param.Byte[4] = EE_Parameter.ServoNickMin;
-
 
250
                        ToNaviCtrl.Param.Byte[5] = EE_Parameter.ServoNickMax;
-
 
251
                        ToNaviCtrl.Param.Byte[6] = Parameter_ServoRollControl;
-
 
252
                        ToNaviCtrl.Param.Byte[7] = EE_Parameter.ServoRollComp;
-
 
253
                        ToNaviCtrl.Param.Byte[8] = EE_Parameter.ServoRollMin;
-
 
254
                        ToNaviCtrl.Param.Byte[9] = EE_Parameter.ServoRollMax;
-
 
255
                break;
-
 
256
 
240
   }
257
        }
Line 241... Line 258...
241
 
258
 
Line 242... Line 259...
242
  sei();
259
  sei();
Line 261... Line 278...
261
                        FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1];
278
                        FromNaviCtrl_Value.Kalman_MaxFusion = FromNaviCtrl.Param.sByte[1];
262
                        FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2];
279
                        FromNaviCtrl_Value.Kalman_MaxDrift = FromNaviCtrl.Param.sByte[2];
263
                        FromNaviCtrl_Value.SerialDataOkay = FromNaviCtrl.Param.Byte[3];
280
                        FromNaviCtrl_Value.SerialDataOkay = FromNaviCtrl.Param.Byte[3];
264
                        break;
281
                        break;
Line 265... Line -...
265
 
-
 
266
        case SPI_EXTCTRL:
-
 
267
                        ExternControl.Digital[0]        = FromNaviCtrl.Param.Byte[0];
-
 
268
                        ExternControl.Digital[1]        = FromNaviCtrl.Param.Byte[1];
-
 
269
                        ExternControl.RemoteTasten      = FromNaviCtrl.Param.Byte[2];
-
 
270
                        ExternControl.Nick                      = FromNaviCtrl.Param.sByte[3];
-
 
271
                        ExternControl.Roll                      = FromNaviCtrl.Param.sByte[4];
-
 
272
                        ExternControl.Gier                      = FromNaviCtrl.Param.sByte[5];
-
 
273
                        ExternControl.Gas                       = FromNaviCtrl.Param.Byte[6];
-
 
274
                        ExternControl.Hight             = FromNaviCtrl.Param.sByte[7];
-
 
275
                        ExternControl.free                      = FromNaviCtrl.Param.Byte[8];
-
 
276
                        ExternControl.Frame             = FromNaviCtrl.Param.Byte[9];
-
 
277
                        ExternControl.Config            = FromNaviCtrl.Param.Byte[10];
-
 
278
                break;
-
 
279
 
282
 
280
                default:
283
                default:
281
                  break;
284
                  break;
282
          }
285
          }
283
  }
286
  }