355,6 → 355,7 |
checkBoxGPXLog.IsChecked = _bGPXLog; |
checkBoxShowWPRoute.IsChecked = _bShowWPRoute; |
|
_initSerialCtrl(); |
} |
/// <summary> |
/// initialize the datatables |
2673,6 → 2674,23 |
if(sVal != "") comboBoxRouteColor.SelectedIndex = Convert.ToInt32(sVal); |
sVal = ini.IniReadValue("waypoints", "showWPRoute"); |
if(sVal != "") _bShowWPRoute = Convert.ToBoolean(sVal); |
|
for (int i = 0; i < 12; i++) |
{ |
sVal = ini.IniReadValue("serial", "ch" + i.ToString() + "Val"); |
if (sVal != "") |
serChan[i] = Convert.ToInt16(sVal); |
sVal = ini.IniReadValue("serial", "ch" + i.ToString() + "Title"); |
if (sVal != "") |
serChanTitle[i] = sVal; |
for (int y = 0; i < 4 && y < 3; y++) |
{ |
sVal = ini.IniReadValue("serial", "ch" + i.ToString() + "ValSub" + y.ToString()); |
if (sVal != "") |
serChan_sub[(i * 3) + y] = Convert.ToInt16(sVal); |
} |
} |
|
} |
catch (Exception e) |
{ |
2759,6 → 2777,17 |
ini.IniWriteValue("waypoints", "coptercolor", comboBoxCopterColor.SelectedIndex.ToString()); |
ini.IniWriteValue("waypoints", "routecolor", comboBoxRouteColor.SelectedIndex.ToString()); |
ini.IniWriteValue("waypoints", "showWPRoute", _bShowWPRoute.ToString()); |
|
for (int i = 0; i < 12; i++) |
{ |
ini.IniWriteValue("serial", "ch" + i.ToString() + "Val", serChan[i].ToString()); |
ini.IniWriteValue("serial", "ch" + i.ToString() + "Title", serChanTitle[i]); |
for (int y = 0; i < 4 && y < 3; y++) |
{ |
ini.IniWriteValue("serial", "ch" + i.ToString() + "ValSub" + y.ToString(), serChan_sub[(i * 3) + y].ToString()); |
} |
} |
|
} |
catch (Exception e) |
{ |
2766,7 → 2795,257 |
MessageBox.Show("Error writing ini-file!" + Environment.NewLine + "Please make sure that the programm is in a location where it is allowed to write" + Environment.NewLine + e.Message, "Write ini-file", MessageBoxButton.OK, MessageBoxImage.Error); |
} |
} |
#region serial channels |
/// <summary> |
/// Sending the serial channel values |
/// </summary> |
void _sendSerialData() |
{ |
byte[] serData = new byte[12]; |
for (int i = 0; i < 12; i++) |
{ |
serData[i] = unchecked((byte)(serChan[i] - 127)); |
} |
_sendControllerMessage('y', 1, serData); |
} |
/// <summary> |
/// init the controls for displaying |
/// and setting serial control channels |
/// </summary> |
void _initSerialCtrl() |
{ |
SerChan1ScaleSlider.Value = serChan[0]; |
textBoxSerial1.Text = serChanTitle[0]; |
SerChan2ScaleSlider.Value = serChan[1]; |
textBoxSerial2.Text = serChanTitle[1]; |
//SerChan3ScaleSlider.Value = serChan[2]; |
//textBoxSerial3.Text = serChanTitle[2]; |
//SerChan4ScaleSlider.Value = serChan[3]; |
//textBoxSerial4.Text = serChanTitle[3]; |
//trckbarSerial5.Value = serChan[4]; |
//textBoxSerial5.Text = serChanTitle[4]; |
//trckbarSerial6.Value = serChan[5]; |
//textBoxSerial6.Text = serChanTitle[5]; |
//trckbarSerial7.Value = serChan[6]; |
//textBoxSerial7.Text = serChanTitle[6]; |
//trckbarSerial8.Value = serChan[7]; |
//textBoxSerial8.Text = serChanTitle[7]; |
|
textBoxSerial1_val1.Text = serChan_sub[0].ToString(); |
textBoxSerial1_val2.Text = serChan_sub[1].ToString(); |
textBoxSerial1_val3.Text = serChan_sub[2].ToString(); |
textBoxSerial2_val1.Text = serChan_sub[3].ToString(); |
textBoxSerial2_val2.Text = serChan_sub[4].ToString(); |
textBoxSerial2_val3.Text = serChan_sub[5].ToString(); |
//textBoxSerial3_val1.Text = serChan_sub[6].ToString(); |
//textBoxSerial3_val2.Text = serChan_sub[7].ToString(); |
//textBoxSerial3_val3.Text = serChan_sub[8].ToString(); |
//textBoxSerial4_val1.Text = serChan_sub[9].ToString(); |
//textBoxSerial4_val2.Text = serChan_sub[10].ToString(); |
//textBoxSerial4_val3.Text = serChan_sub[11].ToString(); |
} |
private void SerChan1ScaleSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) |
{ |
if (!_init) |
{ |
serChan[0] = (int)SerChan1ScaleSlider.Value; |
_sendSerialData(); |
} |
} |
private void textBoxSerial1_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (!_init) |
{ |
serChanTitle[0] = textBoxSerial1.Text; |
} |
} |
private void textBoxSerial1_val1_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial1_val1.Text.Length > 0 & !_init) |
{ |
serChan_sub[0] = Convert.ToInt16(textBoxSerial1_val1.Text); |
} |
} |
private void textBoxSerial1_val2_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial1_val2.Text.Length > 0 & !_init) |
{ |
serChan_sub[1] = Convert.ToInt16(textBoxSerial1_val2.Text); |
} |
} |
private void textBoxSerial1_val3_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial1_val3.Text.Length > 0 & !_init) |
{ |
serChan_sub[2] = Convert.ToInt16(textBoxSerial1_val3.Text); |
} |
} |
private void btnSer1_val1_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial1_val1.Text.Length > 0) |
{ |
SerChan1ScaleSlider.Value = Convert.ToInt16(textBoxSerial1_val1.Text); |
} |
} |
private void btnSer1_0_Click(object sender, RoutedEventArgs e) |
{ |
SerChan1ScaleSlider.Value = 0; |
} |
private void btnSer1_127_Click(object sender, RoutedEventArgs e) |
{ |
SerChan1ScaleSlider.Value = 127; |
} |
private void btnSer1_254_Click(object sender, RoutedEventArgs e) |
{ |
SerChan1ScaleSlider.Value = 254; |
} |
private void btnSer1_val2_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial1_val2.Text.Length > 0) |
{ |
SerChan1ScaleSlider.Value = Convert.ToInt16(textBoxSerial1_val2.Text); |
} |
} |
private void btnSer1_val3_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial1_val3.Text.Length > 0) |
{ |
SerChan1ScaleSlider.Value = Convert.ToInt16(textBoxSerial1_val3.Text); |
} |
} |
|
private void SerChan2ScaleSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) |
{ |
if (!_init) |
{ |
serChan[1] = (int)SerChan2ScaleSlider.Value; |
_sendSerialData(); |
} |
} |
private void textBoxSerial2_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (!_init) |
{ |
serChanTitle[1] = textBoxSerial2.Text; |
} |
} |
private void textBoxSerial2_val1_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial2_val1.Text.Length > 0 & !_init) |
{ |
serChan_sub[3] = Convert.ToInt16(textBoxSerial2_val1.Text); |
} |
} |
private void textBoxSerial2_val2_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial2_val2.Text.Length > 0 & !_init) |
{ |
serChan_sub[4] = Convert.ToInt16(textBoxSerial2_val2.Text); |
} |
} |
private void textBoxSerial2_val3_TextChanged(object sender, TextChangedEventArgs e) |
{ |
if (textBoxSerial2_val3.Text.Length > 0 & !_init) |
{ |
serChan_sub[5] = Convert.ToInt16(textBoxSerial2_val3.Text); |
} |
} |
private void btnSer2_0_Click(object sender, RoutedEventArgs e) |
{ |
SerChan2ScaleSlider.Value = 0; |
} |
private void btnSer2_127_Click(object sender, RoutedEventArgs e) |
{ |
SerChan2ScaleSlider.Value = 127; |
} |
private void btnSer2_254_Click(object sender, RoutedEventArgs e) |
{ |
SerChan2ScaleSlider.Value = 254; |
} |
private void btnSer2_val1_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial2_val1.Text.Length > 0) |
{ |
SerChan2ScaleSlider.Value = Convert.ToInt16(textBoxSerial2_val1.Text); |
} |
} |
private void btnSer2_val2_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial2_val2.Text.Length > 0) |
{ |
SerChan2ScaleSlider.Value = Convert.ToInt16(textBoxSerial2_val2.Text); |
} |
} |
private void btnSer2_val3_Click(object sender, RoutedEventArgs e) |
{ |
if (textBoxSerial2_val3.Text.Length > 0) |
{ |
SerChan2ScaleSlider.Value = Convert.ToInt16(textBoxSerial2_val3.Text); |
} |
} |
/// <summary> |
/// checks the input of a textbox |
/// for valid data |
/// in this case values 0-254 |
/// </summary> |
/// <param name="sender"></param> |
/// <param name="e"></param> |
private void textBox_serial_KeyPress(object sender, KeyEventArgs e) |
{ |
if ("1234567890,\b".IndexOf(e.Key.ToString()) < 0) //general check for valid chars(0-9) and backspace (\b) |
e.Handled = true; |
else |
if ("\b".IndexOf(e.Key.ToString()) < 0) |
if (Convert.ToInt16(((TextBox)sender).Text + e.Key) > 254) //if valid and not backspace, check for upper limit of the resulting number |
e.Handled = true; |
else |
{ |
int i = -1; |
switch (((TextBox)sender).Name) |
{ |
case "textBoxSerial1_val1": |
i = 0; |
break; |
case "textBoxSerial1_val2": |
i = 1; |
break; |
case "textBoxSerial1_val3": |
i = 2; |
break; |
case "textBoxSerial2_val1": |
i = 3; |
break; |
case "textBoxSerial2_val2": |
i = 4; |
break; |
case "textBoxSerial2_val3": |
i = 5; |
break; |
case "textBoxSerial3_val1": |
i = 6; |
break; |
case "textBoxSerial3_val2": |
i = 7; |
break; |
case "textBoxSerial3_val3": |
i = 8; |
break; |
case "textBoxSerial4_val1": |
i = 9; |
break; |
case "textBoxSerial4_val2": |
i = 10; |
break; |
case "textBoxSerial4_val3": |
i = 11; |
break; |
} |
if (i > -1) |
serChan_sub[i] = Convert.ToInt16(((TextBox)sender).Text + e.Key.ToString()); |
} |
} |
|
#endregion serial channels |
#region WP |
void _readWPLFile() |
{ |