|
|
|
@ -9,7 +9,9 @@ namespace nRTP |
|
|
|
public static class RTP |
|
|
|
public static class RTP |
|
|
|
{ |
|
|
|
{ |
|
|
|
//RTPMsgHeader |
|
|
|
//RTPMsgHeader |
|
|
|
private const UInt32 _len_pack = 50; |
|
|
|
private const UInt32 _len_pack = 60; |
|
|
|
|
|
|
|
private const UInt32 _len_head = 20; |
|
|
|
|
|
|
|
private static UInt32 _len_data = _len_pack - _len_head; |
|
|
|
|
|
|
|
|
|
|
|
private static Byte _VerPXCC = 2; |
|
|
|
private static Byte _VerPXCC = 2; |
|
|
|
private static Byte _Ver = 2; // версия протокола (текущая версия 2) |
|
|
|
private static Byte _Ver = 2; // версия протокола (текущая версия 2) |
|
|
|
@ -146,10 +148,10 @@ namespace nRTP |
|
|
|
public static Byte SD_rezerv; |
|
|
|
public static Byte SD_rezerv; |
|
|
|
|
|
|
|
|
|
|
|
//RTPVideoSupplementalDataExtra |
|
|
|
//RTPVideoSupplementalDataExtra |
|
|
|
public static UInt32 DE_TLV_X; // Линия визирования цели в растроввых координатах |
|
|
|
//public static UInt32 DE_TLV_X; // Линия визирования цели в растроввых координатах |
|
|
|
public static UInt32 DE_TLV_Y; // |
|
|
|
//public static UInt32 DE_TLV_Y; // |
|
|
|
public static UInt32 DE_TLV_dX; // поправки для линии визирования цели в растроввых координатах |
|
|
|
//public static UInt32 DE_TLV_dX; // поправки для линии визирования цели в растроввых координатах |
|
|
|
public static UInt32 DE_TLV_dY; // |
|
|
|
//public static UInt32 DE_TLV_dY; // |
|
|
|
|
|
|
|
|
|
|
|
public static UInt32 SeqCounter |
|
|
|
public static UInt32 SeqCounter |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -164,47 +166,48 @@ namespace nRTP |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static Byte[] DataH0 = new Byte[76]; |
|
|
|
public static Byte[] DataH0 = new Byte[_len_pack]; |
|
|
|
public static Byte[] DataH1 = new Byte[20]; |
|
|
|
//public static Byte[] DataH0 = new Byte[76]; |
|
|
|
|
|
|
|
public static Byte[] DataH1 = new Byte[_len_head]; |
|
|
|
|
|
|
|
|
|
|
|
public static void MakeDataH0() |
|
|
|
public static void MakeDataH0() |
|
|
|
{ |
|
|
|
{ |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_VerPXCC), 0, DataH0, 0, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_VerPXCC), 0, DataH0, 0, 1); // 0 - 0 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_MPT), 0, DataH0, 1, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_MPT), 0, DataH0, 1, 1); // 1 - 1 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SeqCounter_Low), 0, DataH0, 2, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SeqCounter_Low), 0, DataH0, 2, 2); // 2 - 3 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_Timestamp), 0, DataH0, 4, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_Timestamp), 0, DataH0, 4, 4); // 4 - 7 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SSRC), 0, DataH0, 8, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SSRC), 0, DataH0, 8, 4); // 8 - 11 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SeqCounter_Hi), 0, DataH0, 12, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_SeqCounter_Hi), 0, DataH0, 12, 2); // 12 - 13 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_DataLen), 0, DataH0, 14, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_DataLen), 0, DataH0, 14, 2); // 14 - 15 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_RowNumber), 0, DataH0, 16, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_RowNumber), 0, DataH0, 16, 2); // 16 - 17 |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_Offset), 0, DataH0, 18, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(MH_Offset), 0, DataH0, 18, 2); // 18 - 19 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Width), 0, DataH0, 20, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Width), 0, DataH0, 20, 2); // 20 - 21 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Height), 0, DataH0, 22, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Height), 0, DataH0, 22, 2); // 22 - 23 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_AzUpr), 0, DataH0, 24, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_AzUpr), 0, DataH0, 24, 4); // 24 - 27 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_ElUpr), 0, DataH0, 28, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_ElUpr), 0, DataH0, 28, 4); // 28 - 31 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Shirota), 0, DataH0, 32, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Shirota), 0, DataH0, 32, 4); // 32 - 35 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Dolgota), 0, DataH0, 36, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Dolgota), 0, DataH0, 36, 4); // 36 - 39 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Vysota), 0, DataH0, 40, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Vysota), 0, DataH0, 40, 4); // 40 - 43 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Course), 0, DataH0, 44, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Course), 0, DataH0, 44, 2); // 44 - 45 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Roll), 0, DataH0, 46, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Roll), 0, DataH0, 46, 2); // 46 - 47 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Pitch), 0, DataH0, 48, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Pitch), 0, DataH0, 48, 2); // 48 - 49 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_FrameId), 0, DataH0, 50, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_FrameId), 0, DataH0, 50, 2); // 50 - 51 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(rez0), 0, DataH0, 52, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(rez0), 0, DataH0, 52, 2); // 52 - 53 |
|
|
|
Array.Copy(BitConverter.GetBytes(rez1), 0, DataH0, 54, 2); |
|
|
|
Array.Copy(BitConverter.GetBytes(rez1), 0, DataH0, 54, 2); // 54 - 55 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(rez2), 0, DataH0, 56, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(rez2), 0, DataH0, 56, 1); // 56 - 56 |
|
|
|
Array.Copy(BitConverter.GetBytes(rez3), 0, DataH0, 57, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(rez3), 0, DataH0, 57, 1); // 57 - 57 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Status), 0, DataH0, 58, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Status), 0, DataH0, 58, 1); // 58 - 58 |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_rezerv), 0, DataH0, 59, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_rezerv), 0, DataH0, 59, 1); // 59 - 59 |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_X), 0, DataH0, 60, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_X), 0, DataH0, 60, 4); // 60 - 63 |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_Y), 0, DataH0, 64, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_Y), 0, DataH0, 64, 4); // 64 - 67 |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_dX), 0, DataH0, 68, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_dX), 0, DataH0, 68, 4); // 68 - 71 |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_dY), 0, DataH0, 72, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_dY), 0, DataH0, 72, 4); // 72 - 75 |
|
|
|
} |
|
|
|
} |
|
|
|
public static void MakeDataH1() |
|
|
|
public static void MakeDataH1() |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -246,10 +249,10 @@ namespace nRTP |
|
|
|
rez3 = DataH0[57]; |
|
|
|
rez3 = DataH0[57]; |
|
|
|
SD_Status = DataH0[58]; |
|
|
|
SD_Status = DataH0[58]; |
|
|
|
SD_rezerv = DataH0[59]; |
|
|
|
SD_rezerv = DataH0[59]; |
|
|
|
DE_TLV_X = BitConverter.ToUInt32(DataH0, 60); |
|
|
|
//DE_TLV_X = BitConverter.ToUInt32(DataH0, 60); |
|
|
|
DE_TLV_Y = BitConverter.ToUInt32(DataH0, 64); |
|
|
|
//DE_TLV_Y = BitConverter.ToUInt32(DataH0, 64); |
|
|
|
DE_TLV_dX = BitConverter.ToUInt32(DataH0, 68); |
|
|
|
//DE_TLV_dX = BitConverter.ToUInt32(DataH0, 68); |
|
|
|
DE_TLV_dY = BitConverter.ToUInt32(DataH0, 72); |
|
|
|
//DE_TLV_dY = BitConverter.ToUInt32(DataH0, 72); |
|
|
|
} |
|
|
|
} |
|
|
|
public static void GetDataH1() |
|
|
|
public static void GetDataH1() |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -268,7 +271,9 @@ namespace nRTP |
|
|
|
public static class RTPet |
|
|
|
public static class RTPet |
|
|
|
{ |
|
|
|
{ |
|
|
|
//RTPMsgHeader |
|
|
|
//RTPMsgHeader |
|
|
|
private const UInt32 _len_pack = 50; |
|
|
|
private const UInt32 _len_pack = 60; |
|
|
|
|
|
|
|
private const UInt32 _len_head = 20; |
|
|
|
|
|
|
|
private static UInt32 _len_data = _len_pack - _len_head; |
|
|
|
|
|
|
|
|
|
|
|
private static Byte _VerPXCC = 2; |
|
|
|
private static Byte _VerPXCC = 2; |
|
|
|
private static Byte _Ver = 2; // версия протокола (текущая версия 2) |
|
|
|
private static Byte _Ver = 2; // версия протокола (текущая версия 2) |
|
|
|
@ -405,10 +410,10 @@ namespace nRTP |
|
|
|
public static Byte SD_rezerv; |
|
|
|
public static Byte SD_rezerv; |
|
|
|
|
|
|
|
|
|
|
|
//RTPVideoSupplementalDataExtra |
|
|
|
//RTPVideoSupplementalDataExtra |
|
|
|
public static UInt32 DE_TLV_X; // Линия визирования цели в растроввых координатах |
|
|
|
//public static UInt32 DE_TLV_X; // Линия визирования цели в растроввых координатах |
|
|
|
public static UInt32 DE_TLV_Y; // |
|
|
|
//public static UInt32 DE_TLV_Y; // |
|
|
|
public static UInt32 DE_TLV_dX; // поправки для линии визирования цели в растроввых координатах |
|
|
|
//public static UInt32 DE_TLV_dX; // поправки для линии визирования цели в растроввых координатах |
|
|
|
public static UInt32 DE_TLV_dY; // |
|
|
|
//public static UInt32 DE_TLV_dY; // |
|
|
|
|
|
|
|
|
|
|
|
public static UInt32 SeqCounter |
|
|
|
public static UInt32 SeqCounter |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -423,8 +428,8 @@ namespace nRTP |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static Byte[] DataH0 = new Byte[76]; |
|
|
|
public static Byte[] DataH0 = new Byte[_len_pack]; |
|
|
|
public static Byte[] DataH1 = new Byte[20]; |
|
|
|
public static Byte[] DataH1 = new Byte[_len_head]; |
|
|
|
|
|
|
|
|
|
|
|
public static void MakeDataH0() |
|
|
|
public static void MakeDataH0() |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -460,10 +465,10 @@ namespace nRTP |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Status), 0, DataH0, 58, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_Status), 0, DataH0, 58, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_rezerv), 0, DataH0, 59, 1); |
|
|
|
Array.Copy(BitConverter.GetBytes(SD_rezerv), 0, DataH0, 59, 1); |
|
|
|
|
|
|
|
|
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_X), 0, DataH0, 60, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_X), 0, DataH0, 60, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_Y), 0, DataH0, 64, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_Y), 0, DataH0, 64, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_dX), 0, DataH0, 68, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_dX), 0, DataH0, 68, 4); |
|
|
|
Array.Copy(BitConverter.GetBytes(DE_TLV_dY), 0, DataH0, 72, 4); |
|
|
|
//Array.Copy(BitConverter.GetBytes(DE_TLV_dY), 0, DataH0, 72, 4); |
|
|
|
} |
|
|
|
} |
|
|
|
public static void MakeDataH1() |
|
|
|
public static void MakeDataH1() |
|
|
|
{ |
|
|
|
{ |
|
|
|
@ -505,10 +510,10 @@ namespace nRTP |
|
|
|
SD_ly = DataH0[57]; |
|
|
|
SD_ly = DataH0[57]; |
|
|
|
SD_Status = DataH0[58]; |
|
|
|
SD_Status = DataH0[58]; |
|
|
|
SD_rezerv = DataH0[59]; |
|
|
|
SD_rezerv = DataH0[59]; |
|
|
|
DE_TLV_X = BitConverter.ToUInt32(DataH0, 60); |
|
|
|
//DE_TLV_X = BitConverter.ToUInt32(DataH0, 60); |
|
|
|
DE_TLV_Y = BitConverter.ToUInt32(DataH0, 64); |
|
|
|
//DE_TLV_Y = BitConverter.ToUInt32(DataH0, 64); |
|
|
|
DE_TLV_dX = BitConverter.ToUInt32(DataH0, 68); |
|
|
|
//DE_TLV_dX = BitConverter.ToUInt32(DataH0, 68); |
|
|
|
DE_TLV_dY = BitConverter.ToUInt32(DataH0, 72); |
|
|
|
//DE_TLV_dY = BitConverter.ToUInt32(DataH0, 72); |
|
|
|
} |
|
|
|
} |
|
|
|
public static void GetDataH1() |
|
|
|
public static void GetDataH1() |
|
|
|
{ |
|
|
|
{ |
|
|
|
|