Subversion Repositories FlightCtrl

Rev

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

Rev 1855 Rev 1856
Line 125... Line 125...
125
                  unsigned char *ptr = (unsigned char *)&FromNaviCtrl;
125
                  unsigned char *ptr = (unsigned char *)&FromNaviCtrl;
126
                          memcpy(ptr, (unsigned char *) SPI_Buffer,  sizeof(SPI_Buffer));
126
                          memcpy(ptr, (unsigned char *) SPI_Buffer,  sizeof(SPI_Buffer));
127
                          SPI_RxDataValid = 1;
127
                          SPI_RxDataValid = 1;
128
//                        DebugOut.Analog[26]--;
128
//                        DebugOut.Analog[26]--;
129
                        }
129
                        }
130
                        else
130
                        else
131
                         {
131
                         {
132
                          SPI_RxDataValid = 0;
132
                          SPI_RxDataValid = 0;
133
//                        DebugOut.Analog[26]++;
133
//                        DebugOut.Analog[26]++;
134
                         }
134
                         }
135
                         
135
 
Line 136... Line 136...
136
 
136
 
137
                        SPI_RXState  = 0;
137
                        SPI_RXState  = 0;
138
                   }
138
                   }
139
                  else rxchksum += rxdata;
139
                  else rxchksum += rxdata;
Line 271... Line 271...
271
                        ToNaviCtrl.Param.Byte[7] = EE_Parameter.ServoRollComp;
271
                        ToNaviCtrl.Param.Byte[7] = EE_Parameter.ServoRollComp;
272
                        ToNaviCtrl.Param.Byte[8] = EE_Parameter.ServoRollMin;
272
                        ToNaviCtrl.Param.Byte[8] = EE_Parameter.ServoRollMin;
273
                        ToNaviCtrl.Param.Byte[9] = EE_Parameter.ServoRollMax;
273
                        ToNaviCtrl.Param.Byte[9] = EE_Parameter.ServoRollMax;
274
                break;
274
                break;
275
        }
275
        }
276
                         
276
 
277
  if(SPI_RxDataValid)
277
  if(SPI_RxDataValid)
278
  {
278
  {
279
        NaviDataOkay = 250;
279
        NaviDataOkay = 250;
280
        CalculateCompassTimer = 1;
280
        CalculateCompassTimer = 1;
281
        if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV))
281
        if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV))
Line 283... Line 283...
283
                GPS_Nick = FromNaviCtrl.GPS_Nick;
283
                GPS_Nick = FromNaviCtrl.GPS_Nick;
284
                GPS_Roll = FromNaviCtrl.GPS_Roll;
284
                GPS_Roll = FromNaviCtrl.GPS_Roll;
285
        }
285
        }
Line 286... Line 286...
286
 
286
 
287
        // update compass readings
287
        // update compass readings
288
//      MagVec.x = FromNaviCtrl.MagVecX;
288
        MagVec.x = FromNaviCtrl.MagVecX;
289
//      MagVec.y = FromNaviCtrl.MagVecY;
289
        MagVec.y = FromNaviCtrl.MagVecY;
Line 290... Line 290...
290
//      MagVec.z = FromNaviCtrl.MagVecZ;
290
        MagVec.z = FromNaviCtrl.MagVecZ;
291
 
291
 
Line 292... Line 292...
292
        if(FromNaviCtrl.CompassValue <= 360)   KompassValue = FromNaviCtrl.CompassValue;
292
        if(FromNaviCtrl.CompassValue <= 360)   KompassValue = FromNaviCtrl.CompassValue;
Line 305... Line 305...
305
                        FromNC_Rotate_C = FromNaviCtrl.Param.Byte[5];
305
                        FromNC_Rotate_C = FromNaviCtrl.Param.Byte[5];
306
                        FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6];
306
                        FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6];
307
            if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0)
307
            if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0)
308
                         {
308
                         {
309
                          KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben
309
                          KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben
310
                         }
310
                         }
311
                    if(CareFree)  POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // Nickwinkel
311
                    if(CareFree)  POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // Nickwinkel
312
                        else  POI_KameraNick = 0;
312
                        else  POI_KameraNick = 0;
313
                       
313
 
314
                        break;
314
                        break;
315
                case SPI_NCCMD_VERSION:
315
                case SPI_NCCMD_VERSION:
316
                        NC_Version.Major = FromNaviCtrl.Param.Byte[0];
316
                        NC_Version.Major = FromNaviCtrl.Param.Byte[0];
317
                        NC_Version.Minor = FromNaviCtrl.Param.Byte[1];
317
                        NC_Version.Minor = FromNaviCtrl.Param.Byte[1];
318
                        NC_Version.Patch = FromNaviCtrl.Param.Byte[2];
318
                        NC_Version.Patch = FromNaviCtrl.Param.Byte[2];
319
                        NC_Version.Compatible = FromNaviCtrl.Param.Byte[3];
319
                        NC_Version.Compatible = FromNaviCtrl.Param.Byte[3];
320
                        NC_Version.Hardware = FromNaviCtrl.Param.Byte[4];
320
                        NC_Version.Hardware = FromNaviCtrl.Param.Byte[4];
321
                        DebugOut.Status[0] |= FromNaviCtrl.Param.Byte[5];
321
                        DebugOut.Status[0] |= FromNaviCtrl.Param.Byte[5];
322
                        NC_ErrorCode = FromNaviCtrl.Param.Byte[6];
322
                        NC_ErrorCode = FromNaviCtrl.Param.Byte[6];
323
                        DebugOut.Status[1] = (DebugOut.Status[1] & (0x01|0x02)) | (FromNaviCtrl.Param.Byte[6] & (0x04 | 0x08));
323
                        DebugOut.Status[1] = (DebugOut.Status[1] & (0x01|0x02)) | (FromNaviCtrl.Param.Byte[6] & (0x04 | 0x08));
324
                        break;          
324
                        break;
Line 325... Line 325...
325
 
325
 
326
                case SPI_NCCMD_GPSINFO:
326
                case SPI_NCCMD_GPSINFO:
327
                        GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
327
                        GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
328
                        GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1];
328
                        GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1];