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 |