25,6 → 25,7 |
unsigned char SPI_CommandCounter = 0; |
unsigned char NC_ErrorCode = 0; |
signed int POI_KameraNick = 0; // in 0,1° |
vector16_t MagVec = {0,0,0}; |
|
#ifdef USE_SPI_COMMUNICATION |
|
271,14 → 272,19 |
|
if(SPI_RxDataValid) |
{ |
NaviDataOkay = 250; |
CalculateCompassTimer = 1; |
if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV)) |
{ |
GPS_Nick = FromNaviCtrl.GPS_Nick; |
GPS_Roll = FromNaviCtrl.GPS_Roll; |
} |
NaviDataOkay = 250; |
CalculateCompassTimer = 1; |
if(abs(FromNaviCtrl.GPS_Nick) < 512 && abs(FromNaviCtrl.GPS_Roll) < 512 && (EE_Parameter.GlobalConfig & CFG_GPS_AKTIV)) |
{ |
GPS_Nick = FromNaviCtrl.GPS_Nick; |
GPS_Roll = FromNaviCtrl.GPS_Roll; |
} |
|
// update compass readings |
MagVec.x = FromNaviCtrl.MagVecX; |
MagVec.y = FromNaviCtrl.MagVecY; |
MagVec.z = FromNaviCtrl.MagVecZ; |
|
if(FromNaviCtrl.CompassValue <= 360) KompassValue = FromNaviCtrl.CompassValue; |
KompassRichtung = ((540 + KompassValue - KompassSollWert) % 360) - 180; |
|
296,7 → 302,7 |
FromNC_Rotate_S = FromNaviCtrl.Param.Byte[6]; |
// = FromNaviCtrl.Param.Byte[7]; noch frei |
POI_KameraNick = (POI_KameraNick + FromNaviCtrl.Param.sInt[5]) / 2; // Nickwinkel |
if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0) |
if(CareFree && FromNaviCtrl.Param.sInt[4] >= 0) |
{ |
KompassSollWert = FromNaviCtrl.Param.sInt[4]; // bei Carefree kann NC den Kompass-Sollwinkel vorgeben |
} |
317,7 → 323,7 |
GPSInfo.NumOfSats = FromNaviCtrl.Param.Byte[1]; |
GPSInfo.SatFix = FromNaviCtrl.Param.Byte[2]; |
GPSInfo.Speed = FromNaviCtrl.Param.Byte[3]; |
GPSInfo.HomeDistance = FromNaviCtrl.Param.Int[2]; |
GPSInfo.HomeDistance = FromNaviCtrl.Param.Int[2]; |
GPSInfo.HomeBearing = FromNaviCtrl.Param.sInt[3]; |
PPM_in[25] = (signed char) FromNaviCtrl.Param.Byte[8]; // WP_EVENT-Channel-Value |
break; |