Merge branch 'Dev_CUST'
This commit is contained in:
commit
092b6f197d
@ -13,4 +13,4 @@ using System.Reflection;
|
||||
//
|
||||
//[assembly: AssemblyVersion("1.2.*.0")]
|
||||
|
||||
[assembly: AssemblyVersion("2.8.13.*")]
|
||||
[assembly: AssemblyVersion("2.8.14.*")]
|
||||
|
||||
@ -1,6 +1,17 @@
|
||||
<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:Boolean x:Key="/Default/CodeEditing/ContextActionTable/DisabledContextActions/=JetBrains_002EReSharper_002EAI_002ECore_002EContextActions_002EOpenAIAssistantContextAction/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AdditionalAliasItemsToCorrectCommonErrors/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteImportCompletion/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteSmartCompletion/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutopopupEnabled/AutopopupEnabled/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/ConfirmReferenceAdd/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/ImportItemsInBasicCompletion/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/InsertSpacingAfterKeywordsWhenRequired/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntellisenseGloballyEnabled/IntellisenseEnabled/@EntryValue">Enabled</s:String>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/MiddleMatchingCompletion/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/ParenthesesInsertType/@EntryValue">Left</s:String>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/ReplaceKeywordsWithTemplates/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeInspection/Highlighting/IdentifierHighlightingEnabled/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ArrangeMissingParentheses/@EntryIndexedValue">HINT</s:String>
|
||||
|
||||
|
||||
@ -116,7 +116,6 @@
|
||||
<Compile Include="..\.shared\SharedAssemblyInfo.cs">
|
||||
<Link>Properties\SharedAssemblyInfo.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="ServiceUrls.cs" />
|
||||
<Compile Include="ServiceUrlsBackUp_New.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@ -7,219 +7,200 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// <summary>
|
||||
/// Urls for data base accesses
|
||||
/// </summary>
|
||||
public static class ServiceUrls_oldBackup
|
||||
|
||||
public static class ServiceUrls
|
||||
{
|
||||
//#if URI_OLD_DNS // this is defined in build configuration 'VPN_Debug' as the new DNS cannot be reached via VPN
|
||||
// private const String ServerDns = "http://sla12iis01.emea.sensus.net";
|
||||
//#else
|
||||
private const String ServerDns = "http://delaz1web01.world.fluidtechnology.net";
|
||||
//#endif
|
||||
|
||||
private const String DefaultInspectCordonelRequirementInfoUrl =
|
||||
"http://sla12iis01.emea.sensus.net/LaaProductionWeb/";
|
||||
private static readonly String DefaultInspectCordonelRequirementInfoUrl =
|
||||
$"http://sla12iis01.emea.sensus.net/LaaProductionWeb/";
|
||||
|
||||
// return code: 404 not found, 400 Error with text, 200 okay
|
||||
private const String DefaultEolDataForSentinelServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/cordonel/eolprogress/";
|
||||
private static readonly String DefaultEolDataForSentinelServiceUrl =
|
||||
$"http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/cordonel/eolprogress/";
|
||||
|
||||
private const String DefaultGetPcbIdsFromSafeServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetPcbIdsFromSafe?ContainerDbId=";
|
||||
private static readonly String DefaultGetPcbIdsFromSafeServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetPcbIdsFromSafe?ContainerDbId=";
|
||||
|
||||
private const String DefaultAddPcbIdsToSafeServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/AddPcbIdsToSafe?ContainerDbId=";
|
||||
private static readonly String DefaultGetExportDataServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/GetExportData?PcbId=";
|
||||
|
||||
private static readonly String DefaultGetCordonelMappingServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Order/GetCordonelMapping?PcbId=";
|
||||
|
||||
private static readonly String DefaultAddPcbIdsToSafeServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/AddPcbIdsToSafe?ContainerDbId=";
|
||||
|
||||
private const String DefaultDownloadFilesPartsServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetFileParts?ParentFileId=";
|
||||
private static readonly String DefaultGetOrderOverviewServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FinalCheck/GetOrderOverview?ProductionOrderNumber=";
|
||||
|
||||
private const String DefaultGetLutUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetLutFiles";
|
||||
private static readonly String DefaultGetOrderDetailsServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FinalCheck/GetOrderDetails?ProductionOrderNumber=";
|
||||
|
||||
private const String DefaultListAllFwPackagesServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=1";
|
||||
private static readonly String DefaultDownloadFilesPartsServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFileParts?ParentFileId=";
|
||||
|
||||
private const String DefaultListAllSwPackagesServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=5";
|
||||
private static readonly String DefaultGetLutUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetLutFiles";
|
||||
|
||||
private const String DefaultListAllConfigFilePackagesServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=6";
|
||||
private static readonly String DefaultListAllFwPackagesServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=1";
|
||||
|
||||
private const String DefaultListAllFwUpdateSafesServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=4";
|
||||
private static readonly String DefaultListAllSwPackagesServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=5";
|
||||
|
||||
private const String DefaultSetCordonelAppVersionServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/ProccesState/SetCordonelProgress?PcbId=";
|
||||
private static readonly String DefaultListAllConfigFilePackagesServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=6";
|
||||
|
||||
private const String DefaultGetCordonelRequirementInfoUrl =
|
||||
private static readonly String DefaultListAllFwUpdateSafesServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFwFiles?FileIsForDeveloperOnly=false&FileCategoryID=4";
|
||||
|
||||
private static readonly String DefaultSetCordonelAppVersionServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/ProccesState/SetCordonelProgress?PcbId=";
|
||||
|
||||
private static readonly String DefaultGetCordonelRequirementInfoUrl =
|
||||
"http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/cordonel/requirements/pcbid/";
|
||||
|
||||
private const String DefaultGetCordonelAppVersionServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/ProccesState/GetCordonelAppVersion?PcbId=";
|
||||
private static readonly String DefaultGetCordonelAppVersionServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/ProccesState/GetCordonelAppVersion?PcbId=";
|
||||
|
||||
private const String DefaultListAllCordonelCustomersWithFilterServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Order/GetCordonelCustomers?FilterName=";
|
||||
private static readonly String DefaultListAllCordonelCustomersWithFilterServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Order/GetCordonelCustomers?FilterName=";
|
||||
|
||||
private const String DefaultListAllCordonelCustomerOrdersServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Order/GetCustomersCordonelOrders?CustomerNumber=";
|
||||
private static readonly String DefaultListAllCordonelCustomerOrdersServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Order/GetCustomersCordonelOrders?CustomerNumber=";
|
||||
|
||||
private const String DefaultListCordonelOrderDetailsServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Order/GetCordonelOrderDetails?OrderNr=";
|
||||
private static readonly String DefaultListCordonelOrderDetailsServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Order/GetCordonelOrderDetails?OrderNr=";
|
||||
|
||||
private const String DefaultListAllOrderCordonelsServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Order/GetCordonelOrderList?CustomerOrderNumber=";
|
||||
private static readonly String DefaultListAllOrderCordonelsServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Order/GetCordonelOrderList?CustomerOrderNumber=";
|
||||
|
||||
private const String DefaultDownloadFwUpdateSafeServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetFWUpdateSafeContainerContent?SafeContainerId=";
|
||||
private static readonly String DefaultDownloadFwUpdateSafeServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetFWUpdateSafeContainerContent?SafeContainerId=";
|
||||
|
||||
private const String DefaultListAllFwUpdateSafesForUserServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetFWUpdateSafeContainers?UserId=";
|
||||
private static readonly String DefaultListAllFwUpdateSafesForUserServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetFWUpdateSafeContainers?UserId=";
|
||||
|
||||
private const String DefaultFileContentDownloadServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetFileContent?FileId=";
|
||||
private static readonly String DefaultFileContentDownloadServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetFileContent?FileId=";
|
||||
|
||||
private const String DefaultFwUpdateReportUploadServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/PostFWUpdateReportFile";
|
||||
private static readonly String DefaultFwUpdateReportUploadServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/PostFWUpdateReportFile";
|
||||
|
||||
private const String DefaultFwUpdateReportDownloadServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetFWUpdateReportFile?";
|
||||
private static readonly String DefaultFwUpdateReportDownloadServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetFWUpdateReportFile?";
|
||||
|
||||
private const String DefaultFwUpdateSafeContainerUploadServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/PostFWUpdateSafeOdd";
|
||||
private static readonly String DefaultFwUpdateSafeContainerUploadServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/PostFWUpdateSafeOdd";
|
||||
|
||||
private const String DefaultEditFwUpdateUserValidityServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/EditUserValidity?Id=";
|
||||
private static readonly String DefaultEditFwUpdateUserValidityServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/EditUserValidity?Id=";
|
||||
|
||||
private const String DefaultRefreshFwUpdateUsersHardwareIdServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/RefreshUsersHardwareId?Id=";
|
||||
private static readonly String DefaultRefreshFwUpdateUsersHardwareIdServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/RefreshUsersHardwareId?Id=";
|
||||
|
||||
private const String DefaultRefreshFwUpdateUsersPasswordHashServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/RefreshUsersPasswordHash?Id=";
|
||||
private static readonly String DefaultRefreshFwUpdateUsersPasswordHashServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/RefreshUsersPasswordHash?Id=";
|
||||
|
||||
private const String DefaultCreateNewFwUpdateUserServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/AddNewUser?";
|
||||
private static readonly String DefaultCreateNewFwUpdateUserServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/AddNewUser?";
|
||||
|
||||
private const String DefaultListAllFwUpdateUsersServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetUserList";
|
||||
private static readonly String DefaultListAllFwUpdateUsersServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetUserList";
|
||||
|
||||
private const String DefaultListAllFwUpdateBuilderOperatorsServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetAllBuilderOperator";
|
||||
private static readonly String DefaultListAllFwUpdateBuilderOperatorsServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetAllBuilderOperator";
|
||||
|
||||
private const String DefaultGetFwUpdateUserByIdServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetUserList?Id=";
|
||||
private static readonly String DefaultGetFwUpdateUserByIdServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetUserList?Id=";
|
||||
|
||||
private const String DefaultGetFwUpdateUserByLoginNameServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/GetUserList?LogInName=";
|
||||
private static readonly String DefaultGetFwUpdateUserByLoginNameServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/GetUserList?LogInName=";
|
||||
|
||||
private const String DefaultRegisterWatchServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/RegisterWatch/";
|
||||
private static readonly String DefaultRegisterWatchServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/RegisterWatch/";
|
||||
|
||||
private const String DefaultGenesisGetOrderNumberServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/ordernumber?PcbId=";
|
||||
private static readonly String DefaultGenesisGetOrderNumberServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/ordernumber?PcbId=";
|
||||
|
||||
private const String DefaultGenesisGetRadioAddressServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/radioadress?PcbId=";
|
||||
private static readonly String DefaultGenesisGetRadioAddressServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/radioadress?PcbId=";
|
||||
|
||||
private const String DefaultGenesisGetKeySetIdServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/getkeysetid?PcbId=";
|
||||
private static readonly String DefaultGenesisGetKeySetIdServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/getkeysetid?PcbId=";
|
||||
|
||||
private const String DefaultGenesisGetPasswordServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/GetPassword?PcbId=";
|
||||
private static readonly String DefaultGenesisSetPickingStateServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/ProccesState/SetPickingState?PcbID=";
|
||||
|
||||
private const String DefaultGenesisSetPasswordServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/setpassword?PcbId=";
|
||||
private static readonly String DefaultGenesisGetPasswordServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/GetPassword?PcbId=";
|
||||
|
||||
private const String DefaultGenesisPasswordContainerServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Password/GetPasswordHashFileContent?PcbId=";
|
||||
private static readonly String DefaultGenesisSetPasswordServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/setpassword?PcbId=";
|
||||
|
||||
private const String DefaultMarriageServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/Marriage/";
|
||||
private static readonly String DefaultGenesisPasswordContainerServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Password/GetPasswordHashFileContent?PcbId=";
|
||||
|
||||
private const String DefaultMeterProcessStateUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/ProccesState/";
|
||||
private static readonly String DefaultMarriageServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/Marriage/";
|
||||
|
||||
private const String DefaultGenesisFinalCheckServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FinalCheck/";
|
||||
private static readonly String DefaultMeterProcessStateUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/ProccesState/";
|
||||
|
||||
private const String DefaultGenesisRadioCheckServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/RadioCheck/";
|
||||
private static readonly String DefaultGenesisFinalCheckServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FinalCheck/";
|
||||
|
||||
private const String DefaultGetSoftwareStartUpAccessUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/SoftwareAccess/GetVersionIsValid";
|
||||
private static readonly String DefaultGenesisRadioCheckServiceUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/RadioCheck/";
|
||||
|
||||
private const String DefaultSetSoftwareLicenseUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/SoftwareAccess/SetVersionIsValid?Program=";
|
||||
private static readonly String DefaultGetSoftwareStartUpAccessUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/SoftwareAccess/GetVersionIsValid";
|
||||
|
||||
private const String DefaultGetSoftwareLicenseUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/SoftwareAccess/GetCurrentVersion?Program=";
|
||||
private static readonly String DefaultSetSoftwareLicenseUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/SoftwareAccess/SetVersionIsValid?Program=";
|
||||
|
||||
private const String DefaultGenesisCalibrationResult =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/GenesisMeter/PostCalibrationResult";
|
||||
private static readonly String DefaultGetSoftwareLicenseUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/SoftwareAccess/GetCurrentVersion?Program=";
|
||||
|
||||
private const String DefaultGetGenesisCalibrationResults =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FinalCheck/CalibrationResults/";
|
||||
private static readonly String DefaultGenesisCalibrationResult =
|
||||
$"{ServerDns}/MeterProcessState/api/GenesisMeter/PostCalibrationResult";
|
||||
|
||||
private const String DefaultGenesisMeter =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/GenesisMeter/";
|
||||
private static readonly String DefaultGetGenesisCalibrationResults =
|
||||
$"{ServerDns}/MeterProcessState/api/FinalCheck/CalibrationResults/";
|
||||
|
||||
private const String DefaultFileContentController =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/";
|
||||
private static readonly String DefaultGenesisMeter =
|
||||
$"{ServerDns}/MeterProcessState/api/GenesisMeter/";
|
||||
|
||||
private const String DefaultKeyServerCustom =
|
||||
private static readonly String DefaultFileContentController =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/";
|
||||
|
||||
private static readonly String DefaultKeyServerCustom =
|
||||
"https://nodes.sms-esaap.com/keygenproxy/api/v3/custom/";
|
||||
|
||||
private const String DefaultMeterInfoForTestBench =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/TestBench/GetMeterInfoForTestBench?PcbID=";
|
||||
private static readonly String DefaultMeterInfoForTestBench =
|
||||
$"{ServerDns}/MeterProcessState/api/TestBench/GetMeterInfoForTestBench?PcbID=";
|
||||
|
||||
private const String DefaultCordonelFwInfoUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/FileUpToDate/GetCordonelFw";
|
||||
private static readonly String DefaultCordonelFwInfoUrl =
|
||||
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetCordonelFw";
|
||||
|
||||
private const String DefaultDbDataAtEolServiceUrl =
|
||||
"http://sla12iis01.emea.sensus.net/MeterProcessState/api/fwupdate/databaseateol/";
|
||||
private static readonly String DefaultDbDataAtEolServiceUrl =
|
||||
$"http://sla12iis01.emea.sensus.net/MeterProcessState/api/fwupdate/databaseateol/";
|
||||
|
||||
//private const String DefaultGenesisGetOrderNumberServiceUrl =
|
||||
// "http://localhost:56011/api/Password/ordernumber?PcbId=";
|
||||
public static readonly String PressureSensorTestURL_GetTestSpec
|
||||
= $"{ServerDns}/MeterProcessState/api/CordonelPressureSensorTest/GetTestSpec";
|
||||
|
||||
//private const String DefaultGenesisGetRadioAdressServiceUrl =
|
||||
// "http://localhost:56011/api/Password/radioadress?PcbId=";
|
||||
|
||||
//private const String DefaultGenesisGetKeySetIdServiceUrl =
|
||||
// "http://localhost:56011/api/Password/getkeysetid?PcbId=";
|
||||
|
||||
//private const String DefaultGenesisGetPasswordServiceUrl =
|
||||
// "http://localhost:56011/api/Password/GetPassword?PcbId=";
|
||||
|
||||
//private const String DefaultGenesisSetPasswordServiceUrl =
|
||||
// "http://localhost:56011/api/Password/setpassword?PcbId=";
|
||||
|
||||
//private const String DefaultGenesisPasswordContainerServiceUrl =
|
||||
// "http://localhost:56011/api/Password/GetPasswordHashFileContent?PcbId=";
|
||||
|
||||
//private const String DefaultMarriageServiceUrl =
|
||||
// "http://localhost:56011/api/Marriage/";
|
||||
|
||||
//private const String DefaultMeterProcessStateUrl =
|
||||
// "http://localhost:56011/api/ProccesState/";
|
||||
|
||||
|
||||
//private const String DefaultGenesisFinalCheckServiceUrl =
|
||||
// "http://localhost:56011/api/FinalCheck/";
|
||||
|
||||
|
||||
//private const String DefaultGenesisRadioCheckServiceUrl =
|
||||
// "http://localhost:56011/api/RadioCheck/";
|
||||
|
||||
//private const String DefaultGetSoftwareStartUpAccessUrl =
|
||||
// "http://localhost:56011/api/SoftwareAccess/GetVersionIsValid";
|
||||
|
||||
|
||||
private const String PressureSensorTestURL_GetTestSpec
|
||||
= "http://sla12iis01.emea.sensus.net/MeterProcessState/api/CordonelPressureSensorTest/GetTestSpec";
|
||||
|
||||
private const String PressureSensorTestURL_PostTestResults
|
||||
= "http://sla12iis01.emea.sensus.net/MeterProcessState/api/CordonelPressureSensorTest/PostTestResults";
|
||||
public static readonly String PressureSensorTestURL_PostTestResults
|
||||
= $"{ServerDns}/MeterProcessState/api/CordonelPressureSensorTest/PostTestResults";
|
||||
|
||||
/// <summary>
|
||||
/// usage: string.Format(CordonelPressureSensorTestURL_GetTestResults, pcbId);
|
||||
/// </summary>
|
||||
private const String PressureSensorTestURL_GetTestResults
|
||||
= "http://sla12iis01.emea.sensus.net/MeterProcessState/api/CordonelPressureSensorTest/GetTestResults/{0}";
|
||||
public static readonly String PressureSensorTestURL_GetTestResults
|
||||
= $"{ServerDns}/MeterProcessState/api/CordonelPressureSensorTest/GetTestResults/{0}";
|
||||
|
||||
public const String LaaProductionAPI
|
||||
#if DEBUG == false // when false uses always the production url.
|
||||
@ -232,7 +213,7 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// <summary>
|
||||
/// GET: test specification for water meter with pressure sensor.
|
||||
/// </summary>
|
||||
public static string GetPressureSensorSpecificationURL
|
||||
public static String GetPressureSensorSpecificationURL
|
||||
#if DEBUG
|
||||
=> "http://localhost:56011/api/CordonelPressureSensorTest/GetTestSpec";
|
||||
#else
|
||||
@ -243,7 +224,7 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// <summary>
|
||||
/// POST: test result for water meter with pressure sensor.
|
||||
/// </summary>
|
||||
public static string PostPressureSensorResultURL
|
||||
public static String PostPressureSensorResultURL
|
||||
#if DEBUG
|
||||
=> "http://localhost:56011/api/CordonelPressureSensorTest/PostTestResults";
|
||||
|
||||
@ -256,7 +237,7 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// <summary>
|
||||
/// GET: a list of test results for the water meter with specified pcbId.
|
||||
/// </summary>
|
||||
public static string PressureSensorResultsURL<T>(this T pcbId)
|
||||
public static String PressureSensorResultsURL<T>(this T pcbId)
|
||||
{
|
||||
#if DEBUG
|
||||
var url = "http://localhost:56011/api/CordonelPressureSensorTest/GetTestResults/{0}";
|
||||
@ -268,7 +249,49 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get export data
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetExportDataServiceUrl()
|
||||
{
|
||||
return ConfigurationManager.AppSettings["GetExportDataServiceUrl"] ??
|
||||
DefaultGetExportDataServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Cordonel mapping
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetCordonelMappingServiceUrl()
|
||||
{
|
||||
return ConfigurationManager.AppSettings["GetCordonelMappingServiceUrl"] ??
|
||||
DefaultGetCordonelMappingServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Cordonel order overview to check the assignment state
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetOrderOverviewServiceUrl()
|
||||
{
|
||||
return ConfigurationManager.AppSettings["GetOrderOverviewServiceUrl"] ??
|
||||
DefaultGetOrderOverviewServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get Cordonel order details to check for order dependent requirements like
|
||||
/// - MeterSize,
|
||||
/// - FrequencyIndicator,
|
||||
/// - PressurePresent.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetOrderDetailsServiceUrl()
|
||||
{
|
||||
return ConfigurationManager.AppSettings["GetOrderDetailsServiceUrl"] ??
|
||||
DefaultGetOrderDetailsServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// List all Cordonel FW packages.
|
||||
/// </summary>
|
||||
@ -430,8 +453,8 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// Get all production infos for skip process checks or limits for production like:
|
||||
/// - Battery drained percentage upper limit,
|
||||
/// - Production due date for a special register,
|
||||
/// - Required life time for assembly line,
|
||||
/// - Required life time for shipping line.
|
||||
/// - Required lifetime for assembly line,
|
||||
/// - Required lifetime for shipping line.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetCordonelRequirementInfoServiceUrl()
|
||||
@ -444,11 +467,11 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// Get all production infos for skip process checks or limits for production like:
|
||||
/// - Battery drained percentage upper limit,
|
||||
/// - Production due date for a special register,
|
||||
/// - Required life time for assembly line,
|
||||
/// - Required life time for shipping line.
|
||||
/// - Required lifetime for assembly line,
|
||||
/// - Required lifetime for shipping line.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GetCordonelRequirementByFANrInfoServiceUrl(string ponr)
|
||||
public static String GetCordonelRequirementByFANrInfoServiceUrl(String ponr)
|
||||
{
|
||||
return $"http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/cordonel/requirements/pono/{ponr}";
|
||||
}
|
||||
@ -457,11 +480,11 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
/// Get all production infos for skip process checks or limits for production like:
|
||||
/// - Battery drained percentage upper limit,
|
||||
/// - Production due date for a special register,
|
||||
/// - Required life time for assembly line,
|
||||
/// - Required life time for shipping line.
|
||||
/// - Required lifetime for assembly line,
|
||||
/// - Required lifetime for shipping line.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static string GetCordonelRequirementByMeterSizeInfoServiceUrl(int size)
|
||||
public static String GetCordonelRequirementByMeterSizeInfoServiceUrl(Int32 size)
|
||||
{
|
||||
return $"http://sla12iis01.emea.sensus.net/LaaProductionWeb/api/cordonel/requirements/isize/{size}";
|
||||
}
|
||||
@ -718,6 +741,16 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
DefaultGenesisGetKeySetIdServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Genesis get password url
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static String GenesisSetPickingStateServiceUrl()
|
||||
{
|
||||
return ConfigurationManager.AppSettings["GenesisSetPickingStateServiceUrl"] ??
|
||||
DefaultGenesisSetPickingStateServiceUrl;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Genesis get password url
|
||||
/// </summary>
|
||||
@ -832,21 +865,6 @@ namespace Xylem.Common.CommonCore.Configuration
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static String GetOrderOverviewServiceUrl()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static String GetCordonelMappingServiceUrl()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static String GenesisSetPickingStateServiceUrl()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1645,6 +1645,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2024-Apr-04" author="Roland Drabesch/Thomas Wiedebusch">
|
||||
/// - Initial, extracted from <see cref="ReadMeterFirmwareAndAssignRegisters"/>
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Dec-09" author="Thomas Wiedebusch">
|
||||
/// - Excluded register versions explicit specified in the 'configuration.json' as version.exclude list.
|
||||
/// </remarks>
|
||||
public void BuildValidMeterRegisters(List<KeyValuePair<RegisterDefinition, Byte[]>> tempConfigRegisters)
|
||||
{
|
||||
if (tempConfigRegisters == null || tempConfigRegisters.Count == 0)
|
||||
@ -1677,7 +1680,10 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
(registerToCheck.Key.RegisterDetail.Version.Last != null &&
|
||||
registerToCheck.Key.RegisterDetail.Version.First != null &&
|
||||
registerToCheck.Key.RegisterDetail.Version.First.Value <= currentGroup.Version &&
|
||||
registerToCheck.Key.RegisterDetail.Version.Last.Value >= currentGroup.Version))
|
||||
registerToCheck.Key.RegisterDetail.Version.Last.Value >= currentGroup.Version &&
|
||||
( registerToCheck.Key.RegisterDetail.Version.Exclude == null ||
|
||||
// Exclude named versions
|
||||
registerToCheck.Key.RegisterDetail.Version.Exclude.All(exVer => exVer != currentGroup.Version))))
|
||||
{
|
||||
configRegisterListForDebug.Add(registerToCheck.Key.GetIdent());
|
||||
// Avoid multiple assignment of identical register in dictionary if one has passed the test
|
||||
|
||||
@ -121,14 +121,14 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <summary>
|
||||
/// Registers manually explicit excluded for in-field updatable parameters for the CUST to prevent inadvertent
|
||||
/// modifications resulting in potential MID violations.
|
||||
///
|
||||
/// Defined by M.C., J.L. and A.F. with the file: 'FwUpdateController.cs-GetRecoveryFile()-2507160616.xlsx'.
|
||||
///
|
||||
/// All commands defined here will not be accepted from 'external' to adjust. Program internally, those
|
||||
/// commands are potentially allowed if those do not change any MID dependent 'values'.
|
||||
/// </summary>
|
||||
/// <remarks date="2025-Nov-18" author="Thomas Wiedebusch">
|
||||
/// - SENSUSRADIO_WakeupInterval added to keep radio active after field update if it was active before.
|
||||
/// <remarks date="2025-Jul-16" author="Thomas Wiedebusch">
|
||||
/// Defined by M.C., J.L. and A.F. with the file: 'FwUpdateController.cs-GetRecoveryFile()-2507160616.xlsx'.
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Dec-08..10" author="Thomas Wiedebusch">
|
||||
/// CUST 2.8.14:
|
||||
/// - Added: - ’SENSUSRADIO_WakeupInterval’ to keep radio active after CUST run
|
||||
/// - Removed: - 'GENESISFLOW_SealDisplay' being able to modify display resolution
|
||||
/// </remarks>
|
||||
private static readonly List<String> _fieldUpdateBlacklist = new List<String>
|
||||
{
|
||||
@ -190,7 +190,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
"GENESISFLOW_PipeFillingDelay", //46
|
||||
"GENESISFLOW_ResetAccumulators", //47
|
||||
"GENESISFLOW_SampleRate", //48
|
||||
"GENESISFLOW_SealDisplay", //49
|
||||
//"GENESISFLOW_SealDisplay", //49 - 2025-Dec-10 - emoved as needed to modify display resolution A.F., M.C. - CUST_2.8.14
|
||||
"GENESISFLOW_StartHit", //50
|
||||
"GENESISFLOW_StoreCalibration", //51
|
||||
"GENESISFLOW_Timeout", //52
|
||||
@ -253,7 +253,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
"SENSUSRADIO_Tfx_Structure", //21
|
||||
"SENSUSRADIO_UpgFWVersion", //22
|
||||
"SENSUSRADIO_UtcTimeOffset", //23
|
||||
"SENSUSRADIO_WakeupInterval", //24
|
||||
"SENSUSRADIO_WakeupInterval", //24 - 2025-Dec-08 - CUST_2.8.14
|
||||
|
||||
"SYSTEM_CalendarSeconds", // 1
|
||||
"SYSTEM_CheckPresence", // 2
|
||||
@ -1102,6 +1102,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2025-Nov-17" author="Thomas Wiedebusch">
|
||||
/// - Login/Logout moved here.
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Dec-12" author="Thomas Wiedebusch">
|
||||
/// - Redundant OOR message removed.
|
||||
/// </remarks>
|
||||
private StatusReturn WriteRegisterParameterSet(List<RecoveryRegisterItem> recoveryRegistersDb,
|
||||
Int32 recRegistersCount, MeterRegisters meterRegisters, CancellationToken cancellationToken, Boolean fieldUpdate)
|
||||
{
|
||||
@ -1153,7 +1156,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
_currentGenesis.WriteLog(errorMessage);
|
||||
OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs(
|
||||
$@"{Resources.StrWriteRegister} {_actualRegisterCtr} / {recRegistersCount}",
|
||||
overallProcessCtrPercent, Resources.StrRegisterValueOutOfRange + " " + errorMessage));
|
||||
overallProcessCtrPercent, errorMessage));
|
||||
_currentGenesis?.Logout();
|
||||
return StatusReturn.Failed;
|
||||
}
|
||||
@ -1207,15 +1210,16 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2025-Nov-19" author="Thomas Wiedebusch">
|
||||
/// - Leave the initial 'RecoveryRegisters' intact.
|
||||
/// </remarks>
|
||||
public Boolean RestoreAndCompareRegistersAfterReboot(CancellationToken cancellationToken)
|
||||
/// <remarks date="2025-Dec-08" author="Thomas Wiedebusch">
|
||||
/// - Leave the initial 'FailedComparisonRegisters' intact.
|
||||
/// </remarks>
|
||||
public Boolean RestoreAndCompareRegistersAfterReboot(CancellationToken cancellationToken)
|
||||
{
|
||||
if (!HasRestoreRegistersAfterRebootIfCompareFailed)
|
||||
return false;
|
||||
|
||||
HasRestoreRegistersAfterRebootIfCompareFailed = false;
|
||||
|
||||
FailedComparisonRegisters.Clear();
|
||||
|
||||
// get the pre-defined dictionary
|
||||
var meterRegisters = _currentGenesis.GetConfigRegistersDefinitions();
|
||||
|
||||
@ -1317,7 +1321,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
var retVal = true;
|
||||
|
||||
// build a string list of the registers being able to sort those
|
||||
//var registerNames = RecoveryRegisters.Select(register => register.RegisterIdent).ToList();
|
||||
var registerNames = recoveryRegisters.Select(register => register.RegisterIdent).ToList();
|
||||
|
||||
// Remove all excluded registers
|
||||
@ -1630,6 +1633,12 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2025-Apr-07" author="Thomas Wiedebusch">
|
||||
/// - CancellationToken.
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Apr-07" author="Thomas Wiedebusch">
|
||||
/// - CancellationToken.
|
||||
/// </remarks>
|
||||
/// <remarks date="2025-Dec-13" author="Thomas Wiedebusch">
|
||||
/// - Repaired building of initial register list.
|
||||
/// </remarks>
|
||||
public Boolean InitialReadRegisters(CancellationToken cancellationToken)
|
||||
{
|
||||
if (_currentGenesis == null)
|
||||
@ -1644,7 +1653,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
_pcbIdInitialRegisterRead = _currentGenesis.PcbId;
|
||||
|
||||
// create a dictionary for final read being able to compare those with the initial read and restored
|
||||
if (!BuildReadableRegisterDictionary(ref _finalRegisters))
|
||||
if (!BuildReadableRegisterDictionary(ref _initialRegisters))
|
||||
return false;
|
||||
|
||||
// log to report file the initial register read string
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -58,7 +58,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
|
||||
"&withRadioAdress=true";
|
||||
|
||||
var responseJson = LocalWebRequest.GetRequest(url, 30000);
|
||||
var stringArray = JsonConvert.DeserializeObject<String[]>(responseJson);
|
||||
var stringArray = JsonConvert.DeserializeObject<String[]>(responseJson);
|
||||
|
||||
if (stringArray != null)
|
||||
{
|
||||
|
||||
@ -1,6 +1,20 @@
|
||||
<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:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteBasicCompletion/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutoCompleteSmartCompletion/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/AutopopupEnabled/AutopopupEnabled/@EntryValue">False</s:Boolean>
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PCB/@EntryIndexedValue">PCB</s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/EnableGotoEverything/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/FuzzySearchInGotoText/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleHierarchyItemImmediately/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoSingleUsageImmediately/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/GotoTextInGotoEverything/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/NavigateByControlClick/@EntryValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/SearchAndNavigation/SaveExtendedSearch/@EntryValue">True</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>
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -414,6 +414,7 @@
|
||||
this.gridViewCordonelSelection.Name = "gridViewCordonelSelection";
|
||||
this.gridViewCordonelSelection.ReadOnly = true;
|
||||
this.gridViewCordonelSelection.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.gridViewCordonelsSelection_CellClick);
|
||||
this.gridViewCordonelSelection.ColumnHeaderMouseClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.gridViewCordonelSelection_ColumnHeaderMouseClick);
|
||||
//
|
||||
// tblPanelCordonelSearch
|
||||
//
|
||||
|
||||
@ -767,7 +767,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
SetStatusProgressBar();
|
||||
_dbAccessDelayCtrMs = 0;
|
||||
_processState = ProcessState.GetCordonelProductionOrdersFromDb;
|
||||
|
||||
}
|
||||
|
||||
if (e.TabPage == tabPageCustomerSelection)
|
||||
@ -1041,7 +1040,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
_logger.Info(StrSeparator);
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
|
||||
if (_cultureInfo.IetfLanguageTag.Contains("de-"))
|
||||
radioBtnGermanLanguage.Checked = true;
|
||||
else
|
||||
@ -1341,7 +1340,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
if (_fwUpdateCapability.All(x => x.ReleaseContainerLoaded == false) ||
|
||||
_fwUpdateCapability.Any(x => x.RecoveryNotNeededOrLoaded == false) ||
|
||||
_fwUpdateCapability.Any(x => x.PowerCorrectionNotNeededOrLoaded == false) ||
|
||||
_fwUpdateCapability.Any(x => x.PasswordContainerLoaded == false) )
|
||||
_fwUpdateCapability.Any(x => x.PasswordContainerLoaded == false))
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
return false;
|
||||
@ -2450,8 +2449,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
value = 100;
|
||||
if (value < 0)
|
||||
value = 0;
|
||||
ProgressBarStatus.Visible = visible;
|
||||
ProgressBarStatus.Value = value;
|
||||
ProgressBarStatus.Visible = visible;
|
||||
ProgressBarStatus.Value = value;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@ -3987,6 +3986,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
|
||||
@ -4008,7 +4010,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
|
||||
}
|
||||
|
||||
// select register restore
|
||||
// select factory reset
|
||||
if (gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableRegisterRestoreSelect)
|
||||
{
|
||||
// Search the cordonel in the production search list
|
||||
@ -4086,35 +4088,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);
|
||||
}
|
||||
@ -4149,6 +4156,38 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Overwrite header cell click to to toggle all Cordonel selections
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <remarks date="2025-Dec-09" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void gridViewCordonelSelection_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
var cordSearchCtr = 0;
|
||||
// Toggle all factory resets for every Cordonel
|
||||
if (gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableRegisterRestoreSelect ||
|
||||
gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableSelect)
|
||||
{
|
||||
// Search the cordonel in the production search list
|
||||
foreach (var cordSearch in _cordonelProductionSearchInfos)
|
||||
{
|
||||
var cellEventArgs = new DataGridViewCellEventArgs(e.ColumnIndex, cordSearchCtr);
|
||||
gridViewCordonelsSelection_CellClick(this, cellEventArgs);
|
||||
cordSearchCtr++;
|
||||
Update();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Build data grid for cordonels
|
||||
@ -4177,6 +4216,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// <remarks date="2024-May-13" author="Thomas Wiedebusch">
|
||||
/// - Disabled language selection, culture info fixed to english.
|
||||
/// </remarks>
|
||||
/// <remarks date="2024-May-13" author="Thomas Wiedebusch">
|
||||
/// - Avoid sorting of 'selection' and 'factory reset' columns.
|
||||
/// </remarks>
|
||||
private void FillDataGridWithCordonelInfos()
|
||||
{
|
||||
grpLanguageSelection.Enabled = false;
|
||||
@ -4256,7 +4298,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
|
||||
foreach (DataGridViewColumn column in gridViewCordonelSelection.Columns)
|
||||
{
|
||||
column.SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
if (column.Name != Resources.StrTableRegisterRestoreSelect &&
|
||||
column.Name != Resources.StrTableSelect)
|
||||
column.SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -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}");
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user