Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 2311 → Rev 2312

/MKLiveView/v1.0/Source/MainWindow.xaml
661,7 → 661,7
</TabItem>
</TabControl>
</Grid>
<Grid x:Name="GridSettings" Background="#7B000000" HorizontalAlignment="Left" Width="233" Margin="23,36,0,0">
<Grid x:Name="GridSettings" Background="#7B000000" HorizontalAlignment="Left" Width="233" Margin="23,36,0,0" Visibility="Collapsed">
<TabControl x:Name="tabControlSettings" HorizontalAlignment="Left" Width="229" Background="{x:Null}" Margin="2,0,0,0">
<TabItem Header="General" Margin="0,0,-0.237,0">
<Grid x:Name="TabGridGeneral">
948,7 → 948,7
<Button x:Name="btnOSDEnter" Content="" HorizontalAlignment="Left" Height="34" Margin="87,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDEnter_Click"/>
<Button x:Name="btnOSDLeave" Content="" HorizontalAlignment="Left" Height="34" Margin="144,90,0,0" VerticalAlignment="Top" Width="52" Click="btnOSDLeave_Click"/>
</Grid>
<Grid x:Name="GridWP" Margin="23,36,25,0" Background="#7F000000" Height="275" VerticalAlignment="Top" Visibility="Collapsed">
<Grid x:Name="GridWP" Margin="23,36,25,0" Background="#7F000000" Height="387" VerticalAlignment="Top">
<DataGrid x:Name="dgvWP" Height="162" Margin="10,10,10,0" VerticalAlignment="Top" Background="{x:Null}" ItemsSource="{Binding}" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="14" HorizontalGridLinesBrush="#FF688CAF" VerticalGridLinesBrush="#FF688CAF" HeadersVisibility="Column" BorderBrush="{x:Null}" Padding="0"/>
<Button x:Name="btnGetWPList" Content="" HorizontalAlignment="Left" Height="39" Margin="10,172,0,0" VerticalAlignment="Top" Width="78" Click="btnGetWP_Click" ToolTip="Download WP-list from copter" BorderBrush="#FFBDBDBD">
<Button.Background>
955,8 → 955,8
<ImageBrush ImageSource="Images/FromCopterToPc.png" Stretch="Uniform"/>
</Button.Background>
</Button>
<Label x:Name="label4" Content="Items" HorizontalAlignment="Left" Margin="94,177,0,0" VerticalAlignment="Top" Width="80" Foreground="White"/>
<Label x:Name="lblWPCount" Content="##" HorizontalAlignment="Left" Margin="128,178,0,0" VerticalAlignment="Top" Width="28" Foreground="White"/>
<Label x:Name="label4" Content="Items" HorizontalAlignment="Right" Margin="0,350,5,0" VerticalAlignment="Top" Width="80" Foreground="White"/>
<Label x:Name="lblWPCount" Content="##" HorizontalAlignment="Right" Margin="0,351,23,0" VerticalAlignment="Top" Width="28" Foreground="White"/>
<Label x:Name="label4_Copy" Content="WP Index" HorizontalAlignment="Left" Margin="94,194,0,0" VerticalAlignment="Top" Width="80" Foreground="White" Visibility="Hidden"/>
<Label x:Name="lblWPIndex" Content="##" HorizontalAlignment="Left" Margin="170,194,0,0" VerticalAlignment="Top" Width="28" Foreground="White" Visibility="Hidden"/>
<Button x:Name="btnSendWPList" Content="" HorizontalAlignment="Left" Height="39" Margin="10,211,0,0" VerticalAlignment="Top" Width="78" ToolTip="Upload WP-list to copter" BorderBrush="#FFBDBDBD" Click="btnSendWPList_Click">
964,6 → 964,11
<ImageBrush ImageSource="Images/FromPcToCopter.png" Stretch="Uniform"/>
</Button.Background>
</Button>
<Button x:Name="btnLoadWPLFile" Content="" HorizontalAlignment="Left" Height="43" Margin="10,257,0,0" VerticalAlignment="Top" Width="42" ToolTip="load wp-list from file" BorderBrush="#FFBDBDBD" HorizontalContentAlignment="Center" Click="btnLoadWPLFile_Click">
<Button.Background>
<ImageBrush ImageSource="Images/LoadFile.png" Stretch="Uniform"/>
</Button.Background>
</Button>
</Grid>
<Grid x:Name="GridSideBarR" Background="#66000000" Margin="0,36,0,0" HorizontalAlignment="Right" Width="23">
<Label x:Name="labelMotordata" Content="Motors" Padding="0" RenderTransformOrigin="0.5,0.5" Margin="-25,233,-26,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Stretch" MouseDown="labelMotorData_MouseDown" FontSize="14" HorizontalAlignment="Left" Width="74" Height="22" VerticalAlignment="Top">
/MKLiveView/v1.0/Source/MainWindow.xaml.cs
2303,113 → 2303,120
_writeIni();
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
try
{
 
string sVal = ini.IniReadValue("timings", "AutorefreshDebugData");
if (sVal != "") _debugDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshNavCtrlData");
if (sVal != "") _navCtrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshBLCtrlData");
if (sVal != "") _blctrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshOSDData");
if (sVal != "") _OSDAutorefresh = Convert.ToBoolean(sVal);
string sVal = ini.IniReadValue("timings", "AutorefreshDebugData");
if (sVal != "") _debugDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshNavCtrlData");
if (sVal != "") _navCtrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshBLCtrlData");
if (sVal != "") _blctrlDataAutorefresh = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("timings", "AutorefreshOSDData");
if (sVal != "") _OSDAutorefresh = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("timings", "IntervalDebugData");
if (sVal != "") debugInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalNavCtrlData");
if (sVal != "") navctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalBLCtrlData");
if (sVal != "") blctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalOSDData");
if (sVal != "") OSDInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalDebugData");
if (sVal != "") debugInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalNavCtrlData");
if (sVal != "") navctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalBLCtrlData");
if (sVal != "") blctrlInterval = (byte)Convert.ToInt16(sVal);
sVal = ini.IniReadValue("timings", "IntervalOSDData");
if (sVal != "") OSDInterval = (byte)Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("topBar", "voltage");
if (sVal != "") chkBoxTopBarShowVoltage.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "capacity");
if (sVal != "") chkBoxTopBarShowCapacity.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "current");
if (sVal != "") chkBoxTopBarShowCurrent.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "flightTime");
if (sVal != "") chkBoxTopBarShowFlightTime.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "distanceHP");
if (sVal != "") chkBoxTopBarShowDistanceHP.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "height");
if (sVal != "") chkBoxTopBarShowHeight.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "speed");
if (sVal != "") chkBoxTopBarShowSpeed.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "magneticField");
if (sVal != "") chkBoxTopBarShowMF.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "satellites");
if (sVal != "") chkBoxTopBarShowSatellites.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "rc");
if (sVal != "") chkBoxTopBarShowRC.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "voltage");
if (sVal != "") chkBoxTopBarShowVoltage.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "capacity");
if (sVal != "") chkBoxTopBarShowCapacity.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "current");
if (sVal != "") chkBoxTopBarShowCurrent.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "flightTime");
if (sVal != "") chkBoxTopBarShowFlightTime.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "distanceHP");
if (sVal != "") chkBoxTopBarShowDistanceHP.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "height");
if (sVal != "") chkBoxTopBarShowHeight.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "speed");
if (sVal != "") chkBoxTopBarShowSpeed.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "magneticField");
if (sVal != "") chkBoxTopBarShowMF.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "satellites");
if (sVal != "") chkBoxTopBarShowSatellites.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("topBar", "rc");
if (sVal != "") chkBoxTopBarShowRC.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "saveFullScreen");
if (sVal != "") chkBoxSaveFullScreenState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveNormalState");
if (sVal != "") chkBoxSaveNormalState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveFullScreen");
if (sVal != "") chkBoxSaveFullScreenState.IsChecked = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("style", "saveNormalState");
if (sVal != "") chkBoxSaveNormalState.IsChecked = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("style", "scaleNormalAll");
if (sVal != "") scaleNormalAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalTopBar");
if (sVal != "") scaleNormalTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalMotors");
if (sVal != "") scaleNormalMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalOSD");
if (sVal != "") scaleNormalOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalLOG");
if (sVal != "") scaleNormalLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalHorizon");
if (sVal != "") scaleNormalHorizon = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalAll");
if (sVal != "") scaleNormalAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalTopBar");
if (sVal != "") scaleNormalTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalMotors");
if (sVal != "") scaleNormalMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalOSD");
if (sVal != "") scaleNormalOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalLOG");
if (sVal != "") scaleNormalLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleNormalHorizon");
if (sVal != "") scaleNormalHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("style", "scaleFullAll");
if (sVal != "") scaleFullAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullTopBar");
if (sVal != "") scaleFullTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullMotors");
if (sVal != "") scaleFullMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullOSD");
if (sVal != "") scaleFullOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullLOG");
if (sVal != "") scaleFullLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullHorizon");
if (sVal != "") scaleFullHorizon = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullAll");
if (sVal != "") scaleFullAll = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullTopBar");
if (sVal != "") scaleFullTopBar = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullMotors");
if (sVal != "") scaleFullMotors = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullOSD");
if (sVal != "") scaleFullOSD = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullLOG");
if (sVal != "") scaleFullLOG = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("style", "scaleFullHorizon");
if (sVal != "") scaleFullHorizon = Convert.ToDouble(sVal);
 
