Ejemplo n.º 1
0
/**
 * Converts a given bearing to the bearing part of the teamcode
 * @param bearing Bearing to the reference waypoint
 * @param code The teamcode (pointer)
 */
static void
ConvertBearingToTeamCode(const Angle bearing, TCHAR *code)
{
  const fixed bamValue = bearing.AsBearing().Degrees() / 360
                          * TEAMCODE_COMBINATIONS;
  NumberToTeamCode(bamValue, code, 2);
}
Ejemplo n.º 2
0
void
TeamCode::Update(Angle bearing, fixed range)
{
  // Clear teamcode
  memset(code, 0, sizeof(TCHAR) * 10);
  // Calculate bearing part of the teamcode
  ConvertBearingToTeamCode(bearing, code);
  // Calculate distance part of the teamcode
  NumberToTeamCode(range / 100, &code[2], 0);
}
Ejemplo n.º 3
0
void ConvertHeadingToTeamCode(double heading, TCHAR *code)
{
	if (heading >= 360)
	{
		code[0] = '-';
		code[1] = '-';
		return;
	}	 

	double bamValue = (heading * TEAMCODE_COMBINAIONS) / 360.0;	
	NumberToTeamCode(bamValue, code, 2);
}
Ejemplo n.º 4
0
void GetTeamCode(TCHAR *code, double bearing, double range)
{
	memset(code, 0, sizeof(TCHAR) * 10);

		// trim to seeyou
	//double trim = cos(bearing*DEG_TO_RAD)*range/8500;
		//bearing+= 1.2;

	 //   if (bearing > 360)
		//{
		//	bearing -= 360;
		//}
		


	ConvertHeadingToTeamCode(bearing, code);	
	NumberToTeamCode(range/100.0, &code[2],0);
}