From c254013048e03583e9e97bebc02cb7f669ab1a68 Mon Sep 17 00:00:00 2001 From: zxd Date: Wed, 11 Dec 2019 20:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=8C=89=E7=85=A7=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E6=8E=92=E5=BA=8F=E8=99=9A=E6=8B=9FID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Copters/ICopter.cs | 2 +- .../Copters/IVisibleStatus.cs | 2 +- .../PlaneGcsSdk.Contract_Shared.projitems | 1 + .../CommunicationManagement/CommModule.cs | 23 +++++++++++++++++-- .../Copters/CopterImplSharedPart.cs | 20 +++++++++++++++- 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/PlaneGcsSdk.Contract_Shared/Copters/ICopter.cs b/PlaneGcsSdk.Contract_Shared/Copters/ICopter.cs index d4c4a61..63282e1 100644 --- a/PlaneGcsSdk.Contract_Shared/Copters/ICopter.cs +++ b/PlaneGcsSdk.Contract_Shared/Copters/ICopter.cs @@ -2,7 +2,7 @@ namespace Plane.Copters { - public partial interface ICopter : ICopterStatus, ICopterEvents, ICopterActions, ICopterCommunication, INotifyPropertyChanged, ICopterAttribute + public partial interface ICopter : ICopterStatus, ICopterEvents, ICopterVirtualId, ICopterActions, ICopterCommunication, INotifyPropertyChanged, ICopterAttribute { } diff --git a/PlaneGcsSdk.Contract_Shared/Copters/IVisibleStatus.cs b/PlaneGcsSdk.Contract_Shared/Copters/IVisibleStatus.cs index 379184a..0a8489c 100644 --- a/PlaneGcsSdk.Contract_Shared/Copters/IVisibleStatus.cs +++ b/PlaneGcsSdk.Contract_Shared/Copters/IVisibleStatus.cs @@ -10,6 +10,6 @@ namespace Plane.Copters /// /// 获取名称。 /// - string Name { get; } + string Name { get; set; } } } diff --git a/PlaneGcsSdk.Contract_Shared/PlaneGcsSdk.Contract_Shared.projitems b/PlaneGcsSdk.Contract_Shared/PlaneGcsSdk.Contract_Shared.projitems index f92db2d..7764b35 100644 --- a/PlaneGcsSdk.Contract_Shared/PlaneGcsSdk.Contract_Shared.projitems +++ b/PlaneGcsSdk.Contract_Shared/PlaneGcsSdk.Contract_Shared.projitems @@ -22,6 +22,7 @@ + diff --git a/PlaneGcsSdk_Shared/CommunicationManagement/CommModule.cs b/PlaneGcsSdk_Shared/CommunicationManagement/CommModule.cs index 74652b2..196479f 100644 --- a/PlaneGcsSdk_Shared/CommunicationManagement/CommModule.cs +++ b/PlaneGcsSdk_Shared/CommunicationManagement/CommModule.cs @@ -413,6 +413,23 @@ namespace Plane.CommunicationManagement /// public async Task WriteCommPacketAsync(short copterId, short messageType, byte[] data = null, byte[] batchPacket = null) { + if (messageType == MavComm.COMM_DOWNLOAD_COMM && copterId == 0) + { + short byteNum; + short length; + if (batchPacket == null) + { + byteNum = 0; + length = (short)((0x5 << 12) ^ byteNum); + batchPacket = BitConverter.GetBytes(length); + } + else + { + byteNum = (short)(batchPacket.Length / 2); + length = (short)((0x5 << 12) ^ byteNum); + batchPacket = BitConverter.GetBytes(length).Concat(batchPacket).ToArray(); + } + } if (data != null && batchPacket != null) data = batchPacket.Concat(data).ToArray(); int packetlength = data == null ? 0 : data.Length; @@ -466,11 +483,13 @@ namespace Plane.CommunicationManagement { int dataLength = 6 + 2 + indata.Length * 32; byte[] data = new byte[dataLength]; + Int16 countNum = (Int16)indata.Length; + + byte[] uses = new byte[] { 0, 1, 0, 0, 0, 0 }; - byte[] uses = new byte[] { 0, 0, 1, 0, 0, 0 }; Array.Copy(uses, 0, data, 0, 6); - Int16 countNum = (Int16)indata.Length; + Array.Copy(BitConverter.GetBytes(countNum), 0, data, 2, 2); Array.Copy(BitConverter.GetBytes(countNum), 0, data, 6, 2); int offset = 8; diff --git a/PlaneGcsSdk_Shared/Copters/CopterImplSharedPart.cs b/PlaneGcsSdk_Shared/Copters/CopterImplSharedPart.cs index ae5a138..0a498fc 100644 --- a/PlaneGcsSdk_Shared/Copters/CopterImplSharedPart.cs +++ b/PlaneGcsSdk_Shared/Copters/CopterImplSharedPart.cs @@ -169,6 +169,11 @@ namespace Plane.Copters private double _RecordLng; + + private int _VirtualId; + + private bool _DisplayVirtualId = false; + #endregion Backing Fields public CopterImplSharedPart(SynchronizationContext uiSyncContext) : base(uiSyncContext) @@ -394,6 +399,20 @@ namespace Plane.Copters protected set { Set(nameof(Elevation), ref _Elevation, value); } } + public int VirtualId + { + get { return _VirtualId; } + set { Set(nameof(VirtualId), ref _VirtualId, value); } + } + + public bool DisplayVirtualId + { + get { return _DisplayVirtualId; } + set { Set(nameof(DisplayVirtualId), ref _DisplayVirtualId, value); } + } + + + /// /// 获取固件版本。 /// @@ -597,7 +616,6 @@ namespace Plane.Copters public string Name { get; set; } - public float Pitch { get { return _Pitch; }