sVal = ini.IniReadValue("general", "LiPoCells");
_LipoCells = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "Motors");
if (sVal != "") _iMotors = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "LiPoCells");
_LipoCells = Convert.ToInt16(sVal);
sVal = ini.IniReadValue("general", "Motors");
if (sVal != "") _iMotors = Convert.ToInt16(sVal);
 
sVal = ini.IniReadValue("map", "followMe");
if (sVal != "") _bFollowCopter = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "AutoSetHome");
if (sVal != "") _bAutoHome = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "followMe");
if (sVal != "") _bFollowCopter = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("map", "AutoSetHome");
if (sVal != "") _bAutoHome = Convert.ToBoolean(sVal);
 
sVal = ini.IniReadValue("threshold", "VoltageWarning");
if(sVal != "") _dThresholdVoltageWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoltageCritical");
if(sVal != "") _dThresholdVoltageCrit = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceVoltageEnable");
if(sVal != "") _bVoiceVoltPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceSatFixEnable");
if(sVal != "") _bVoiceSatFixPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceMagFieldEnable");
if(sVal != "") _bVoiceMagneticFieldPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "DistanceWarning");
if(sVal != "") _dThresholdDistanceWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceDistanceWarnEnable");
if(sVal != "") _bVoiceDistancePlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceRCLevelWarnEnable");
if(sVal != "") _bVoiceRCLevelPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "MaxDistance");
if(sVal != "") _dThresholdDistanceMax = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "RCThreshold");
if(sVal != "") _iThresholdRC = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "MagFieldThreshold");
if(sVal != "") _iThresholdMagField = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "VoltageWarning");
if(sVal != "") _dThresholdVoltageWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoltageCritical");
if(sVal != "") _dThresholdVoltageCrit = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceVoltageEnable");
if(sVal != "") _bVoiceVoltPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceSatFixEnable");
if(sVal != "") _bVoiceSatFixPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceMagFieldEnable");
if(sVal != "") _bVoiceMagneticFieldPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "DistanceWarning");
if(sVal != "") _dThresholdDistanceWarn = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "VoiceDistanceWarnEnable");
if(sVal != "") _bVoiceDistancePlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "VoiceRCLevelWarnEnable");
if(sVal != "") _bVoiceRCLevelPlay = Convert.ToBoolean(sVal);
sVal = ini.IniReadValue("threshold", "MaxDistance");
if(sVal != "") _dThresholdDistanceMax = Convert.ToDouble(sVal);
sVal = ini.IniReadValue("threshold", "RCThreshold");
if(sVal != "") _iThresholdRC = Convert.ToInt32(sVal);
sVal = ini.IniReadValue("threshold", "MagFieldThreshold");
if(sVal != "") _iThresholdMagField = Convert.ToInt32(sVal);
}
catch (Exception e)
{
 
MessageBox.Show("Error parsing ini-file!" + Environment.NewLine + e.Message,"Read ini-file" ,MessageBoxButton.OK,MessageBoxImage.Error);
}
 
}
 
 
/// <summary>
/// save settings to ini-file
/// </summary>
2419,64 → 2426,195
IniFile ini = new IniFile("MKLiveViewSettings.ini");
ini.path = filePath + "\\MKLiveViewSettings.ini";
 
