/trunk/uart1.c |
---|
1170,9 → 1170,9 |
NaviData_Deviation.GroundSpeed = NaviData.GroundSpeed / 10; |
NaviData_Deviation.OSDStatusFlags = (FC.StatusFlags & OSD_FLAG_MASK1) | (FC.StatusFlags2 & OSD_FLAG_MASK2); |
NaviData_Deviation.FlyingTime = NaviData.FlyingTime; |
NaviData_Deviation.DistanceToHome = NaviData.HomePositionDeviation.Distance; |
NaviData_Deviation.DistanceToHome = NaviData.HomePositionDeviation.Distance_dm; |
NaviData_Deviation.HeadingToHome = NaviData.HomePositionDeviation.Bearing/2; |
NaviData_Deviation.DistanceToTarget = NaviData.TargetPositionDeviation.Distance; |
NaviData_Deviation.DistanceToTarget = NaviData.TargetPositionDeviation.Distance_dm; |
NaviData_Deviation.HeadingToTarget = NaviData.TargetPositionDeviation.Bearing/2; |
NaviData_Deviation.AngleNick = NaviData.AngleNick; |
NaviData_Deviation.AngleRoll = NaviData.AngleRoll; |
/trunk/uart1.h |
---|
136,7 → 136,7 |
typedef struct |
{ |
u16 Distance; // distance to target in dm |
u16 Distance_dm; // distance to target in dm |
s16 Bearing; // course to target in deg |
} __attribute__((packed)) GPS_PosDev_t; |
/trunk/waypoints.c |
---|
817,7 → 817,7 |
PointList_Clear(); |
// prepare WP at current position |
if(NCFlags & NC_FLAG_FREE || NaviData.TargetPositionDeviation.Distance > 7*10) |
if(NCFlags & NC_FLAG_FREE || NaviData.TargetPositionDeviation.Distance_dm > 7*10) |
{ // take actual position |
GPSPos_Copy(&GPSData.Position, &(WP.Position)); |
} |
921,7 → 921,7 |
// move new reference according to the deviation of the old reference |
if(RotationAngle > 0) |
{ |
retval = GPSPos_ShiftGeodetic(&(PointList[i].Position), (RefDeviation.Bearing + 180 + RotationAngle)%360, RefDeviation.Distance ); |
retval = GPSPos_ShiftGeodetic(&(PointList[i].Position), (RefDeviation.Bearing + 180 + RotationAngle)%360, RefDeviation.Distance_cm ); |
// Now rotate the heading positions if they are fixed angles |
if(PointList[i].Heading >= 0 && PointList[i].Heading <= 360) PointList[i].Heading = (PointList[i].Heading + RotationAngle) % 360; |
} |