private void DisplayCAT01I040Data()
{
if (MainASTERIXDataStorage.CAT01Message.Count > 0)
{
this.listBoxMainDataBox.Items.Add("Detailed view of: " + MainASTERIXDataStorage.CAT01Message[0].CAT01DataItems[CAT01.ItemIDToIndex("040")].Description);
ASTERIX.SIC_SAC_Time SIC_SAC_TIME = (ASTERIX.SIC_SAC_Time)MainASTERIXDataStorage.CAT01Message[0].CAT01DataItems[CAT01.ItemIDToIndex("010")].value;
this.listBoxMainDataBox.Items.Add("SIC/SAC: " + SIC_SAC_TIME.SIC.ToString() + "/" + SIC_SAC_TIME.SAC.ToString());
this.listBoxMainDataBox.Items.Add(" ");
// Here determine the flag indicating what data is to be shown
foreach (MainASTERIXDataStorage.CAT01Data Msg in MainASTERIXDataStorage.CAT01Message)
{
if (Msg.CAT01DataItems[CAT01.ItemIDToIndex("040")].value != null)
{
SIC_SAC_TIME = (ASTERIX.SIC_SAC_Time)Msg.CAT01DataItems[CAT01.ItemIDToIndex("010")].value;
// Display time
string Time = SIC_SAC_TIME.TimeofReception.Hour.ToString().PadLeft(2, '0') + ":" + SIC_SAC_TIME.TimeofReception.Minute.ToString().PadLeft(2, '0') + ":" +
SIC_SAC_TIME.TimeofReception.Second.ToString().PadLeft(2, '0') + ":" + SIC_SAC_TIME.TimeofReception.Millisecond.ToString().PadLeft(3, '0');
this.listBoxMainDataBox.Items.Add("Rcvd Time: " + Time);
CAT01I040Types.CAT01I040MeasuredPosInPolarCoordinates MyData = (CAT01I040Types.CAT01I040MeasuredPosInPolarCoordinates)Msg.CAT01DataItems[CAT01.ItemIDToIndex("040")].value;
this.listBoxMainDataBox.Items.Add("\tDistance:\t" + MyData.Measured_Distance);
this.listBoxMainDataBox.Items.Add("\tAzimuth:\t" + MyData.Measured_Azimuth.ToString());
string Lat, Lon;
MyData.LatLong.GetDegMinSecStringFormat(out Lat, out Lon);
this.listBoxMainDataBox.Items.Add("\tLat/Long:\t" + Lat + "/" + Lon);
this.listBoxMainDataBox.Items.Add(" ");
}
}
}
else
{
this.listBoxMainDataBox.Items.Add("No data of this CAT/Item was received !!!");
}
}