aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-23 10:23:17 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-23 10:23:17 +0300
commit6a57fbce8bf9931ecfd03c6e91f2fb25be4e7d9f (patch)
tree92bc7391888a7673e8838afea83ae74fb1becdd0 /Software/Visual_Studio
parent2c8da378c82e5181f0566a564de529ab7ef96f4f (diff)
downloadTango-6a57fbce8bf9931ecfd03c6e91f2fb25be4e7d9f.tar.gz
Tango-6a57fbce8bf9931ecfd03c6e91f2fb25be4e7d9f.zip
Implemented new hardware components "Active" on machine operator upload hardware configuration.
Improved and tested global exception trapper on async task. Fixed a weird issue on navigation control toAnimation complete's twice.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs14
-rw-r--r--Software/Visual_Studio/Tango.Logging/GlobalExceptionTrapper.cs5
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs25
3 files changed, 26 insertions, 18 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 4675c8017..5e942fe36 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -969,7 +969,7 @@ namespace Tango.Integration.Operation
{
HardwareConfiguration hardwareConfiguration = new HardwareConfiguration();
- foreach (var dancer in hardwareVersion.HardwareDancers)
+ foreach (var dancer in hardwareVersion.HardwareDancers.Where(x => x.Active))
{
PMR.Hardware.HardwareDancer item = new PMR.Hardware.HardwareDancer();
dancer.MapPrimitivesTo(item);
@@ -977,7 +977,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.Dancers.Add(item);
}
- foreach (var motor in hardwareVersion.HardwareMotors)
+ foreach (var motor in hardwareVersion.HardwareMotors.Where(x => x.Active))
{
PMR.Hardware.HardwareMotor item = new PMR.Hardware.HardwareMotor();
motor.MapPrimitivesTo(item);
@@ -985,7 +985,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.Motors.Add(item);
}
- foreach (var pid in hardwareVersion.HardwarePidControls)
+ foreach (var pid in hardwareVersion.HardwarePidControls.Where(x => x.Active))
{
PMR.Hardware.HardwarePidControl item = new PMR.Hardware.HardwarePidControl();
pid.MapPrimitivesTo(item);
@@ -993,7 +993,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.PidControls.Add(item);
}
- foreach (var winder in hardwareVersion.HardwareWinders)
+ foreach (var winder in hardwareVersion.HardwareWinders.Where(x => x.Active))
{
PMR.Hardware.HardwareWinder item = new PMR.Hardware.HardwareWinder();
winder.MapPrimitivesTo(item);
@@ -1001,7 +1001,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.Winders.Add(item);
}
- foreach (var sensor in hardwareVersion.HardwareSpeedSensors)
+ foreach (var sensor in hardwareVersion.HardwareSpeedSensors.Where(x => x.Active))
{
PMR.Hardware.HardwareSpeedSensor item = new PMR.Hardware.HardwareSpeedSensor();
sensor.MapPrimitivesTo(item);
@@ -1009,7 +1009,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.SpeedSensors.Add(item);
}
- foreach (var blower in hardwareVersion.HardwareBlowers)
+ foreach (var blower in hardwareVersion.HardwareBlowers.Where(x => x.Active))
{
PMR.Hardware.HardwareBlower item = new PMR.Hardware.HardwareBlower();
blower.MapPrimitivesTo(item);
@@ -1017,7 +1017,7 @@ namespace Tango.Integration.Operation
hardwareConfiguration.Blowers.Add(item);
}
- foreach (var breakSensor in hardwareVersion.HardwareBreakSensors)
+ foreach (var breakSensor in hardwareVersion.HardwareBreakSensors.Where(x => x.Active))
{
PMR.Hardware.HardwareBreakSensor item = new PMR.Hardware.HardwareBreakSensor();
breakSensor.MapPrimitivesTo(item);
diff --git a/Software/Visual_Studio/Tango.Logging/GlobalExceptionTrapper.cs b/Software/Visual_Studio/Tango.Logging/GlobalExceptionTrapper.cs
index 5b917992e..5ee714cb6 100644
--- a/Software/Visual_Studio/Tango.Logging/GlobalExceptionTrapper.cs
+++ b/Software/Visual_Studio/Tango.Logging/GlobalExceptionTrapper.cs
@@ -15,7 +15,7 @@ namespace Tango.Logging
/// <seealso cref="Tango.Logging.IGlobalExceptionTrapper" />
public class WpfGlobalExceptionTrapper : IGlobalExceptionTrapper
{
- private DateTime _lastGlobalExceptionTime = DateTime.Now;
+ private DateTime _lastGlobalExceptionTime = DateTime.Now.AddMinutes(-1);
/// <summary>
/// Occurs when the global exception trapper has detected an unhandled exception.
@@ -81,8 +81,9 @@ namespace Tango.Logging
/// <param name="error">The error.</param>
private bool OnApplicationCrash(Exception exception)
{
- if (DateTime.Now - _lastGlobalExceptionTime > TimeSpan.FromSeconds(1))
+ if (DateTime.Now < _lastGlobalExceptionTime.AddSeconds(1))
{
+ LogManager.Default.Log(exception, LogCategory.Critical);
_lastGlobalExceptionTime = DateTime.Now;
return true;
}
diff --git a/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs b/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
index c8b6d3afb..d21a562fd 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
+++ b/Software/Visual_Studio/Tango.SharedUI/Controls/NavigationControl.cs
@@ -378,21 +378,28 @@ namespace Tango.SharedUI.Controls
fromElement.Deactivate(!KeepElementsAttached);
};
+ bool completed = false;
+
toAnimation.Completed += (_, __) =>
{
- INavigationView navigationView = toElement.Element as INavigationView;
- if (navigationView != null)
+ if (!completed)
{
- navigationView.OnNavigated();
- }
+ completed = true;
+
+ INavigationView navigationView = toElement.Element as INavigationView;
+ if (navigationView != null)
+ {
+ navigationView.OnNavigated();
+ }
- INavigationViewModel fromVM = fromElement.Element.DataContext as INavigationViewModel;
- INavigationViewModel toVM = toElement.Element.DataContext as INavigationViewModel;
+ INavigationViewModel fromVM = fromElement.Element.DataContext as INavigationViewModel;
+ INavigationViewModel toVM = toElement.Element.DataContext as INavigationViewModel;
- if (fromVM != null && fromVM != toVM) fromVM.OnNavigatedFrom();
- if (toVM != null) toVM.OnNavigatedTo();
+ if (fromVM != null && fromVM != toVM) fromVM.OnNavigatedFrom();
+ if (toVM != null) toVM.OnNavigatedTo();
- _onCompleted?.Invoke();
+ _onCompleted?.Invoke();
+ }
};
switch (TransitionType)