Skip to content

Commit 0d3a694

Browse files
author
Marcus Sonestedt
committed
ServoPIDControl: Adjust graph appearance and fix exception handling
1 parent d6c070a commit 0d3a694

File tree

2 files changed

+27
-16
lines changed

2 files changed

+27
-16
lines changed

ServoPIDControl/App.xaml.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
using System.Windows;
1+
using System;
2+
using System.Windows;
23
using System.Windows.Threading;
34

4-
namespace ServoPIDControl1
5+
namespace ServoPIDControl
56
{
67
/// <summary>
78
/// Interaction logic for App.xaml
@@ -11,6 +12,13 @@ public partial class App : Application
1112
public App()
1213
{
1314
DispatcherUnhandledException += OnDispatcherUnhandledException;
15+
AppDomain.CurrentDomain.UnhandledException += CurrentDomainOnUnhandledException;
16+
}
17+
18+
private static void CurrentDomainOnUnhandledException(object sender, UnhandledExceptionEventArgs e)
19+
{
20+
var ex = (Exception) e.ExceptionObject;
21+
MessageBox.Show(ex.Message, ex.GetType().Name);
1422
}
1523

1624
private static void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)

ServoPIDControl/MainWindow.xaml.cs

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using System;
2-
using System.Collections.Generic;
32
using System.ComponentModel;
43
using System.Linq;
5-
using System.Reflection;
64
using System.Windows;
75
using System.Windows.Controls;
86
using System.Windows.Media;
@@ -55,10 +53,12 @@ private void ModelOnPropertyChanged(object sender, PropertyChangedEventArgs e)
5553
var lg = new LineGraph
5654
{
5755
Stroke = new SolidColorBrush(Color.FromArgb(255,
58-
(byte) ((i & 1) != 0 ? 255 : 0),
59-
(byte) ((i & 2) != 0 ? 255 : 0),
60-
(byte) (i == 0 ? 255 : 0))),
56+
(byte) ((i & 1) != 0 ? 255 : 100),
57+
(byte) ((i & 2) != 0 ? 200 : 50),
58+
(byte) (i % 4 == 0 ? 255 : 50))),
6159
Description = series.Name,
60+
ShowMarkers = false,
61+
StrokeThickness = 2,
6262
};
6363
ChartGrid.Children.Add(lg);
6464
lg.Plot(series.X, series.Y);
@@ -70,6 +70,18 @@ private void ModelOnPropertyChanged(object sender, PropertyChangedEventArgs e)
7070
}
7171

7272
private void OnLoaded(object sender, RoutedEventArgs e)
73+
{
74+
ConnectNLogToUi();
75+
76+
_arduinoCom.Model = Model;
77+
78+
if (Model.ConnectedPort == null && Model.ComPorts != null)
79+
Model.ConnectedPort = Model.ComPorts.FirstOrDefault();
80+
81+
Log.Info("Ready!\r\n");
82+
}
83+
84+
private void ConnectNLogToUi()
7385
{
7486
var wpfTarget = new WpfRichTextBoxTarget
7587
{
@@ -89,15 +101,6 @@ private void OnLoaded(object sender, RoutedEventArgs e)
89101
LogManager.Configuration.AddTarget(asyncWrapper.Name, asyncWrapper);
90102
LogManager.Configuration.LoggingRules.Insert(0, new LoggingRule("*", LogLevel.Info, asyncWrapper));
91103
LogManager.ReconfigExistingLoggers();
92-
93-
_arduinoCom.Model = Model;
94-
95-
if (Model.ConnectedPort == null && Model.ComPorts != null)
96-
Model.ConnectedPort = Model.ComPorts.FirstOrDefault();
97-
98-
Model.PropertyChanged += ModelOnPropertyChanged;
99-
100-
Log.Info("Ready!\r\n");
101104
}
102105

103106
private void ServosDataGridOnAutoGeneratedColumns(object sender, EventArgs e)

0 commit comments

Comments
 (0)