diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-23 10:23:17 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-08-23 10:23:17 +0300 |
| commit | 6a57fbce8bf9931ecfd03c6e91f2fb25be4e7d9f (patch) | |
| tree | 92bc7391888a7673e8838afea83ae74fb1becdd0 /Software/Visual_Studio | |
| parent | 2c8da378c82e5181f0566a564de529ab7ef96f4f (diff) | |
| download | Tango-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')
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) |
