Subversion Repositories FlightCtrl

Rev

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

Rev 1850 Rev 1852
Line 23... Line 23...
23
 
23
 
24
unsigned char SPI_CommandSequence[] = {SPI_FCCMD_STICK, SPI_FCCMD_USER, SPI_FCCMD_PARAMETER1, SPI_FCCMD_STICK, SPI_FCCMD_MISC, SPI_FCCMD_VERSION, SPI_FCCMD_STICK, SPI_FCCMD_SERVOS, SPI_FCCMD_ACCU};
24
unsigned char SPI_CommandSequence[] = {SPI_FCCMD_STICK, SPI_FCCMD_USER, SPI_FCCMD_PARAMETER1, SPI_FCCMD_STICK, SPI_FCCMD_MISC, SPI_FCCMD_VERSION, SPI_FCCMD_STICK, SPI_FCCMD_SERVOS, SPI_FCCMD_ACCU};
25
unsigned char SPI_CommandCounter = 0;
25
unsigned char SPI_CommandCounter = 0;
26
unsigned char NC_ErrorCode = 0;
26
unsigned char NC_ErrorCode = 0;
-
 
27
signed int POI_KameraNick = 0; // in 0,1°
Line 27... Line 28...
27
signed int POI_KameraNick = 0; // in 0,1°
28
vector16_t MagVec = {0,0,0};
Line 28... Line 29...
28
 
29
 
29
#ifdef USE_SPI_COMMUNICATION
30
#ifdef USE_SPI_COMMUNICATION
Line 269... Line 270...
269
                break;
270
                break;
270
        }
271
        }
Line 271... Line 272...
271
 
272
 
272
  if(SPI_RxDataValid)
273
  if(SPI_RxDataValid)
273
  {
274
  {
274
   NaviDataOkay = 250;
275
        NaviDataOkay = 250;
275
   CalculateCompassTimer = 1;
276
        CalculateCompassTimer = 1;
276
   if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV))
277
        if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV))
277
   {
278
        {
278
    GPS_Nick = FromNaviCtrl.GPS_Nick;
279
                GPS_Nick = FromNaviCtrl.GPS_Nick;
279
    GPS_Roll = FromNaviCtrl.GPS_Roll;
280
                GPS_Roll = FromNaviCtrl.GPS_Roll;
-
 
281
        }
-
 
282
 
-
 
283
        // update compass readings
-
 
284
        MagVec.x = FromNaviCtrl.MagVecX;
-
 
285
        MagVec.y = FromNaviCtrl.MagVecY;
Line 280... Line 286...
280
   }
286
        MagVec.z = FromNaviCtrl.MagVecZ;
281
 
287
 
Line 282... Line 288...
282
        if(FromNaviCtrl.CompassValue <= 360)   KompassValue = FromNaviCtrl.CompassValue;
288
        if(FromNaviCtrl.CompassValue <= 360)   KompassValue = FromNaviCtrl.CompassValue;
Line 294... Line 300...
294
                        FromNaviCtrl_Value.GpsZ = FromNaviCtrl.Param.Byte[4];
300
                        FromNaviCtrl_Value.GpsZ = FromNaviCtrl.Param.Byte[4];
295
                        FromNC_Rotate_C = FromNaviCtrl.Param.Byte[5];
301
                        FromNC_Rotate_C = FromNaviCtrl.Param.Byte[5];
296
                        FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6];
302
                        FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6];
297
                        // = FromNaviCtrl.Param.Byte[7];  noch frei
303
                        // = FromNaviCtrl.Param.Byte[7];  noch frei
298
                    POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // Nickwinkel
304
                    POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // Nickwinkel
299
            if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0)  
305
            if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0)
300
                         {
306
                         {
301
                          KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben
307
                          KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben
302
                         }
308
                         }
303
                        break;
309
                        break;
304
                case SPI_NCCMD_VERSION:
310
                case SPI_NCCMD_VERSION:
Line 315... Line 321...
315
                case SPI_NCCMD_GPSINFO:
321
                case SPI_NCCMD_GPSINFO:
316
                        GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
322
                        GPSInfo.Flags = FromNaviCtrl.Param.Byte[0];
317
                        GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1];
323
                        GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1];
318
                        GPSInfo.SatFix = FromNaviCtrl.Param.Byte[2];
324
                        GPSInfo.SatFix = FromNaviCtrl.Param.Byte[2];
319
                        GPSInfo.Speed = FromNaviCtrl.Param.Byte[3];
325
                        GPSInfo.Speed = FromNaviCtrl.Param.Byte[3];
320
                        GPSInfo.HomeDistance = FromNaviCtrl.Param.Int[2];
326
                        GPSInfo.HomeDistance = FromNaviCtrl.Param.Int[2];
321
                        GPSInfo.HomeBearing = FromNaviCtrl.Param.sInt[3];
327
                        GPSInfo.HomeBearing = FromNaviCtrl.Param.sInt[3];
322
                        PPM_in[25] = (signed char) FromNaviCtrl.Param.Byte[8]; // WP_EVENT-Channel-Value
328
                        PPM_in[25] = (signed char) FromNaviCtrl.Param.Byte[8]; // WP_EVENT-Channel-Value
323
                        break;
329
                        break;
Line 324... Line 330...
324
 
330