aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2020-10-29 15:55:21 +0200
committerShlomo Hecht <shlomo@twine-s.com>2020-10-29 15:55:21 +0200
commit4b789f33eadfc5cc1d937a80ce03ea8425955ffe (patch)
tree7dbbd0529a24f9ca064cab688a0d6d2b8b762ea1 /Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
parent8f3baa0d9097aa6ed800863a4680608e867c809a (diff)
parent11fb700fcbc4627162a9c3f84b03b5016248bd97 (diff)
downloadTango-4b789f33eadfc5cc1d937a80ce03ea8425955ffe.tar.gz
Tango-4b789f33eadfc5cc1d937a80ce03ea8425955ffe.zip
Merge branch 'master' of https://twinetfs.visualstudio.com/Tango/_git/Tango
Diffstat (limited to 'Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs44
1 files changed, 37 insertions, 7 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
index 965584767..613c70809 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/ViewModels/MachineUpdateViewVM.cs
@@ -167,7 +167,7 @@ namespace Tango.PPC.UI.ViewModels
return;
}
- var response = await MachineUpdateManager.CheckForUpdate(MachineProvider.Machine.SerialNumber);
+ var response = await MachineUpdateManager.CheckForUpdate();
try
{
@@ -208,7 +208,7 @@ namespace Tango.PPC.UI.ViewModels
}
else
{
- _db_compare_result = await MachineUpdateManager.UpdateDBCheck(MachineProvider.Machine.SerialNumber);
+ _db_compare_result = await MachineUpdateManager.UpdateDBCheck();
if (_db_compare_result.RequiresUpdate)
{
@@ -261,7 +261,7 @@ namespace Tango.PPC.UI.ViewModels
try
{
- await MachineUpdateManager.UpdateDB(_db_compare_result, MachineProvider.Machine.SerialNumber);
+ await MachineUpdateManager.UpdateDB(_db_compare_result);
LogManager.Log("Database update completed.");
await NavigateTo(MachineUpdateView.UpdateCompletedView);
}
@@ -408,8 +408,12 @@ namespace Tango.PPC.UI.ViewModels
#region Handle USB Update
- private async void HandleSoftwareUpdatePackageLoaded(ExplorerFileItem fileItem)
+ private async void HandleSoftwareUpdatePackageLoaded(List<ExplorerFileItem> fileItems)
{
+ var fileItem = fileItems.FirstOrDefault();
+
+ if (fileItem == null) return;
+
PublishInfo packageFile = null;
LogManager.Log("TUP file loaded from storage...");
@@ -456,8 +460,12 @@ namespace Tango.PPC.UI.ViewModels
}
}
- private async void HandleFirmwareUpgradeLoaded(ExplorerFileItem fileItem)
+ private async void HandleFirmwareUpgradeLoaded(List<ExplorerFileItem> fileItems)
{
+ var fileItem = fileItems.FirstOrDefault();
+
+ if (fileItem == null) return;
+
LogManager.Log("TFP file loaded from storage...");
VersionPackageDescriptor packageInfo;
@@ -470,12 +478,14 @@ namespace Tango.PPC.UI.ViewModels
packageInfo = await MachineProvider.MachineOperator.GetFirmwarePackageInfo(st);
}
- vm.Version = packageInfo.FileDescriptors.SingleOrDefault(x => x.Destination == VersionFileDestination.Mcu).Version;
+ packageInfo.Validate();
+
+ vm.Version = packageInfo.GetMcuVersion().ToString();
}
catch (Exception ex)
{
LogManager.Log(ex, $"Error loading package info from {fileItem.Path}.");
- await NotificationProvider.ShowError("An error occurred while trying to load the selected firmware upgrade package. Please make sure the package is valid.");
+ await NotificationProvider.ShowError($"An error occurred while trying to load the selected firmware upgrade package.\n{ex.FlattenMessage()}");
return;
}
@@ -529,6 +539,12 @@ namespace Tango.PPC.UI.ViewModels
_updateNotificationItem.IsDatabaseUpdate = e.IsDatabaseUpdateAvailable && !e.IsUpdateAvailable;
_updateNotificationItem.Pressed += (_, __) =>
{
+ if (MachineProvider.MachineOperator.IsPrinting)
+ {
+ NotificationProvider.ShowInfo("Cannot perform a machine update while the machine is dyeing.");
+ return;
+ }
+
_updateNotificationItem = null;
if (!IsVisible)
@@ -601,6 +617,7 @@ namespace Tango.PPC.UI.ViewModels
{
_update_result = await MachineUpdateManager.UpdateFromTUP(request.RemoteTupFilePath, request.SetupFirmware, request.SetupFPGA);
LogManager.Log("Machine update from package completed.");
+ stopReporting = true;
InvokeUI(() =>
{
@@ -616,6 +633,8 @@ namespace Tango.PPC.UI.ViewModels
{
NavigateTo(MachineUpdateView.UpdateFailedFromPackageView);
});
+
+ throw ex;
}
await receiver.SendGenericResponse(new StartRemoteApplicationUpgradeResponse()
@@ -638,10 +657,13 @@ namespace Tango.PPC.UI.ViewModels
}
catch (Exception ex)
{
+ stopReporting = true;
await receiver.SendErrorResponse(ex, token);
}
finally
{
+ stopReporting = true;
+
try
{
File.Delete(request.RemoteTupFilePath);
@@ -699,6 +721,7 @@ namespace Tango.PPC.UI.ViewModels
try
{
await MachineUpdateManager.UpdateFromTFP(request.RemoteTfpFilePath);
+ stopReporting = true;
LogManager.Log("Firmware upgrade from package completed.");
_update_result = new MachineUpdateResult()
{
@@ -712,6 +735,8 @@ namespace Tango.PPC.UI.ViewModels
}
catch (Exception ex)
{
+ stopReporting = true;
+
LogManager.Log(ex, "Firmware upgrade from package failed.");
FailedError = ex.FlattenMessage();
@@ -719,6 +744,8 @@ namespace Tango.PPC.UI.ViewModels
{
NavigateTo(MachineUpdateView.UpdateFailedFromPackageView);
});
+
+ throw ex;
}
await receiver.SendGenericResponse(new StartRemoteFirmwareUpgradeResponse()
@@ -741,10 +768,13 @@ namespace Tango.PPC.UI.ViewModels
}
catch (Exception ex)
{
+ stopReporting = true;
await receiver.SendErrorResponse(ex, token);
}
finally
{
+ stopReporting = true;
+
try
{
File.Delete(request.RemoteTfpFilePath);