internal void Parse(string data)
{
try
{
double ping;
if (data.Contains("#YPR"))
{
data = data.Replace("#YPR=", "");
var yprArray = data.Split(',');
if (yprArray.Length >= 1)
{
double.TryParse(yprArray[0], out _yaw);
_yaw = Math.Round(_yaw, 1);
}
if (yprArray.Length >= 2)
{
double.TryParse(yprArray[1], out _pitch);
_pitch = Math.Round(_pitch, 1);
}
if (yprArray.Length >= 3)
{
double.TryParse(yprArray[2], out _roll);
_roll = Math.Round(_roll, 1);
}
return;
}
if (data.Contains("#A-C="))
{
var accelData = data.Replace("#A-C=", "").Split(',');
if (accelData.Length >= 1)
{
double.TryParse(accelData[0], out _accelX);
_accelX = Math.Round(_accelX, 1);
}
if (accelData.Length >= 2)
{
double.TryParse(accelData[1], out _accelY);
_accelY = Math.Round(_accelY, 1);
}
if (accelData.Length >= 3)
{
double.TryParse(accelData[2], out _accelZ);
_accelZ = Math.Round(_accelZ, 1);
}
return;
}
if (data.Contains("#L"))
{
data = data.Replace("#L", "");
if (double.TryParse(data, out ping))
_leftInches = GetInchesFromPingDuration(ping);
return;
}
if (data.Contains("#FL"))
{
data = data.Replace("#FL", "");
if (double.TryParse(data, out ping))
_farLeftInches = GetInchesFromPingDuration(ping);
return;
}
if (data.Contains("#C"))
{
data = data.Replace("#C", "");
if (double.TryParse(data, out ping))
_centerInches = GetInchesFromPingDuration(ping);
return;
}
if (data.Contains("#R"))
{
data = data.Replace("#R", "");
if (double.TryParse(data, out ping))
_rightInches = GetInchesFromPingDuration(ping);
return;
}
if (data.Contains("#FR"))
{
data = data.Replace("#FR", "");
if (double.TryParse(data, out ping))
_farRightInches = GetInchesFromPingDuration(ping);
}
}
catch
{
//
}
}