From 3ca162ca734253d60034a86273cd3dda11a93b4e Mon Sep 17 00:00:00 2001 From: Thomas Wiedebusch Date: Thu, 12 Feb 2026 13:45:23 +0100 Subject: [PATCH] ProductionUiCordonel: - reboot counter reactivated, - improved retries on error handling --- Common/Common.sln.DotSettings | 21 +- Common/Common.sln.DotSettings.user | 1 + .../Genesis/GenesisFile/MeterResetPsu.cs | 2 +- .../EolProcesses/CheckFinalParametrization.cs | 13 +- .../GenericProcesses/ConnectCordonel.cs | 20 +- .../ProductionProcesses/ProcessController.cs | 13 + .../Properties/Resources.Designer.cs | 9 + .../Properties/Resources.de.resx | 749 +++++++++--------- .../Properties/Resources.resx | 745 ++++++++--------- FM2014TestApp/Fm2014TestApp1.sln.DotSettings | 499 ++++++++++++ LaaProductionWeb/LaaPackages | 2 +- 11 files changed, 1314 insertions(+), 760 deletions(-) create mode 100644 FM2014TestApp/Fm2014TestApp1.sln.DotSettings diff --git a/Common/Common.sln.DotSettings b/Common/Common.sln.DotSettings index f85013f2..c1981cb7 100644 --- a/Common/Common.sln.DotSettings +++ b/Common/Common.sln.DotSettings @@ -2,8 +2,8 @@ True True True - True - True + False + False False True True @@ -61,12 +61,15 @@ True + True True True True True True + True True + True True True True @@ -78,11 +81,14 @@ True True True + True True True True + True True True + True True True True @@ -90,6 +96,7 @@ True True True + True True True True @@ -97,15 +104,19 @@ True True True + True True + True True True True True True True + True True True + True True True True @@ -119,13 +130,19 @@ True True True + True True + True + True True True + True True True True + True True + True True True True diff --git a/Common/Common.sln.DotSettings.user b/Common/Common.sln.DotSettings.user index 1561af62..0271c2df 100644 --- a/Common/Common.sln.DotSettings.user +++ b/Common/Common.sln.DotSettings.user @@ -1,4 +1,5 @@  + False DO_NOT_SHOW DO_NOT_SHOW True diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterResetPsu.cs b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterResetPsu.cs index c422336a..f44856fc 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterResetPsu.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterResetPsu.cs @@ -103,7 +103,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile /// /// Threshold to waste the HW if reboots too high /// - public const Int32 MAX_REBOOTS_FOR_HEALTHY_HW = 4; + public const Int32 MAX_REBOOTS_FOR_HEALTHY_HW = 0; #endregion diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckFinalParametrization.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckFinalParametrization.cs index eee41e87..56efe4dd 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckFinalParametrization.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckFinalParametrization.cs @@ -52,6 +52,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr /// /// - Restore registers after reboot if failed - temporary workaround for FW-bug. /// + /// + /// - Retry to log in. + /// public override StatusReturn ExecuteProcess() { // Uncheck executed process to leave the result open needed for retries @@ -76,9 +79,13 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr Meter.ReLogin(); if (!Meter.IsLoggedOn) { - ErrorMsgDispatcher(Resources.StrErrorMsgCordonelLogin); - EolProgress.ParametrizationCompareChecked = EOLStatus.FAIL; - return StatusReturn.Failed; + Meter.ReLogin(); + if (!Meter.IsLoggedOn) + { + ErrorMsgDispatcher(Resources.StrErrorMsgCordonelLogin); + EolProgress.ParametrizationCompareChecked = EOLStatus.FAIL; + return StatusReturn.Failed; + } } } diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs index 88e44b00..5d4045b9 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs @@ -73,16 +73,18 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener // Read reboot count and compare with hardcoded maximum value var rebootCount = RegisterConverter.ByteArrayToValue(Meter.ReadRegister("CUSTOMER_RebootCount")); - //TODO THW reactivate for REBOOT Ctr check - //if (rebootCount > MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW) - //{ - // ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots + - // $" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" + - // $" - {Resources.StrProcessStateDetected}: {rebootCount}"); - // return StatusReturn.Failed; - //} + if (rebootCount > MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW) + { + ErrorMsgDispatcher(Resources.StrErrorMsgTooManyReboots + + $" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" + + $" - {Resources.StrProcessStateDetected}: {rebootCount}"); + return StatusReturn.Failed; + } - WarningMsgDispatcher(Resources.StrWarningRebbotCounterCheckSkipped); + SuccessMsgDispatcher(Resources.StrSuccessMsgRebootCounts + + $" - {Resources.StrProcessStateAllowed}: {MeterResetPsu.MAX_REBOOTS_FOR_HEALTHY_HW}" + + $" - {Resources.StrProcessStateDetected}: {rebootCount}"); + // If interface is outdated if (!Meter.InterfaceSupportsFwVersion) { diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/ProcessController.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/ProcessController.cs index f919dfe8..001a8ed4 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/ProcessController.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/ProcessController.cs @@ -810,6 +810,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses /// /// Abort enabled during waiting loop. /// + /// + /// Skip the process if already succeeded and kick off the next process if succeeded. + /// private void StartProcess(ProcessStateStruct processStateStruct) { // Deny access if uninitialized @@ -822,6 +825,16 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses return; } + // Skip the process if already succeeded and kick off the 'NextStateOnSuccess' but avoid some hidden states + if (processStateStruct.ProcessState != ProcessState.Error && + processStateStruct.ProcessState != ProcessState.CreateEolProgress && + processStateStruct.ProductionProcess.SingleProcessState == SingleProcessState.Succeeded && + processStateStruct.NextStateOnSuccess != null) + { + _stateMachineState = (ProcessState)processStateStruct.NextStateOnSuccess; + return; + } + // Process is waiting for execution after init, this overrides the eventually abort state processStateStruct.ProductionProcess.InitProcess(); diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs b/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs index 4348cac9..f410049c 100644 --- a/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs +++ b/Common/Production/ProductionUiCordonel/Properties/Resources.Designer.cs @@ -2508,6 +2508,15 @@ namespace Xylem.Common.Production.ProductionUiCordonel.Properties { } } + /// + /// Looks up a localized string similar to Success: Reboot count as required. + /// + internal static string StrSuccessMsgRebootCounts { + get { + return ResourceManager.GetString("StrSuccessMsgRebootCounts", resourceCulture); + } + } + /// /// Looks up a localized string similar to Success: Standard requirement approved for production. /// diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx b/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx index 9def9bda..54e89ee9 100644 --- a/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx +++ b/Common/Production/ProductionUiCordonel/Properties/Resources.de.resx @@ -1,12 +1,12 @@  - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\ConnectPlugged_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Connect_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconCheck.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconWarn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconWating.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Refresh_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\CLEARMAtrix.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\ConnectPlugged_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Connect_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconCheck.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconWarn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconWating.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Refresh_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CLEARMAtrix.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Keine Verbindung zum Netzwerk. Die Software wird beendet! - + Konfigurationsdatei nicht gefunden. Slot muß mit der GenesisToolBox eingestellt werden! Die Software wird beendet! - + Kommunikationsanschluß ist belegt oder nicht vorhanden! Die Software wird beendet! - + Neue Cordonel VFM Software verfügbar! Die Software wird beendet! Diese version: - + Warte - + Wiederhole - + Neustart - + Erfolg - + Übersprungen - + FEHLER - + Läuft - + Warte - + Erfolg: Passwortdatei erfolgreich geschrieben - + Wiederholung Versandfertigmachen - + Wiederholung Einzelschritt - + Prozeß auslassen - + Abbruch durch Benutzer - + Drucken des Rückläuferscheines - + Drucken des Erfolgsreport - + Beilagen und Anbauteile überprüfen - + Visuelle Inspektion Cordonel Display - + Pulsmodul einbauen - + Auftragspapiere prüfen ob Adapter eingebaut werden soll! - + Nicht möglich - + Erledigt - + Falls Information oder Hardware fehlt - + Sobald Adapter installiert wurde oder wenn kein Adapter gefordert ist! - + FEHLER: LUT nicht in Datenbank gefunden - + FEHLER: LUT Installation fehlgeschlagen - + Erfolg: LUT erfolgreich installiert - + Display zeigt Zahlenwerte an und Funk ist aus! - + Display zeigt Idle an und keine Zahlen oder Funk is aktiv! - + Auftragsnummer einscannen - + Auslieferungseinstellungen überprüfen - + Deckelseriennummer einscannen - + Produktionsbedingungen überprüfen - + Cordonel verbinden - + LUT installieren - + Cordonel Zuordnung prüfen - + Auslieferungseinstellungen programmieren - + Cordonel abmelden - + Versandbereitschaft herstellen - + Montageabschlußbestätigung - + Funktest - + Alarmeinstellungen über Funk - + Cordonel ist versandfertig - + Cordonel Montage erfolgreich - + Cordonel Neustart - + Abgebrochen - + Cordonel suchen - + FEHLER: Datenbankzugriff fehlgeschlagen - + FEHLER: Alte Wächter Parameter konnten nicht gelöscht werden - + FEHLER: Wächter Parameter konnten nicht erzeugt werden - + FEHLER: Es gab fehlerhafte oder ausgelassene Prozesse - + FEHLER: Wächter Parameter konnten nicht hochgeladen werden - + FEHLER: Wächter meldet Versandfertigmachen fehlerhaft - + FEHLER: Wächter meldet: - + Wächter überprüft Ergebnisse und gleicht diese mit den Datenbankaufzeichnungen ab.... - + Erfolg: Wächter bestätigt Versandfertigmachen Einstellungen und Prozesse nach Überprüfung - + Konfigurationsvergleich - + FEHLER: Cordonel Erkennung fehlgeschlagen - + Interface (configuration.json) Version: - + Installierte Firmware Version: - + Interface unterstützt max Firmware Version: - + FEHLER: Cordonel Anmeldung fehlgeschlagen - + FEHLER: Datenbank Konfigurationsdatenanfrage fehlgeschlagen - + Konfigurationen ermitteln - + Seriennummer und Funkadresse ermitteln - + Erzeugung der Fortschrittsparameter für Wächter - + Paßwortdatei erzeugen und installieren - + Prozeß - + Status - + Warte auf Cordonel - + Passwörter schon geschrieben. Prozess wird übersprungen - + FEHLER: Cordonel Kalibrierungsprozeß ausgelassen - + Erfolg: Cordonel Kalibrierungsprozeß ist bestätigt worden - + FEHLER: Cordonel Zero Flow Prozeß ausgelassen - + Erfolg: Cordonel Zero Flow Prozeß ist bestätigt worden - + FEHLER: Batterielaufzeit zu klein - + FEHLER: Passwortüberschreiben in Datenbank fehlgeschlagen - + FEHLER: Teststatus kann nicht ermittelt werden - + FEHLER: Datenbankabruf für Produktionsfreigabe fehlgeschlagen - + Erfolg: Produktionsfreigabe gemäß Nummer - + FEHLER: Schreiben und Überprüfen Cordonel Paßwortdatei fehlgeschlagen - + FEHLER: Erzeugung der Cordonel Paßwortdatei fehlgeschlagen - + FEHLER: Paßwort Level 3 der Cordonel Paßwortdatei ist fehlerhaft - + FEHLER: Verbleibende Restlaufzeit zu klein - + FEHLER: Restlaufzeitberechnung fehlgeschlagen - + FEHLER: Cordonel Baulänge ist unbekannt - + FEHLER: Versandfertigmachen fehlgeschlagen - + FEHLER: Prozeßschritt fehlgeschlagen - + FEHLER: Auftragsnummerscan fehlgeschlagen - + FEHLER: Deckelseriennummerscan fehlgeschlagen - + FEHLER: Funkschlüssel prüfen fehlgeschlagen - + FEHLER: Überprüfung Funkmodul fehlgeschlagen - + FEHLER: Funkmodul nicht im Kundenmodus - + FEHLER: RSSI SIRT konnte nicht initialisiert werden - + FEHLER: Service SIRT Programmierung fehlgeschlagen - + FEHLER: Service SIRT Start des Messageserves fehlgeschlagen - + WARNUNG: Service SIRT Alarme zurücksetzen via SIRT ausgelassen - + FEHLER: Funkverschlüsselungscode fehlerhaft - + Auftrag - + Fertigungsauftragsnummer - + Baugröße - + Stk. - + Fortschritt - + FEHLER: Auftrag bereits komplett - + Baulänge - + Drucksensor eingebaut - + Kitron Produktionsdatum - + Endtestablaufdatum - + Maximallagerzeit - + Monate - + Funkfrequenz - + Funkadresse - + Seriennummer - + Funktest übersprungen wegen NA Region - + WARNUNG: Funktest übersprungen wegen Sonderfreigabe - + WARNUNG: Wiederholter Akkumulator Reset - + WARNUNG: Kalibrierungsüberprüfung übersprungen wegen Sonderfreigabe - + Überprüfe auf neuen Cordonel - + FEHLER: Dieser Cordonel ist einem anderen Fertigungsauftrag zugeordnet - + FEHLER: Auftragsreservierung für diesen Cordonel fehlgeschlagen - + FEHLER: Montageabschlußmeldung für diesen Cordonel fehlgeschlagen - + FEHLER: Dieser Cordonel kann keinem Auftrag zugeordnet werden - + FEHLER: Für diesen Cordonel stehen keine Auftragsinformationen zur Verfügung - + WARNUNG: Dieser Cordonel ist bereits diesem Fertigungsauftrag zugeordnet - + FEHLER: Vergleich fehlgeschlagen - + Funkerkennung inkonsistent zwischen Cordonel und geforderten Einstellungen - + FEHLER: Lesen fehlgeschlagen - + FEHLER: Firmware wird nicht unterstützt - + FEHLER: Firmware konnte nicht aus Datenbank geladen werden - - FEHLER: Schreiben fehlgeschlagen - - + FEHLER: Die Baugröße des Cordonels konnte nicht eingestellt werden - + Erfolg: Die Cordonel Baugröße wurde erfolgreich eingestellt - + FEHLER: Die Drucksensoreinstellung ist fehlgeschlagen - + Erfolg: Die Drucksensoreinstellung war erfolgreich - + Drucksensor vorhanden - + Ohne Drucksensor - + + FEHLER: Schreiben fehlgeschlagen + + FEHLER: Falsche Kernversion des Cordonels - + FEHLER: Mindestens eine App fehlt oder ist falsch - + Erfolgreich verglichen - + Erfolg: Erfolgreich gelesen - + Erfolg: Erfolgreich geschrieben - + FEHLER: Prozeß abgebrochen - + FEHLER - + Erfolg - + FEHLER: RSSI Grenzwerte aus Datenbank holen fehlgeschlagen - + Erfolg: RSSI Grenzwerte erfolgreich aus Datenbank geladen - + FEHLER: Cordonel Neustart fehlgeschlagen - + FEHLER: RSSI Werte in Datenbank speichern fehlgeschlagen - + Erfolg: RSSI Werte erfolgreich in Datenbank gespeichert - + Funktest - + RSSI der SEMI vom Cordonel (Cordonel => SIRT) - + RSSI der PAM von SIRT (SIRT => Cordonel) - + Sende PAM an Adresse - + Start - + Erfolg: Alarme erfolgreich zurückgesetzt - + FEHLER: Alarme konnten nicht zurückgesetzt werden - + Erfolg: Funk efolgreich in Kundenmodus geschaltet - + Wiederholen - + Überspringe - + Starte erneut - + Wiederhole fehlgeschlagene Prozesse - + Wiederholung ab erstem Fehler! - + Rückläuferschein drucken - + Bericht drucken - + Starte - + Abbruch - + Fehler - + FEHLER - + Erfolg - + FEHLER: Auftragsdatails abrufen fehlgeschlagen - + FEHLER: Parametervergleich fehlgeschlagen - + WARNUNG: Parameter überlebte den Neustart nicht und wurde danach wiederhergestellt - + FEHLER: Parameterschreiben fehlgeschlagen - + FEHLER: Einstellungen Sichern fehlgeschlagen - + Einstellungen sichern - + Erfolg: Einstellungen erfolgreich gespeichert - + WARNUNG - + WARNUNG: Ergebnis muß überprüft werden! Prozeß - + WARNUNG: Hardwareneustartüberprüfung (Reboot) ausgelassen - + FEHLER: Hardwareneustarts (Reboot) über der erlaubten Grenze - + FEHLER: CSD ist für die Production gesperrt - + FEHLER: CSD ist neu aber für die Production gesperrt - + Erfolg: CSD ist zur Produktion freigegeben - + WARNUNG: CSD ist bekannt und temporär zur Produktion freigegeben - + WARNUNG: CSD Status und Nummer sind unbekannt - + ACHTUNG - + Start: Verzögerungszeit zwischen Parameterschreiben und Wertespeicherung für - + Stop: Verzögerungszeit zwischen Parameterschreiben und Wertespeicherung nach - + Abgelaufene Verzögerungszeit zwischen Parameterschreiben und Wertespeicherung - + Erlaubt - + Erkannt - + SONDERFREIGABE - + Keine Freigabe vorhanden - + STANDARDFREIGABE - - ..\Resources\Cordonel With Display small.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\SensusLogoXylem.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - + + ..\Resources\Cordonel With Display small.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SensusLogoXylem.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + FEHLER: Falsche PcbId der Produktionsanforderungen aus der Datenbank - + FEHLER: Falsche PcbId der Kalibrierwerte aus der Datenbank - + FEHLER: Kalibrierwerte aus Datenbank und gelesen aus Cordonel sind unterschiedlich - + FEHLER: Kalibrierwerte konnten nicht aus Datenbank geladen werden - + FEHLER: Regulierstatus konnte nicht aus Datenbank geladen werden - + FEHLER: Kalibrierwerte gelesen vom Cordonel sind außerhalb des zulässigen Bereiches - + WARNUNG: Alle Kalibrierwerte des Cordonels sind Standardwerte - + FEHLER: Falsche Firmware in Cordonel installiert - + FEHLER: Falsche LUT in Cordonel installiert - + FEHLER: Maximale Lagerzeit überschritten - + FEHLER: Maximale Lagerzeit oder Inbetriebnahmezeit unbekannt - + FEHLER: Falsche Nennweite - + FEHLER: Fehlende Funksignalpegel von Kitron! - + FEHLER: Falsche Produktionsnummer - + FEHLER: Falsche Region - + FEHLER: Nicht für die Produktion freigegeben - + FEHLER: Maximal Batterieladung - + FEHLER: Geforderte Restlaufzeit - + FEHLER: Datenbank und Cordonel Funkschlüssel ungleich - + Prozeßzeit [min:s] - + Gesamtprozeß - + Mitarbeiter - + _Optionen - + _Hilfe - + _Paßwort ändern - + Einzelprozeß - + Erfolg: PcbId der Produktionsanforderungen aus der Datenbank und des Cordonels erfolgreich abgeglichen - + Erfolg: Auftragsbasierende Produktionsanforderungen festgestellt - + Erfolg: PcbId der Kalibrierwerte aus der Datenbank und des Cordonels erfolgreich abgeglichen - + Erfolg: Kalibrierwerte aus der Datenbank stimmen mit den gelesenen Werten aus Cordonel überein - + Erfolg: Korrekte Firmware installiert - + Erfolg: Korrekte LUT installiert - + Erfolg: Maximale Lagerzeit eingehalten - + Erfolg: Cordonel Funksignalpegel erfolgreich geladen - + Erfolg: Nennweite erfolgreich validiert - + Erfolg: Produktionsnummer erfolgreich abgeglichen - + Erfolg: Region erfolgreich überprüft - + Erfolg: Standardanforderung für die Produktion freigegeben - + ACHTUNG: Sonderfreigabe für Produktion erteilt - + Zulässige maximale Batterieentladung - + Erfolg: Datenbank und Cordonel Funkschlüssel erfolgreich abgeglichen - + Verbrauchte Batterieladung - + Berechnung basierend auf Ruhestrom und Produktionszuschlag - + FEHLER: Maximale erlaubte Batterieentladung überschritten - + Absoluter Grenzwert - + Maximal erlaubt - + Abgeschätzte Restlaufzeit - + FEHLER: Minimale geforderte Restlaufzeit unterschritten - + FEHLER: Batterieentladung konnte nicht berechnet werden - + Erfolg: Minimale Restlaufzeit eingehalten - + Minimal geforderte Restlaufzeit - + Jahre - + Cordonel - Versandfertigmachen - Version - + Cordonel - Montage - Version - + Deckel scannen - + Auftrag scannen - + Datum - + Rückläuferschein beim Cordonel lassen und auf Klärung durch QS warten! - + Cordonel Montage erfolgreich beendet! Dieser Bericht dient der Information. - + Cordonel ist fertig zum Versenden! Dieser Bericht dient der Information. - + Optional: Zur Information kann ein Bericht gedruckt werden. - + Cordonel muß näher untersucht werden! Details stehen im Info Fenster. - + Abbruch ohne Bericht! - + Cordonel verpacken! - + Cordonel ist fertig! - + Cordonel hat alle Tests bestanden! - + Versandfertigmachen fehlgeschlagen! - + Passwörter anfordern - + Passwortdatei erstellen - + Passwortdatei installieren - + Passwort in Datenbank erneuern - + Cordonel abmelden - + Cordonel Anmeldung - + AUSGELASSEN - + Anmeldung - + Paßwort ändern - + FEHLER: Displayvolumen konnte nicht genullt werden - + FEHLER: SIRT Telegram ist zu kurz - + FEHLER: SEMI Telegramm ist zu kurz - + FEHLER: Alarm ist aktiv - + SEMI Telegrammdekodierung - + Rückwärtsdurchfluß erkannt - + Leitungsbruch erkannt - + Leck erkannt - + Batteriestand kritisch - + Magnetischer Manipulationsalarm erkannt - + Metrologischer Fehler - + Spezifischer Fehler + + Erfolg: Hardwareneustarts (Reboot) innerhalb der erlaubten Grenze + \ No newline at end of file diff --git a/Common/Production/ProductionUiCordonel/Properties/Resources.resx b/Common/Production/ProductionUiCordonel/Properties/Resources.resx index 28720a55..14de40f1 100644 --- a/Common/Production/ProductionUiCordonel/Properties/Resources.resx +++ b/Common/Production/ProductionUiCordonel/Properties/Resources.resx @@ -1,6 +1,6 @@  - - - - + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - ..\Resources\ConnectPlugged_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Connect_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconCheck.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconWarn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\iconWating.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Refresh_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\CLEARMAtrix.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\ConnectPlugged_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Connect_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconCheck.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconWarn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\iconWating.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\Refresh_16x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\CLEARMAtrix.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + Missing Network Connection. The software is going to exit! - + Configuration file not found. Setup slot with the GenesisToolBox. The software is going to exit! - + Communication port is in use or not present. The software is going to exit! - + New Cordonel EOL Software available! The software is going to exit! This version: - + Idle - + Retry - + Initial start - + Success - + Skipped - + ERROR - + Processing - + Waiting - + Success: Password file successfully written - + Repeat shipping procedure - + Repeat single step - + Skip process - + Process cancellation by user - + Print return report - + Print success report - + Check attachments and assemblies - + Visual inspection Cordonel display - + Assemble pulse module - + Check order papers for adapter assembly - + Not possible - + Done - + If information or hardware is missing - + As soon as adapter is installed or if an adapter is not required! - + ERROR: LUT file not found in database - + ERROR: LUT file installation failed - + Success: LUT successfully installed - + Display shows numbers and radio is off! - + Display shows Idle or radio is active! - + Scan and check order number - + Configuration check full readout - + Scan and check housing serial number - + Check production rules - + Connect Cordonel - + Install LUT - + Check Cordonel mapping - + Programming configuration - + Log off from Cordonel - + Prepare for shipping - + Prepare for assembly line release - + Check radio - + Alarm settings via radio - + Cordonel is ready for shipping - + Cordonel assembly completed - + Reboot Cordonel - + Aborted - + Autodetect Cordonel - + ERROR: Data base access failed - + ERROR: Unable to delete old sentinel parameter - + ERROR: Unable to generate sentinel parameter - + ERROR: Not all EOL progresses succeeded - + ERROR: Unable to upload sentinel parameter - + ERROR: Sentinel returned EOL check failed - + ERROR: Sentinel message: - + Sentinel checks results and matching with database recordings - + Success: Sentinel crosscheck acknowledged preparation for shipping (EOL) settings and processes - + Configuration check - + ERROR: Cordonel detection failed - + Interface (configuration.json) version: - + Installed FW version: - + Interface supports max FW version: - + ERROR: Cordonel logon failed - + ERROR: Data base configuration request failed - + Get configurations - + Get serial number and radio address - + Create EOL progress for sentinel - + Build and install password file - + Process - + State - + Waiting on Cordonel - + Password file already exists. Skip process - + ERROR: Cordonel not successfully tested - + Success: Cordonel Calibration process execution reported - + ERROR: Cordonel zero flow calibration missing - + Success: Cordonel Zero Flow process execution reported - + ERROR: Battery low - + ERROR: Password overwriting in database failed - + ERROR: Pre- and flow-test status unknown - + ERROR: Production requirements request from data base failed - + Success: Production requirements according to number - + ERROR: Write and verify Cordonel password file failed - + ERROR: Generation of Cordonel password file failed - + ERROR: Password Level 3 in Cordonel password file is wrong - + ERROR: Remaining lifetime too short - + ERROR: Lifetime calculation failed - + ERROR: Cordonel length is unknown - + ERROR: Preparation for shipping failed - + ERROR: Process step failed - + ERROR: Order number scan failed - + ERROR: Housing serial number scan failed - + ERROR: Check radio encryption key failed - + ERROR: Radio module check failed - + ERROR: Radio not in customer mode - + ERROR: RSSI SIRT could not be initialized - + ERROR: Service SIRT programming failed - + ERROR: Service SIRT message server start failed - + WARNING: Service SIRT alarm mask reset via SIRT skipped - + ERROR: Radio encryption code wrong - + Order - + Production Order Number - + Meter Size - + pcs. - + Progress - + ERROR: Order already completed - + Meter Length - + Pressure Sensor Assembled - + Kitron production date - + Final test expiration date - + Maximum storage time - + Months - + Radio Frequency - + RadioAddress - + SerialNumber - + Radio check skipped due to NA region - + WARNING: Radio check skipped due to special permission - + WARNING: Accumulator reset repeated - + WARNING: Calibration check skipped due to special permission - + Check for new Cordonel - + ERROR: This Cordonel is assigned to another production order - + ERROR: Order reservation failed for this Cordonel - + ERROR: Assembly ready reporting for this Cordonel failed - + ERROR: This Cordonel cannot be mapped to an order - + ERROR: Unable to acquire order information for this Cordonel - + WARNING: This Cordonel is already assigned to this production order - + ERROR: Comparison failed - + ERROR: Radio inconsistent between meter and programming parameters - + ERROR: Read failed - + ERROR: Firmware is not supported - + ERROR: Firmware could not be downloaded from database - + ERROR: The meter size setup failed - + Success: The meter size is set up correctly - + ERROR: The pressure sensor setup failed - + Success: The pressure sensor is set up correctly - + Pressure sensor assembled - + Pressure sensor not assembled - + ERROR: Write failed - + ERROR: Wrong Core Revision of Cordonel - + ERROR: At least one wrong or missing App - + Success: Successfully compared - + Success: Successfully read - + Successfully written - + ERROR: Abort process - + ERROR - + Success - + ERROR: RSSI limits from data base request failed - + Success: Successfully received RSSI limits from database - + ERROR: Cordonel reboot failed - + ERROR: Error saving RSSI to database failed - + Success: Successfully saved RSSI to database - + Radio Check - + RSSI of SEMI sent by Cordonel (Cordonel => SIRT) - + RSSI of PAM sent by SIRT (SIRT => Cordonel) - + Sending PAM to address - + Start - + Success: Alarms successfully reset - + ERROR: Failed to reset alarms - + Radio successfully switched to customer mode - + Retry - + Skip - + Start From Beginning - + Repeat Failed Processes - + Repeat from first failed process! - + Print Return Report - + Print Report - + Start - + Abort - + Failed - + ERROR - + Success - + ERROR: Collection of order details failed - + ERROR: Parameter compare failed - + WARNING: Parameter restored after reboot as it does not survive it - + ERROR: Parameter write failed - + ERROR: Storing of configurations failed - + Store configurations - + Success: Configurations successfully stored - + WARNING - + WARNING: Result needs inspection! Process - + WARNING: Reboot counter check skipped - + ERROR: Hardware reboots higher than allowed threshold - + ERROR: CSD is blocked for production - + ERROR: CSD is new and not approved for production - + Success: CSD is approved for production - + WARNING: CSD is known and temporary used for production - + ERROR: CSD status and number are unknown - + ATTENTION - - + + Start: Delay timer between parametrization and store config for - + Stop: Delay timer between parametrization and store config after - + Expired delay timer between parametrization and store config - + Allowed - + Detected - + SPECIAL APPROVAL - + Missing requirement - + STANDARD APPROVAL - - ..\Resources\Cordonel With Display small.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\SensusLogoXylem.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - + + ..\Resources\Cordonel With Display small.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SensusLogoXylem.JPG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ERROR: Requirement PcbId from database does not match - + ERROR: PcbId of calibration values from database does not match - + ERROR: Calibration values from database and read from Cordonel are unequal - + ERROR: Download calibration values from database failed - + ERROR: Download flow test status from database failed - + ERROR: Calibration values read from Cordonel are out of range - + WARNING: All calibration values read from Cordonel are on default - + ERROR: Wrong Firmware installed in Cordonel - + ERROR: Wrong LUT installed in Cordonel - + ERROR: Maximum Storage Month exceeded - + ERROR: Maximum Storage Month or battery assembly date unknown - + ERROR: Requirement Meter Size does not match - + ERROR: Missing radio signal levels from Kitron! - + ERROR: Requirement Production Order does not match - + ERROR: Requirement Region does not match - + ERROR: Requirement not valid for production - + ERROR: Remaining Battery load to low - + ERROR: Remaining Life Time to low - + ERROR: Data base and Cordonel Radio Encryption Key are different - + Elapsed Time [min:s] - + Entire Process - + Operator - + _Options - + _Help - + Change _Password - + Single Process - + Success: PcbId of Requirements from database and Cordonel successfully validated - + Success: Order based requirements successfully validated - + Success: PcbId of calibration results from database and Cordonel successfully validated - + Success: Calibration results from database and Cordonel successfully validated - + Success: Requirement and Cordonel Firmware successfully validated - + Success: Requirement and Cordonel LUT successfully validated - + Success: Requirement for maximum storage time kept - + Success: Cordonel radio signal levels successfully loaded - + Success: Requirement and Cordonel meter size successfully validated - + Success: Requirement production order number successfully validated - + Success: Requirement Region successfully validated - + Success: Standard requirement approved for production - + ATTENTION: Special requirement setup and approved for production - + Success: Minimum battery load is in range - + Success: Database with Cordonel radio encryption key successfully crosschecked - + Drained battery load - + Calculation based on quiescent current and production supplement - + ERROR: Maximum drained battery load overflow - + Absolut restriction - + Maximum allowed - + Estimated remaining lifetime - + ERROR: Minimum required lifetime underflow - + ERROR: Failed to calculate battery load - + Success: Minimum required lifetime is in range - + Minimum required lifetime - + years - + Cordonel - Shipping Preparation - Version - + Cordonel - Picking - Version - + Scan housing - + Scan order - + Date - + Attach return report to Cordonel and wait for clarification by QS! - + Cordonel assembly successfully finished! This report is for informational use. - + Cordonel is ready for shipment! This report is for informational use. - + Optional: Print report for informational use. - + Cordonel needs further investigation! Details can be observed in the info window. - + Cancel process without report! - + Pack Cordonel! - + Cordonel completed! - + Cordonel successfully passed all tests! - + Shipping preparation failed! - + Request passwords - + Generate password file - + Install password file - + Update password to data base - + Cordonel logout - + Cordonel login - + Skipped - + Login - + Password changing - + ERROR: Display volume is not cleared to zero - + ERROR: SIRT telegram is too short - + ERROR: SEMI telegram is too short - + ERROR: Alarm is active - + SEMI telegram decoding - + Back flow detected - + Broken pipe detected - + Leakage detected - + Low batterie detected - + Magnetic tamper failure - + Missing metrology update - + Specific error detected + + Success: Reboot count as required + \ No newline at end of file diff --git a/FM2014TestApp/Fm2014TestApp1.sln.DotSettings b/FM2014TestApp/Fm2014TestApp1.sln.DotSettings new file mode 100644 index 00000000..be6b9825 --- /dev/null +++ b/FM2014TestApp/Fm2014TestApp1.sln.DotSettings @@ -0,0 +1,499 @@ + + True + Inherit + True + Left + True + All + True + True + True + True + SOLUTION + False + DO_NOT_SHOW + DO_NOT_SHOW + DO_NOT_SHOW + ERROR + ERROR + ERROR + ERROR + ERROR + ERROR + ERROR + ERROR + DO_NOT_SHOW + ERROR + WARNING + WARNING + ERROR + ERROR + DO_NOT_SHOW + DO_NOT_SHOW + DO_NOT_SHOW + ERROR + True + True + UseClrName + END_OF_LINE + 130 + False + True + False + True + False + True + False + True + False + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="I" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="T" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="aaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Policy Inspect="True" WarnAboutPrefixesAndSuffixes="False" Prefix="" Suffix="" Style="AaBb" /> + <Configurator><ConnectList /></Configurator> + True + True + True + True + True + FileCrc; + True + ResponseErrorCode; + System.*||Microsoft.*||JetBrains.* + System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute||System.CodeDom.Compiler.GeneratedCodeAttribute||System.Runtime.CompilerServices.CompilerGeneratedAttribute + 1 + 896 + Normal + InterlineHint + True + True + True + True + Disabled + False + OnlyAssemblyExplorer + False + False + 2905 + C:\Users\Thomas\AppData\Local\JetBrains\Transient\ReSharperPlatformVs15\v09_99768eb8\SolutionCaches + SOLUTION_FOLDER + Never + Never + Never + Never + Never + False + Never + False + False + True + True + False + DO_NOTHING + DO_NOTHING + LIVE_MONITOR + DO_NOTHING + DO_NOTHING + DO_NOTHING + DO_NOTHING + DO_NOTHING + DO_NOTHING + + True + + True + AUTO_FIX + AUTO_FIX + AUTO_FIX + AUTO_FIX + AUTO_FIX + + True + AUTO_FIX + + True + + True + + True + + True + True + 12 + 12 + 12 + 12 + 12 + 12 + 9 + 2 + 0 + 12 + 2 + 2 + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + TestRunner + False + TestRunner + IfRequired + + True + + True + + True + + True + + True + + True + + True + TestRunner + False + 01/12/2025 22:06:00 + 11/19/2025 23:32:57 + 02/12/2026 08:32:48 + VS + 0 + ProjectStructure + True + True + Disabled + Enabled + <AssemblyExportHisory> + <ExportElement Assembly="132681313000000000|C:\PROGRAM FILES (X86)\AUTOAID GMBH\AUTOAID INTERNET DIAGNOSE+\DIAGNOSIS.EXE" Project="D:\Projekte\Autoaid\diagnosis\diagnosis.csproj" /> +</AssemblyExportHisory> + 02/12/2026 12:08:58 + True + True + True + True + True + True + True + True + True + True + True + D:\Projekte\Autoaid + True + [170,73](640,480) + True + True + [-33,-115](1356,911) + [0,0](1680,1010) + D:\Projekte\Autoaid\diagnosis + [0,10](300,320) + -99,-217 + False + True + CompletionBehavior + ALWAYS + False + FullLicense + True + False + False + False + False + False + Vertical + 1 + 0.23413793103448269 + 1 + 0.73933649289099523 + 1 + 1.3888725490196077 + 1 + 1.0013812154696133 + True + True + WholeSolution + + 100 + True + True + True + True + True + False + cSSMDuBpe2bxsm98vmL+JA== + 2024.3.8.0 + 2020.3 + 2025.3.0.2 + True + True + 0 + 1 + 0 + /*********************************************************************************************************************/ +/*! @file $CLASS$.cs + * @brief <i></i> + * + * @author Thomas Wiedebusch + * @date $DATE$ + * + * @details <i>.</i> + * + * @copyright © wiedtho 2020. All rights reserved. + *********************************************************************************************************************/ +$HEADER$namespace $NAMESPACE$ +{ + /** @class $CLASS$ + * @brief + */ + public class $CLASS$ {$END$} +} +/*********************************************** END OF FILE *********************************************************/ + True + getCurrentDate("dd-MMM-yyyy") + 3 + /*********************************************************************************************************************/ +/*! @file $CLASS$.cs + * @brief <i></i> + * + * @author Thomas Wiedebusch + * @date $DATE$ + * + * @details <i>.</i> + * + * @copyright © wiedtho 2020. All rights reserved. + *********************************************************************************************************************/ +$HEADER$using NUnit.Framework; +namespace $NAMESPACE$ +{ + [TestFixture] + /** @class $CLASS$ + * @brief + */ + public class $CLASS$ {$END$} +} +/*********************************************** END OF FILE *********************************************************/ + getCurrentDate("dd-MMM-yyyy") + 3 + 1 + 2 + 0 + 1 + 2 + /*********************************************************************************************************************/ +/*! @file $INTERFACE$.cs + * @brief <i></i> + * + * @author Thomas Wiedebusch + * @date $DATE$ + * + * @details <i>.</i> + * + * @copyright © wiedtho 2020. All rights reserved. + *********************************************************************************************************************/ +$HEADER$namespace $NAMESPACE$ +{ + /** @interface $INTERFACE$ + * @brief . + */ + public interface $INTERFACE$ {$END$} +} +/*********************************************** END OF FILE *********************************************************/ + True + getCurrentDate("dd-MMM-yyyy") + 3 + 1 + 0 + 1 + 0 + 1 + 3 + 0 + 2 + /*********************************************************************************************************************/ +/*! @file $ENUM$.cs + * @brief <i></i> + * + * @author Thomas Wiedebusch + * @date $DATE$ + * + * @details <i>.</i> + * + * @copyright © wiedtho 2020. All rights reserved. + *********************************************************************************************************************/ +$HEADER$namespace $NAMESPACE$ +{ + /** @enum $ENUM$ + * @brief + */ + public enum $ENUM$ {$END$} +} +/*********************************************** END OF FILE *********************************************************/ + True + getCurrentDate("dd-MMM-yyyy") + 3 + True + True + The "Main" method declaration + True + psvm + True + public static void Main( string[] args ) +{ + $END$ +} + True + 2.0 + InCSharpTypeMember + 0 + 2 + 1 + /*********************************************************************************************************************/ +/*! @file $STRUCT$.cs + * @brief <i></i> + * + * @author Thomas Wiedebusch + * @date $DATE$ + * + * @details <i>.</i> + * + * @copyright © wiedtho 2020. All rights reserved. + *********************************************************************************************************************/ +$HEADER$namespace $NAMESPACE$ +{ + /** @struct $STRUCT$ + * @brief + */ + public struct $STRUCT$ {$END$} +} +/*********************************************** END OF FILE *********************************************************/ + True + getCurrentDate("dd-MMM-yyyy") + 3 + 1 + 0 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + private method template + priv + /**------------------------------------------------------------------------------------------------------------ + * @brief + * @author Thomas Wiedebusch + * @date $DATE$ + * @param . + * @param . + * @return . + *//*--------------------------------------------------------------------------------------------------------*/ +private $ReturnType$ $Name$($Type1$ x, $Type2$ y ) +{ + $ReturnType$ $returnValue$ = false; + + return $returnValue$; + $END$ +} + True + getCurrentDate("dd-MMM-yyyy") + 0 + True + constant("X") + 1 + True + constant("Boolean") + 2 + True + constant("retVal") + 5 + True + constant("String") + 3 + True + constant("Single") + 4 + True + CSHARP + False + "COM + True + 481 + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + 52,52 \ No newline at end of file diff --git a/LaaProductionWeb/LaaPackages b/LaaProductionWeb/LaaPackages index 653498d4..e7aa3e27 160000 --- a/LaaProductionWeb/LaaPackages +++ b/LaaProductionWeb/LaaPackages @@ -1 +1 @@ -Subproject commit 653498d43dcca1234a8fba95959ca02bb2c3f480 +Subproject commit e7aa3e2723a435f0a714df661dc5d86dfd45a71c