aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-27 00:39:49 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2020-08-27 00:39:49 +0300
commitddce0f3215746d6884acb94f3cedc613008aed5c (patch)
treef9338c5358064cad26c0c2cecb80647e3a4eac85
parent415e7387f7daef038430016b41d16bc5b8cfa0d8 (diff)
downloadTango-ddce0f3215746d6884acb94f3cedc613008aed5c.tar.gz
Tango-ddce0f3215746d6884acb94f3cedc613008aed5c.zip
Improved machine operator firmware upgrade on emulated devices.
added isEmulated flag. Dropped the need to modify the FirmwareUpgrade mode when emulated due to this new flag.
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/BackupRestore/DefaultBackupManager.cs12
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs41
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs5
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs17
5 files changed, 31 insertions, 46 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/BackupRestore/DefaultBackupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/BackupRestore/DefaultBackupManager.cs
index 495521dd9..087534d48 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/BackupRestore/DefaultBackupManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/BackupRestore/DefaultBackupManager.cs
@@ -510,16 +510,10 @@ namespace Tango.PPC.Common.BackupRestore
var stream = new FileStream(tfpFile, FileMode.Open);
- if (_machineProvider.Machine.IsDemo)
- {
- _machineProvider.MachineOperator.FirmwareUpgradeMode = FirmwareUpgradeModes.TFP_PACKAGE;
- }
- else
- {
- _machineProvider.MachineOperator.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
- }
+ _machineProvider.MachineOperator.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
+
- var handler = _machineProvider.MachineOperator.UpgradeFirmware(stream).Result;
+ var handler = _machineProvider.MachineOperator.UpgradeFirmware(stream, _machineProvider.Machine.IsDemo).Result;
handler.Failed += (_, ex) =>
{
stream.Dispose();
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
index 2177efecc..a2a750805 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineSetup/MachineSetupManager.cs
@@ -436,7 +436,7 @@ namespace Tango.PPC.Common.MachineSetup
UpdateProgress("Updating Firmware", "Loading firmware package...");
var tfpPath = Path.Combine(_newPackageTempFolder, "firmware_package.tfp");
var stream = new FileStream(tfpPath, FileMode.Open);
- var handler = await op.UpgradeFirmware(stream);
+ var handler = await op.UpgradeFirmware(stream, setup_response.IsDemo);
handler.Failed += (_, ex) =>
{
stream.Dispose();
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
index c73cc6196..bbc8d93f6 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/MachineUpdate/MachineUpdateManager.cs
@@ -843,23 +843,16 @@ namespace Tango.PPC.Common.MachineUpdate
var tfpPath = Path.Combine(_newPackageTempFolder, "firmware_package.tfp");
var stream = new FileStream(tfpPath, FileMode.Open);
- if (!_machineProvider.Machine.IsDemo)
+ if (setupFPGA)
{
- if (setupFPGA)
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
- }
- else
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU;
- }
+ op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
}
else
{
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.TFP_PACKAGE;
+ op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU;
}
- var handler = await op.UpgradeFirmware(stream);
+ var handler = await op.UpgradeFirmware(stream, _machineProvider.Machine.IsDemo);
handler.Failed += (_, ex) =>
{
stream.Dispose();
@@ -1432,23 +1425,16 @@ namespace Tango.PPC.Common.MachineUpdate
var tfpPath = Path.Combine(_newPackageTempFolder, "firmware_package.tfp");
var stream = new FileStream(tfpPath, FileMode.Open);
- if (!_machineProvider.Machine.IsDemo)
+ if (setupFPGA)
{
- if (setupFPGA)
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
- }
- else
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU;
- }
+ op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
}
else
{
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.TFP_PACKAGE;
+ op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU;
}
- var handler = await op.UpgradeFirmware(stream);
+ var handler = await op.UpgradeFirmware(stream, _machineProvider.Machine.IsDemo);
handler.Failed += (_, ex) =>
{
stream.Dispose();
@@ -1543,16 +1529,9 @@ namespace Tango.PPC.Common.MachineUpdate
LogManager.Log("-------------------------------------------------------------------------");
LogManager.Log("Updating Firmware...");
- if (!_machineProvider.Machine.IsDemo)
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
- }
- else
- {
- op.FirmwareUpgradeMode = FirmwareUpgradeModes.TFP_PACKAGE;
- }
+ op.FirmwareUpgradeMode = FirmwareUpgradeModes.DFU | FirmwareUpgradeModes.TFP_PACKAGE;
- var handler = await op.UpgradeFirmware(stream);
+ var handler = await op.UpgradeFirmware(stream, _machineProvider.Machine.IsDemo);
handler.Failed += (_, ex) =>
{
stream.Dispose();
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
index bee4a7523..1c239f4f5 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/IMachineOperator.cs
@@ -244,7 +244,7 @@ namespace Tango.Integration.Operation
/// Occurs when a head cleaning job has ended.
/// </summary>
event EventHandler<HeadCleaningEndedEventArgs> HeadCleaningEnded;
-
+
/// <summary>
/// Gets or sets a value indicating whether direct the embedded device to send diagnostics messages.
/// </summary>
@@ -469,8 +469,9 @@ namespace Tango.Integration.Operation
/// Upgrades the firmware.
/// </summary>
/// <param name="tfpStream">The TFP stream (Tango Firmware Package File).</param>
+ /// <param name="isEmulated">Specify whether the connected machine is emulated and to skip the actual DFU interface.</param>
/// <returns></returns>
- Task<FirmwareUpgradeHandler> UpgradeFirmware(Stream tfpStream);
+ Task<FirmwareUpgradeHandler> UpgradeFirmware(Stream tfpStream, bool isEmulated = false);
/// <summary>
/// Directs the embedded device to validate the last uploaded firmware package.
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index de8e118e9..57ba6e727 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -3371,8 +3371,10 @@ namespace Tango.Integration.Operation
/// Upgrades the firmware.
/// </summary>
/// <param name="tfpStream">The TFP stream (Tango Firmware Package File).</param>
+ /// <param name="isEmulated">Specify whether the connected machine is emulated and to skip the actual DFU interface.</param>
/// <returns></returns>
- public virtual async Task<FirmwareUpgradeHandler> UpgradeFirmware(Stream tfpStream)
+ /// <exception cref="InvalidOperationException"></exception>
+ public virtual async Task<FirmwareUpgradeHandler> UpgradeFirmware(Stream tfpStream, bool isEmulated = false)
{
bool cancel = false;
ZipFile zip = null;
@@ -3493,8 +3495,16 @@ namespace Tango.Integration.Operation
try
{
- LogManager.Log("Upgrading...");
- upgradeManager.PerformUpgrade(data).Wait();
+ if (!isEmulated)
+ {
+ LogManager.Log("Upgrading...");
+ upgradeManager.PerformUpgrade(data).Wait();
+ }
+ else
+ {
+ LogManager.Log("Upgrading (emulated)...");
+ Thread.Sleep(3000);
+ }
}
catch (Exception ex)
{
@@ -3512,6 +3522,7 @@ namespace Tango.Integration.Operation
LogManager.Log("Reconnecting adapter...");
upgradeHandler.RaiseProgress(100, FirmwareUpgradeStatus.Upgrading, "Connecting...");
Adapter.Connect().Wait();
+
Connect().Wait();
LogManager.Log("Connected...");