CUST: - Support FW R1.4.23

This commit is contained in:
Thomas Wiedebusch 2025-12-08 15:35:40 +01:00
parent 5d3777da01
commit f300305351
6 changed files with 97 additions and 19 deletions

View File

@ -1,6 +1,16 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PCB/@EntryIndexedValue">PCB</s:String>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/EnableGotoEverything/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/FuzzySearchInGotoText/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleHierarchyItemImmediately/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleUsageImmediately/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoTextInGotoEverything/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/NavigateByControlClick/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Environment/UserInterface/OpenReSharperMenuByAltR/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/GrammarAndSpelling/GrammarChecking/Exceptions/=LCD_0020DISPLAY/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/Housekeeping/VsActionManager/IsShortcutBrowserEnabled/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Housekeeping/VsActionManager/SkipOverrideVsCommands/=_007BB61E1A20_002D8C13_002D49A9_002DA727_002DA0EC091647DD_007D_003A512/@EntryIndexedValue">False</s:Boolean>
<s:Boolean x:Key="/Default/Housekeeping/VsActionManager/SkipOverrideVsCommands/=_007BB61E1A20_002D8C13_002D49A9_002DA727_002DA0EC091647DD_007D_003A512/@EntryIndexRemoved">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=accu/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=adaptor/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/UserDictionary/Words/=Applic/@EntryIndexedValue">True</s:Boolean>

View File

