2217,14 → 2217,20 |
} |
void _sendWPList() |
{ |
_sendWPList(0); |
} |
void _sendWPList(int iStart) |
{ |
int iTimeout = 0; |
if (serialPortCtrl.Port.IsOpen) |
{ |
if (_clearCopterWPList()) |
{ |
for (int i = 0; i < dtWaypoints.Rows.Count; i++) |
int k = 1; |
for (int i = iStart; i < dtWaypoints.Rows.Count; i++) |
{ |
_sendWayPoint(dtWaypoints.Rows[i],-1,'w'); |
k = iStart > 0 ? k : -1; |
_sendWayPoint(dtWaypoints.Rows[i], k, 'w'); |
|
_iWPCount = -1; |
iTimeout = 0; |
2239,6 → 2245,7 |
break; |
} |
Dispatcher.Invoke(() => lblWPCount.Content = _iWPCount.ToString()); |
k++; |
} |
} |
} |
2246,6 → 2253,7 |
Log(LogMsgType.Error, "NOT CONNECTED!"); |
|
} |
|
bool _sendWayPoint(DataRow dr, int index, char command) |
{ |
|
2307,7 → 2315,8 |
//CamAngle |
bData[23] = (byte)Convert.ToInt16(dr[12]); |
//Name |
byte[] name = ASCIIEncoding.ASCII.GetBytes((string)dr[2]); |
string s = index > 0 ? ((string)dr[2]).Substring(0, 1) + index.ToString() : (string)dr[2]; |
byte[] name = ASCIIEncoding.ASCII.GetBytes(s); |
bData[24] = name.Length > 0 ? name[0] : (byte)0; |
bData[25] = name.Length > 1 ? name[1] : (byte)0; |
bData[26] = name.Length > 2 ? name[2] : (byte)0; |
2440,6 → 2449,7 |
} |
} |
|
#region ui |
/// <summary> |
/// Switch between fullscreen and normal window mode |
/// save & restore scaling settings |
2553,6 → 2563,7 |
scaleNormalHorizon = UIScaleHorizonSlider.Value; |
} |
} |
#endregion ui |
|
/// <summary> |
/// read settings from ini-file |
3529,10 → 3540,13 |
{ |
if (dgvWP.SelectedIndex > -1 && dgvWP.SelectedIndex < dtWaypoints.Rows.Count) |
{ |
if (_wpCount > 0) |
_sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], -1,'s'); |
else |
_sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], 1,'s'); |
//if (_wpCount > 0) |
// _sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], -1,'s'); |
//else |
// _sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], 1,'s'); |
int index = dgvWP.SelectedIndex; |
Thread t = new Thread(() => _sendWPList(index)); |
t.Start(); |
|
Dispatcher.Invoke(() => { |
DataGridRow row; |
3552,33 → 3566,6 |
}); |
} |
} |
private void btnSendActiveWP2_Click(object sender, RoutedEventArgs e) |
{ |
if (dgvWP.SelectedIndex > -1 && dgvWP.SelectedIndex < dtWaypoints.Rows.Count) |
{ |
if (_wpCount > 0) |
_sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], _wpCount,'s'); |
else |
_sendWayPoint(dtWaypoints.Rows[dgvWP.SelectedIndex], 1,'s'); |
|
Dispatcher.Invoke(() => { |
DataGridRow row; |
if (_wpIndex > -1 && _wpIndex < dgvWP.ItemContainerGenerator.Items.Count) |
{ |
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpIndex); |
row.Background = new SolidColorBrush(Colors.Transparent); |
row.BorderBrush = new SolidColorBrush(Colors.Transparent); |
row.BorderThickness = new Thickness(0); |
} |
_wpIndex = dgvWP.SelectedIndex; |
row = (DataGridRow)dgvWP.ItemContainerGenerator.ContainerFromIndex(_wpIndex); |
row.Background = new SolidColorBrush(Color.FromArgb(80, 0, 100, 255)); |
row.BorderBrush = new SolidColorBrush(Colors.Aqua); |
row.BorderThickness = new Thickness(2); |
dgvWP.UpdateLayout(); |
}); |
} |
} |
private void dgvWP_MouseUp(object sender, MouseButtonEventArgs e) |
{ |
_dgvWPselectEditRow(); |