ini.IniWriteValue("timings", "AutorefreshDebugData", _debugDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshNavCtrlData", _navCtrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshBLCtrlData", _blctrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshOSDData", _OSDAutorefresh ? "true" : "false");
try
{
 
ini.IniWriteValue("timings", "IntervalDebugData", debugInterval.ToString());
ini.IniWriteValue("timings", "IntervalNavCtrlData", navctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalBLCtrlData", blctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalOSDData", OSDInterval.ToString());
ini.IniWriteValue("timings", "AutorefreshDebugData", _debugDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshNavCtrlData", _navCtrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshBLCtrlData", _blctrlDataAutorefresh ? "true" : "false");
ini.IniWriteValue("timings", "AutorefreshOSDData", _OSDAutorefresh ? "true" : "false");
 
ini.IniWriteValue("general", "LiPoCells", _LipoCells.ToString());
ini.IniWriteValue("general", "Motors", _iMotors.ToString());
ini.IniWriteValue("timings", "IntervalDebugData", debugInterval.ToString());
ini.IniWriteValue("timings", "IntervalNavCtrlData", navctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalBLCtrlData", blctrlInterval.ToString());
ini.IniWriteValue("timings", "IntervalOSDData", OSDInterval.ToString());
 
ini.IniWriteValue("map", "followMe", _bFollowCopter.ToString());
ini.IniWriteValue("map", "AutoSetHome", _bAutoHome.ToString());
ini.IniWriteValue("general", "LiPoCells", _LipoCells.ToString());
ini.IniWriteValue("general", "Motors", _iMotors.ToString());
 
ini.IniWriteValue("topBar", "voltage", chkBoxTopBarShowVoltage.IsChecked.ToString());
ini.IniWriteValue("topBar", "capacity", chkBoxTopBarShowCapacity.IsChecked.ToString());
ini.IniWriteValue("topBar", "current", chkBoxTopBarShowCurrent.IsChecked.ToString());
ini.IniWriteValue("topBar", "flightTime", chkBoxTopBarShowFlightTime.IsChecked.ToString());
ini.IniWriteValue("topBar", "distanceHP", chkBoxTopBarShowDistanceHP.IsChecked.ToString());
ini.IniWriteValue("topBar", "height", chkBoxTopBarShowHeight.IsChecked.ToString());
ini.IniWriteValue("topBar", "speed", chkBoxTopBarShowSpeed.IsChecked.ToString());
ini.IniWriteValue("topBar", "magneticField", chkBoxTopBarShowMF.IsChecked.ToString());
ini.IniWriteValue("topBar", "satellites", chkBoxTopBarShowSatellites.IsChecked.ToString());
ini.IniWriteValue("topBar", "rc", chkBoxTopBarShowRC.IsChecked.ToString());
ini.IniWriteValue("map", "followMe", _bFollowCopter.ToString());
ini.IniWriteValue("map", "AutoSetHome", _bAutoHome.ToString());
 
ini.IniWriteValue("style", "saveFullScreen", chkBoxSaveFullScreenState.IsChecked.ToString());
ini.IniWriteValue("style", "saveNormalState", chkBoxSaveNormalState.IsChecked.ToString());
ini.IniWriteValue("topBar", "voltage", chkBoxTopBarShowVoltage.IsChecked.ToString());
ini.IniWriteValue("topBar", "capacity", chkBoxTopBarShowCapacity.IsChecked.ToString());
ini.IniWriteValue("topBar", "current", chkBoxTopBarShowCurrent.IsChecked.ToString());
ini.IniWriteValue("topBar", "flightTime", chkBoxTopBarShowFlightTime.IsChecked.ToString());
ini.IniWriteValue("topBar", "distanceHP", chkBoxTopBarShowDistanceHP.IsChecked.ToString());
ini.IniWriteValue("topBar", "height", chkBoxTopBarShowHeight.IsChecked.ToString());
ini.IniWriteValue("topBar", "speed", chkBoxTopBarShowSpeed.IsChecked.ToString());
ini.IniWriteValue("topBar", "magneticField", chkBoxTopBarShowMF.IsChecked.ToString());
ini.IniWriteValue("topBar", "satellites", chkBoxTopBarShowSatellites.IsChecked.ToString());
ini.IniWriteValue("topBar", "rc", chkBoxTopBarShowRC.IsChecked.ToString());
 
ini.IniWriteValue("style", "scaleNormalAll", scaleNormalAll.ToString());
ini.IniWriteValue("style", "scaleNormalTopBar", scaleNormalTopBar.ToString());
ini.IniWriteValue("style", "scaleNormalMotors", scaleNormalMotors.ToString());
ini.IniWriteValue("style", "scaleNormalOSD", scaleNormalOSD.ToString());
ini.IniWriteValue("style", "scaleNormalLOG", scaleNormalLOG.ToString());
ini.IniWriteValue("style", "scaleNormalHorizon", scaleNormalHorizon.ToString());
ini.IniWriteValue("style", "saveFullScreen", chkBoxSaveFullScreenState.IsChecked.ToString());
ini.IniWriteValue("style", "saveNormalState", chkBoxSaveNormalState.IsChecked.ToString());
 
ini.IniWriteValue("style", "scaleFullAll", scaleFullAll.ToString());
ini.IniWriteValue("style", "scaleFullTopBar", scaleFullTopBar.ToString());
ini.IniWriteValue("style", "scaleFullMotors", scaleFullMotors.ToString());
ini.IniWriteValue("style", "scaleFullOSD", scaleFullOSD.ToString());
ini.IniWriteValue("style", "scaleFullLOG", scaleFullLOG.ToString());
ini.IniWriteValue("style", "scaleFullHorizon", scaleFullHorizon.ToString());
ini.IniWriteValue("style", "scaleNormalAll", scaleNormalAll.ToString());
ini.IniWriteValue("style", "scaleNormalTopBar", scaleNormalTopBar.ToString());
ini.IniWriteValue("style", "scaleNormalMotors", scaleNormalMotors.ToString());
ini.IniWriteValue("style", "scaleNormalOSD", scaleNormalOSD.ToString());
ini.IniWriteValue("style", "scaleNormalLOG", scaleNormalLOG.ToString());
ini.IniWriteValue("style", "scaleNormalHorizon", scaleNormalHorizon.ToString());
 
ini.IniWriteValue("style", "horizon", chkBoxShowHorizon.IsChecked.ToString());
ini.IniWriteValue("style", "scaleFullAll", scaleFullAll.ToString());
ini.IniWriteValue("style", "scaleFullTopBar", scaleFullTopBar.ToString());
ini.IniWriteValue("style", "scaleFullMotors", scaleFullMotors.ToString());
ini.IniWriteValue("style", "scaleFullOSD", scaleFullOSD.ToString());
ini.IniWriteValue("style", "scaleFullLOG", scaleFullLOG.ToString());
ini.IniWriteValue("style", "scaleFullHorizon", scaleFullHorizon.ToString());
 
ini.IniWriteValue("threshold", "VoltageWarning", _dThresholdVoltageWarn.ToString());
ini.IniWriteValue("threshold", "VoltageCritical", _dThresholdVoltageCrit.ToString());
ini.IniWriteValue("threshold", "VoiceVoltageEnable", _bVoiceVoltPlay.ToString());
ini.IniWriteValue("threshold", "VoiceSatFixEnable", _bVoiceSatFixPlay.ToString());
ini.IniWriteValue("threshold", "VoiceMagFieldEnable", _bVoiceMagneticFieldPlay.ToString());
ini.IniWriteValue("threshold", "VoiceDistanceWarnEnable", _bVoiceDistancePlay.ToString());
ini.IniWriteValue("threshold", "VoiceRCLevelWarnEnable", _bVoiceRCLevelPlay.ToString());
ini.IniWriteValue("threshold", "DistanceWarning", _dThresholdDistanceWarn.ToString());
ini.IniWriteValue("threshold", "MaxDistance", _dThresholdDistanceMax.ToString());
ini.IniWriteValue("threshold", "RCThreshold", _iThresholdRC.ToString());
ini.IniWriteValue("threshold", "MagFieldThreshold", _iThresholdMagField.ToString());
ini.IniWriteValue("style", "horizon", chkBoxShowHorizon.IsChecked.ToString());
 
ini.IniWriteValue("threshold", "VoltageWarning", _dThresholdVoltageWarn.ToString());
ini.IniWriteValue("threshold", "VoltageCritical", _dThresholdVoltageCrit.ToString());
ini.IniWriteValue("threshold", "VoiceVoltageEnable", _bVoiceVoltPlay.ToString());
ini.IniWriteValue("threshold", "VoiceSatFixEnable", _bVoiceSatFixPlay.ToString());
ini.IniWriteValue("threshold", "VoiceMagFieldEnable", _bVoiceMagneticFieldPlay.ToString());
ini.IniWriteValue("threshold", "VoiceDistanceWarnEnable", _bVoiceDistancePlay.ToString());
ini.IniWriteValue("threshold", "VoiceRCLevelWarnEnable", _bVoiceRCLevelPlay.ToString());
ini.IniWriteValue("threshold", "DistanceWarning", _dThresholdDistanceWarn.ToString());
ini.IniWriteValue("threshold", "MaxDistance", _dThresholdDistanceMax.ToString());
ini.IniWriteValue("threshold", "RCThreshold", _iThresholdRC.ToString());
ini.IniWriteValue("threshold", "MagFieldThreshold", _iThresholdMagField.ToString());
}
catch (Exception e)
{
 
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);
}
}
 
