测试双频
修改机头
This commit is contained in:
parent
a8eb01bfb3
commit
b554a1f4ae
@ -81,6 +81,7 @@
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
<RowDefinition/>
|
||||
</Grid.RowDefinitions>
|
||||
<Grid.ColumnDefinitions>
|
||||
<ColumnDefinition/>
|
||||
@ -105,6 +106,8 @@
|
||||
</StackPanel>
|
||||
<Button BorderThickness="1" BorderBrush="#FFFFFF" Content="导入分组信息" Margin="25,8,0,8" Grid.Row="2"
|
||||
Command="{Binding ImportGroupCommand}"/>
|
||||
<Button BorderThickness="1" BorderBrush="#FFFFFF" Content="导出任务时间" Margin="25,8,0,8" Grid.Row="3"
|
||||
Command="{Binding ImportTaskTimeCommand}"/>
|
||||
</Grid>
|
||||
</MenuItem>
|
||||
</Menu>
|
||||
|
@ -39,6 +39,7 @@ namespace Plane.FormationCreator.ViewModels
|
||||
{
|
||||
_formationController = formationController;
|
||||
_copterManager = copterManager;
|
||||
LoadRTKcomvalue();
|
||||
}
|
||||
|
||||
private FormationController _formationController;
|
||||
@ -54,7 +55,7 @@ namespace Plane.FormationCreator.ViewModels
|
||||
set { Set(nameof(AltP), ref _AltP, value); }
|
||||
}
|
||||
|
||||
private float _TaskOffAlt = 10;
|
||||
private float _TaskOffAlt = 2;
|
||||
public float TaskOffAlt
|
||||
{
|
||||
get { return _TaskOffAlt; }
|
||||
@ -751,12 +752,15 @@ namespace Plane.FormationCreator.ViewModels
|
||||
return _TurnOffTestLightsCommand ?? (_TurnOffTestLightsCommand = new RelayCommand(async () =>
|
||||
{
|
||||
int num = 0;
|
||||
var o = new { NTF_G_RTLOFF = 1 };
|
||||
//var o = new { NTF_G_RTLOFF = 1 };
|
||||
num = await _commModuleManager.SetMultipleParamAsync(
|
||||
"NTF_G_RTLOFF", "1",
|
||||
"FS_GCS_ENABLE", "0",
|
||||
"NTF_G_RTKTEST", "0",
|
||||
"WAYPOINT_GLED", "0");
|
||||
"WAYPOINT_GLED", "0",
|
||||
"FS_BATT_VOLTAGE", "14.2",
|
||||
"RTL_ALT","3000",
|
||||
"RTL_ALT_MAX","5000");
|
||||
Alert.Show($"广播完成! 当前序列号:{num}");
|
||||
}));
|
||||
}
|
||||
@ -859,33 +863,37 @@ namespace Plane.FormationCreator.ViewModels
|
||||
Alert.Show("RTK数据开始发送", "提示", MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
RTKState = "RTK数据发送中";
|
||||
RTKbtntxt = "停止RTK";
|
||||
|
||||
await SaveRTKcomvalue();
|
||||
await Task.Run(async () =>
|
||||
{
|
||||
//读取RTK数据循环
|
||||
rtcm3 rtcm3 = new rtcm3();
|
||||
while (trkthreadrun)
|
||||
{
|
||||
//读入RTK数据
|
||||
var packet = await ReadRTKPacketAsync().ConfigureAwait(false);
|
||||
if (packet != null)
|
||||
|
||||
|
||||
if (packet != null && packet.Length > 0)
|
||||
{
|
||||
Console.WriteLine("rev:" + (ushort)packet.Length);
|
||||
|
||||
//分发到每个飞机
|
||||
/*
|
||||
foreach (var copter in _copterManager.Copters)
|
||||
//Message.Show($"{DateTime.Now.ToString("HH:mm:ss fff")}---packet.length = {packet.Length}");
|
||||
int read = packet.Length;
|
||||
if (read > 0)
|
||||
{
|
||||
// int iid = Convert.ToInt32(copter.Name);
|
||||
//临时用来区分RTK发送数据
|
||||
//if (iid<50)
|
||||
|
||||
await copter.InjectGpsDataAsync(packet, (ushort)packet.Length);
|
||||
for (int a = 0; a < read; a++)
|
||||
{
|
||||
int seenmsg = -1;
|
||||
// rtcm
|
||||
if ((seenmsg = rtcm3.Read(packet[a])) > 0)
|
||||
{
|
||||
//Console.WriteLine($"{DateTime.Now.ToLongTimeString()}---rtcm3.length = {rtcm3.length}");
|
||||
//Message.Show($"{DateTime.Now.ToString("HH:mm:ss fff")}---rtcm3.length = {rtcm3.length}");
|
||||
await _commModuleManager.InjectGpsRTCMDataAsync(rtcm3.packet, rtcm3.length);
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
await _commModuleManager.InjectGpsDataAsync(packet, (ushort)packet.Length);
|
||||
}
|
||||
|
||||
await Task.Delay(200).ConfigureAwait(false);
|
||||
await Task.Delay(10).ConfigureAwait(false);
|
||||
|
||||
}
|
||||
}).ConfigureAwait(false);
|
||||
@ -900,25 +908,6 @@ namespace Plane.FormationCreator.ViewModels
|
||||
RTKState = "未发送RTK数据";
|
||||
RTKbtntxt = "发送RTK";
|
||||
}
|
||||
/*
|
||||
await Task.Run(() =>
|
||||
{
|
||||
if (!Rtkport.IsOpen)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// var packet = await ReadRTKPacketAsync().ConfigureAwait(false);
|
||||
|
||||
while (trkthreadrun)
|
||||
{
|
||||
await ReadRTKPacketAsync();
|
||||
|
||||
// if (await Rtkport.ReadAsync(buffer, 0, Math.Min(buffer.Length, 110)) > 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
});*/
|
||||
}));
|
||||
}
|
||||
}
|
||||
@ -970,13 +959,17 @@ namespace Plane.FormationCreator.ViewModels
|
||||
{
|
||||
int read = commNTRIP.Read(buffer, 0, Math.Min(buffer.Length, commNTRIP.BytesToRead));
|
||||
|
||||
for (int a = 0; a < read; a++)
|
||||
if (read > 0)
|
||||
{
|
||||
int seenmsg = -1;
|
||||
// rtcm
|
||||
if ((seenmsg = rtcm3.Read(buffer[a])) > 0)
|
||||
for (int a = 0; a < read; a++)
|
||||
{
|
||||
await _commModuleManager.InjectGpsRTCMDataAsync(rtcm3.packet, rtcm3.length);
|
||||
int seenmsg = -1;
|
||||
// rtcm
|
||||
if ((seenmsg = rtcm3.Read(buffer[a])) > 0)
|
||||
{
|
||||
//Message.Show($"{DateTime.Now.ToString("HH:mm:ss fff")}---rtcm3.length = {rtcm3.length}");
|
||||
await _commModuleManager.InjectGpsRTCMDataAsync(rtcm3.packet, rtcm3.length);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -991,6 +984,21 @@ namespace Plane.FormationCreator.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
rtcm3 rtcm3 = new rtcm3();
|
||||
private async Task AnalysisRendRrcmData(byte[] buffer, int length)
|
||||
{
|
||||
for (int a = 0; a < length; a++)
|
||||
{
|
||||
int seenmsg = -1;
|
||||
// rtcm
|
||||
if ((seenmsg = rtcm3.Read(buffer[a])) > 0)
|
||||
{
|
||||
await _commModuleManager.InjectGpsRTCMDataAsync(rtcm3.packet, rtcm3.length);
|
||||
}
|
||||
}
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1702,6 +1710,28 @@ namespace Plane.FormationCreator.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 读取串口号
|
||||
/// </summary>
|
||||
private void LoadRTKcomvalue()
|
||||
{
|
||||
IniFiles inifilse = new IniFiles();
|
||||
RTKcomvalue = inifilse.IniReadvalue("Default", "RTKcomvalue");
|
||||
if (RTKcomvalue == "") RTKcomvalue = "COM6";
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 保存上次成功的串口号
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private async Task SaveRTKcomvalue()
|
||||
{
|
||||
IniFiles inifilse = new IniFiles();
|
||||
inifilse.IniWritevalue("Default", "RTKcomvalue", RTKcomvalue);
|
||||
await Task.Delay(1);
|
||||
}
|
||||
|
||||
private async Task LEDFlashAsync(ICopter copter, bool isOn)
|
||||
{
|
||||
// float gpsLed = await c.GetParamAsync("NOTI_GPSLED");
|
||||
|
@ -358,6 +358,42 @@ namespace Plane.FormationCreator.ViewModels
|
||||
}
|
||||
}
|
||||
|
||||
private ICommand _ImportTaskTimeCommand;
|
||||
public ICommand ImportTaskTimeCommand
|
||||
{
|
||||
get
|
||||
{
|
||||
return _ImportTaskTimeCommand ?? (_ImportTaskTimeCommand = new RelayCommand(() =>
|
||||
{
|
||||
var dialog = new SaveFileDialog
|
||||
{
|
||||
DefaultExt = "txt",
|
||||
Filter = "文本文件 (*.txt)|*.txt"
|
||||
};
|
||||
if (dialog.ShowDialog() == true)
|
||||
{
|
||||
|
||||
var importText = File.ReadAllText(dialog.FileName);
|
||||
|
||||
dynamic importInfo = JsonConvert.DeserializeObject(importText);
|
||||
dynamic taskinfo = null;
|
||||
if (importInfo is Newtonsoft.Json.Linq.JObject)
|
||||
{
|
||||
taskinfo = importInfo.tasks;
|
||||
if (importInfo.groups != null)
|
||||
{
|
||||
_groupManager.ImportGroupsInfo(importInfo.groups);
|
||||
}
|
||||
}
|
||||
else if (importInfo is Newtonsoft.Json.Linq.JArray)
|
||||
{
|
||||
taskinfo = importInfo;
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
private void ImportCoptersLocate(dynamic coptersLocate)
|
||||
{
|
||||
int index = 0;
|
||||
|
@ -86,10 +86,11 @@
|
||||
Command="{Binding ReportGPSTypeCommand}"/>
|
||||
<Button Content="统计模块"
|
||||
Command="{Binding DetectionCommModuleVersion}" />
|
||||
<Button Content="正式灯光"
|
||||
<Button Content="正式参数"
|
||||
Command="{Binding TurnOffTestLightsCommand}"
|
||||
Visibility="Collapsed"/>
|
||||
<TextBox Width="30" Text="{Binding TaskOffAlt}"
|
||||
/>
|
||||
<TextBlock Margin="5,0,3,0" Text="起飞高度" VerticalAlignment="Center"></TextBlock>
|
||||
<TextBox Width="30" Height="26" Text="{Binding TaskOffAlt}"
|
||||
/>
|
||||
<Label Visibility="Collapsed">Lat</Label>
|
||||
<TextBox Visibility="Collapsed" Text="{Binding LatOffset}" Width="50"/>
|
||||
|
Loading…
Reference in New Issue
Block a user