@ -19,7 +19,7 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@ -574,6 +574,24 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Interface does not support this FW version.
/// </summary>
internal static string StrInterfaceDoesNotSupportFwVersion {
get {
return ResourceManager.GetString("StrInterfaceDoesNotSupportFwVersion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Interface fully supports this FW version.
/// </summary>
internal static string StrInterfaceSupportsFwVersion {
get {
return ResourceManager.GetString("StrInterfaceSupportsFwVersion", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to ERROR: Failed to restore items after change of language!.
/// </summary>
@ -638,11 +656,20 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw.Properties {
}
/// <summary>
/// Looks up a localized string similar to Remaining life time:.
/// Looks up a localized string similar to Remaining life time FW:.
/// </summary>
internal static string StrLifeTimeRemainingYears {
internal static string StrLifeTimeRemainingYearsFw {
get {
return ResourceManager.GetString("StrLifeTimeRemainingYears", resourceCulture);
return ResourceManager.GetString("StrLifeTimeRemainingYearsFw", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Remaining life time SW:.
/// </summary>
internal static string StrLifeTimeRemainingYearsSw {
get {
return ResourceManager.GetString("StrLifeTimeRemainingYearsSw", resourceCulture);
}
}

View File

@ -478,6 +478,12 @@
<data name="StrFileRestored" xml:space="preserve">
<value>Files restored to meter:</value>
</data>
<data name="StrInterfaceSupportsFwVersion" xml:space="preserve">
<value>Interface fully supports this FW version</value>
</data>
<data name="StrInterfaceDoesNotSupportFwVersion" xml:space="preserve">
<value>Interface does not support this FW version</value>
</data>
<data name="StrFileReadoutFailed" xml:space="preserve">
<value>ERROR: File readout failed!</value>
</data>
@ -676,8 +682,11 @@
<data name="StrLifeTimeDrainedBattery" xml:space="preserve">
<value>Drained battery load: </value>
</data>
<data name="StrLifeTimeRemainingYears" xml:space="preserve">
<value>Remaining life time:</value>
<data name="StrLifeTimeRemainingYearsSw" xml:space="preserve">
<value>Remaining life time SW:</value>
</data>
<data name="StrLifeTimeRemainingYearsFw" xml:space="preserve">
<value>Remaining life time FW:</value>
</data>
<data name="StrLifeTimeYears" xml:space="preserve">
<value>years</value>

View File

@ -3987,6 +3987,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
/// <remarks date="2023-Oct-08" author="Thomas Wiedebusch">
/// - Selector for register restore.
/// </remarks>
/// <remarks date="2025-Dec-08" author="Thomas Wiedebusch">
/// - Avoid multiple identical search items.
/// </remarks>
private void gridViewCordonelsSelection_CellClick(Object sender, DataGridViewCellEventArgs e)
{
try
@ -4086,35 +4089,40 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.Diameter) &&
cordSearch.Diameter != Constants.StrUnknown)
cordSearch.Diameter != Constants.StrUnknown &&
_sizeSearchItems.All(X => X != cordSearch.Diameter))
{
_sizeSearchItems.Add(cordSearch.Diameter);
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.RadioFrequency) &&
cordSearch.RadioFrequency != Constants.StrUnknown)
cordSearch.RadioFrequency != Constants.StrUnknown &&
_radioSearchItems.All(x => x != cordSearch.RadioFrequency))
{
_radioSearchItems.Add(cordSearch.RadioFrequency);
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.Region) &&
cordSearch.Region != Constants.StrUnknown)
cordSearch.Region != Constants.StrUnknown &&
_regionSearchItems.All(x => x != cordSearch.Region))
{
_regionSearchItems.Add(cordSearch.Region);
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.CoreRevision) &&
cordSearch.CoreRevision != Constants.StrUnknown)
cordSearch.CoreRevision != Constants.StrUnknown &&
_coreSearchItems.All( x => x != cordSearch.CoreRevision))
{
_coreSearchItems.Add(cordSearch.CoreRevision);
}
// fill search masks for FW package selection
if (!string.IsNullOrEmpty(cordSearch.Metrology) &&
cordSearch.Metrology != Constants.StrUnknown)
cordSearch.Metrology != Constants.StrUnknown &&
_metrologySearchItems.All(x => x != cordSearch.Metrology))
{
_metrologySearchItems.Add(cordSearch.Metrology);
}

View File

@ -1543,6 +1543,9 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw
/// <remarks date="2023-Nov-21" author="Thomas Wiedebusch">
/// - Initial.
/// </remarks>
/// <remarks date="2025-Dec-08" author="Thomas Wiedebusch">
/// - FW life time calculation has higher priority.
/// </remarks>
private void CalculateLifeTime(ProcessState successExitState,
ProcessState errorExitState = ProcessState.Error)
{
@ -1553,14 +1556,20 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw
if (GenesisStatusHandler.BuildLifeTimeInformation(_currentGenesis, status, out _))
{
var lifeTimeInfo = new List<String>
var lifeTimeInfo = new List<String>();
lifeTimeInfo.Add($"{Resources.StrLifeTimeDrainedBattery} {status.DrainedBatteryLoadPercent:F2} %");
if (status.FwCalculatedRemainingLifeTimeYears != null)
{
$"{Resources.StrLifeTimeDrainedBattery} {status.DrainedBatteryLoadPercent:F2} %",
$"{Resources.StrLifeTimeRemainingYears} {status.RemainingLifeTimeYears:F2} " +
$"{Resources.StrLifeTimeYears}"
};
lifeTimeInfo.Add($"{Resources.StrLifeTimeRemainingYearsFw} {status.FwCalculatedRemainingLifeTimeYears:F2} " +
$"{Resources.StrLifeTimeYears}");
}
else
{
lifeTimeInfo.Add($"{Resources.StrLifeTimeRemainingYearsSw} {status.RemainingLifeTimeYears:F2} " +
$"{Resources.StrLifeTimeYears}");
}
LogStringList(Resources.StrLifeTimeCalculation, lifeTimeInfo, Resources.StrLifeTimeCalculationSucceeded);
LogStringList(Resources.StrLifeTimeCalculation, lifeTimeInfo, Resources.StrLifeTimeCalculationSucceeded);
_processState = successExitState;
}
else
@ -2488,6 +2497,9 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw
/// <remarks date="2023-Aug-31" author="Thomas Wiedebusch">
/// - FW version added.
/// </remarks>
/// <remarks date="2025-Dec-08" author="Thomas Wiedebusch">
/// - Interface info added.
/// </remarks>
private void LogInstalledMeterFw()
{
if (_currentGenesis == null)
@ -2495,6 +2507,9 @@ namespace Xylem.ServiceFwUpdate.Ui.ServiceFwUpdateSw
LogText($"PCB ID: {_currentGenesis.PcbId}");
LogText($"{Resources.StrMessageCustomerSerialNumber} {_customerSerialNumber}");
LogText($"FW Version: {_currentGenesis.FwVersion}");
LogText($"Interface Version: {_currentGenesis.InterfaceInfo.InterfaceVersion}");
LogText(_currentGenesis.InterfaceSupportsFwVersion ? Resources.StrInterfaceSupportsFwVersion :
Resources.StrInterfaceDoesNotSupportFwVersion);
LogText($"{Resources.StrMessageSystemCoreRevision} {_currentGenesis.StrCoreRevision}");
LogText($"{Resources.StrMessageSystemRegion} {_currentGenesis.Region}");
LogText($"{Resources.StrMessageSystemRadio} {_currentGenesis.RadioFrequencyMhz}");

View File

@ -478,6 +478,12 @@
<data name="StrFileRestored" xml:space="preserve">
<value>Wiederhergestellte Dateien im Zähler:</value>
</data>
<data name="StrInterfaceSupportsFwVersion" xml:space="preserve">
<value>Das Interface unterstützt diese FW version voll</value>
</data>
<data name="StrInterfaceDoesNotSupportFwVersion" xml:space="preserve">
<value>Das Interface unterstützt nicht diese FW version</value>
</data>
<data name="StrFileReadoutFailed" xml:space="preserve">
<value>FEHLER: Dateien lesen fehlgeschlagen!</value>
</data>
@ -676,8 +682,11 @@
<data name="StrLifeTimeDrainedBattery" xml:space="preserve">
<value>Verbrauchte Batterieladung:</value>
</data>
<data name="StrLifeTimeRemainingYears" xml:space="preserve">
<value>Verbleibende Restlaufzeit:</value>
<data name="StrLifeTimeRemainingYearsSw" xml:space="preserve">
<value>Verbleibende Restlaufzeit SW:</value>
</data>
<data name="StrLifeTimeRemainingYearsFw" xml:space="preserve">
<value>Verbleibende Restlaufzeit FW:</value>
</data>
<data name="StrLifeTimeYears" xml:space="preserve">
<value>Jahre</value>