void _readWPLFile()
{
Microsoft.Win32.OpenFileDialog fd = new Microsoft.Win32.OpenFileDialog();
fd.Filter = "Waypointlists | *.wpl";
fd.Multiselect = false;
if (fd.ShowDialog().Value)
{
string file = fd.SafeFileName;
IniFile ini = new IniFile(fd.SafeFileName);
ini.path = fd.FileName;
 
try
{
string sVal = ini.IniReadValue("General", "FileVersion");
if (sVal == "")
MessageBox.Show("The file has no version declared - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
if (Convert.ToInt16(sVal) < 3)
MessageBox.Show("The file version is not supported - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
sVal = ini.IniReadValue("General", "NumberOfWaypoints");
if (sVal == "")
MessageBox.Show("The file has no number of waypoints declared - can't go on...", "", MessageBoxButton.OK, MessageBoxImage.Information);
else
{
int wpnum = Convert.ToInt16(sVal);
string wp;
int i;
dtWaypoints.Rows.Clear();
for (int k = 1; k <= wpnum; k++)
{
DataRow dr = dtWaypoints.NewRow();
dr.ItemArray = new object[16];
object[] o = new object[16];
i = 0;
wp = "Point" + k.ToString();
o[i] = k;
i++;
sVal = ini.IniReadValue(wp, "Type");
if (sVal != "")
o[i] = ((Waypoints.pointType)(Convert.ToInt16(sVal) - 1)).ToString();
i++;
sVal = ini.IniReadValue(wp, "Prefix");
if (sVal != "")
o[i] = sVal == "0" ? "P" + k.ToString() : sVal + k.ToString();
i++;
sVal = ini.IniReadValue(wp, "Longitude");
if (sVal != "")
o[i] = Convert.ToDouble(sVal);
i++;
sVal = ini.IniReadValue(wp, "Latitude");
if (sVal != "")
o[i] = Convert.ToDouble(sVal);
i++;
sVal = ini.IniReadValue(wp, "Altitude");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Heading");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Speed");
if (sVal != "")
o[i] = Waypoints.WPSpeed(Convert.ToInt16(sVal));
i++;
sVal = ini.IniReadValue(wp, "ClimbRate");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "Radius");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "DelayTime");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
sVal = ini.IniReadValue(wp, "AutoTrigger");
if (sVal != "")
o[i] = Convert.ToInt16(sVal); ;
i++;
sVal = ini.IniReadValue(wp, "CAM-Nick");
if (sVal != "")
o[i] = Waypoints.CAMAngle(Convert.ToInt16(sVal));
i++;
o[i] = 0;
i++;
sVal = ini.IniReadValue(wp, "WP_Event_Channel_Value");
if (sVal != "")
o[i] = Convert.ToInt16(sVal);
i++;
o[i] = "New";
 
dr.ItemArray = o;
dtWaypoints.Rows.Add(dr);
Dispatcher.Invoke(() => lblWPIndex.Content = k.ToString());
Dispatcher.Invoke(() => lblWPCount.Content = k.ToString());
Dispatcher.Invoke(() => dgvWP.Items.Refresh());
Thread.Sleep(10);
}
}
}
}
 
}
catch (Exception e)
{
 
MessageBox.Show("Error parsing wpl-file!" + Environment.NewLine + e.Message, "Read wpl-file", MessageBoxButton.OK, MessageBoxImage.Error);
}
 
}
}
 
private void btnLoadWPLFile_Click(object sender, RoutedEventArgs e)
{
_readWPLFile();
}
#endregion functions
}
public class BooleanToVisibilityConverter : IValueConverter
/MKLiveView/v1.0/Source/Waypoints.cs
9,7 → 9,7
static class Waypoints
{
 
enum pointType
public enum pointType
{
INVALID= 255,
WP = 0,
16,7 → 16,7
POI = 1
}
 
enum status
public enum status
{
INVALID= 255,
NEW = 0,
23,7 → 23,7
DONE = 1
}
 
static string CAMAngle(int iVal)
public static string CAMAngle(int iVal)
{
if (iVal == 255)
return "Auto";
35,7 → 35,7
return iVal.ToString();
}
 
static string WPSpeed(int iVal)
public static string WPSpeed(int iVal)
{
if (iVal == 0)
return "MAX";
118,5 → 118,6
}
 
 
 
}
}