Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2348 → Rev 2349

/MKLiveView/v1.0/Source/MainWindow.xaml.cs
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()
{