diff --git a/Common/.shared/SharedAssemblyInfo.cs b/Common/.shared/SharedAssemblyInfo.cs index 18e718ad..c2e76700 100644 --- a/Common/.shared/SharedAssemblyInfo.cs +++ b/Common/.shared/SharedAssemblyInfo.cs @@ -14,4 +14,4 @@ using System.Reflection; //[assembly: AssemblyVersion("1.2.*.0")] -[assembly: AssemblyVersion("2.6.17.*")] +[assembly: AssemblyVersion("2.6.18.*")] diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs index d303d837..5e25bb8b 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs @@ -857,11 +857,20 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore /// /// - CancellationToken. /// + /// + /// - Temporary excluded un-comparable registers from write as this make no sense to write them blind being + /// unable to read the correct value back. + /// private StatusReturn WriteRegisterParameterSet(List recoveryRegistersDb, Int32 recRegistersCount, MeterRegisters meterRegisters, CancellationToken cancellationToken) { foreach (var recReg in recoveryRegistersDb) { + //TODO THW Check + // Temporary excluded un-comparable registers from write as this make no sense to write them blind being + // unable to read the correct value back. + if (_excludedFromCompareParameters.Any( regName => recReg.RegisterIdent.Equals(regName))) + continue; _actualRegisterCtr++; var overallProcessCtrPercent = 100.0 * _actualRegisterCtr / recRegistersCount; diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json b/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json index ccc7ea73..40b4a983 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/configuration.json @@ -1,17 +1,17 @@ { // "SUMMARY": { // "schema": "1", -// "version": "348", +// "version": "350", // "description": "...", // "build": { -// "emea": "R1415 2025-02-08", +// "emea": "R1416 2025-04-09", // "na": "B2011 2024-10-10" // }, // "CordonelRegisterResponsibilities.xlsx": { // "version": "66.0", // "timestamp": "2025-02-18 13:16" // }, -// "date_modified": "2025-02-21 10:21" +// "date_modified": "2025-04-09 09:43" // }, "CONFIGEXCHANGE": { "id": 4, @@ -1061,7 +1061,7 @@ "responsible": [ "J.S." ], - "remarks": "Bitmask�of the alarms that we are interested in. I can imagine some customers may have different requirements to others. The radio does change this.", + "remarks": "Bitmask of the alarms that we are interested in. I can imagine some customers may have different requirements to others. The radio does change this.", "region": { "emea": { "values": { @@ -1098,7 +1098,7 @@ "minimum": 2, "maximum": 654915 }, - "statictype": "static", + "statictype": "infrequentlyupdated", "production": { "required": true, "kitron": false, @@ -1109,7 +1109,7 @@ "responsible": [ "J.S." ], - "remarks": "Bitmask�of the alarms that we are interested in. I can imagine some customers may have different requirements to others. The radio does change this.", + "remarks": "Bitmask of the alarms that we are interested in. I can imagine some customers may have different requirements to others. The radio does change this.", "region": { "emea": { "values": { @@ -1186,7 +1186,7 @@ "responsible": [ "J.S." ], - "remarks": "This updates the same value as�AlarmEnableMask, best to avoid changing it.", + "remarks": "This updates the same value as AlarmEnableMask, best to avoid changing it.", "region": { "emea": { "values": { @@ -1300,7 +1300,7 @@ "minimum": 16382, "maximum": 16382 }, - "statictype": "static", + "statictype": "infrequentlyupdated", "production": { "required": false, "kitron": false, @@ -2172,7 +2172,7 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "High temperature alarm threshold in 0.1�C", + "description": "High temperature alarm threshold in 0.1°C", "version": { "first": 88, "last": 100 @@ -2196,7 +2196,7 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "High temperature alarm threshold in 0.1�C", + "description": "High temperature alarm threshold in 0.1°C", "version": { "first": 101, "last": 110 @@ -2220,14 +2220,14 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "High temperature alarm threshold in 0.1�C", + "description": "High temperature alarm threshold in 0.1°C", "version": { "first": 111, "last": 163 }, "si_transform": { "remarks": "Degrees Celsius: temperature in 0.1 degrees C ...", - "units": "�C", + "units": "°C", "scale_float_mult": 1.0, "scale_power_2": 0, "scale_power_10": -1, @@ -2368,7 +2368,7 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "Low temperature alarm threshold in 0.1�C", + "description": "Low temperature alarm threshold in 0.1°C", "version": { "first": 88, "last": 100 @@ -2392,7 +2392,7 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "Low temperature alarm threshold in 0.1�C", + "description": "Low temperature alarm threshold in 0.1°C", "version": { "first": 101, "last": 110 @@ -2416,7 +2416,7 @@ "lvl7": "RW", "lvl8": "RW" }, - "description": "Low temperature alarm threshold in 0.1�C", + "description": "Low temperature alarm threshold in 0.1°C", "version": { "first": 111, "last": 163 @@ -5559,7 +5559,7 @@ "J.S.", "R.D." ], - "remarks": "(<=125 = 3n ) 150=> 2n in m� -> what about other Units. See Display Unit Customer Specification.", + "remarks": "(<=125 = 3n ) 150=> 2n in m³ -> what about other Units. See Display Unit Customer Specification.", "region": { "emea": null, "na": null @@ -12770,7 +12770,7 @@ "operation_calibration": false, "runtime_ignore": false, "responsible": [], - "remarks": "This controls the temperature, pressure, flow rate readings on the smaller second row of digits. Previous code would display 012.3 C whereas with DisplayLeadingZeros set to 0 you�ll get _12.3 C (where the _ is actually just an empty space).", + "remarks": "This controls the temperature, pressure, flow rate readings on the smaller second row of digits. Previous code would display 012.3 C whereas with DisplayLeadingZeros set to 0 you’ll get _12.3 C (where the _ is actually just an empty space).", "region": { "emea": { "values": { @@ -14904,7 +14904,7 @@ "responsible": [ "J.S." ], - "remarks": "G02 Pulse type (Netted Imp./Tamp. (-), �). Customer specific.", + "remarks": "G02 Pulse type (Netted Imp./Tamp. (-), …). Customer specific.", "region": { "emea": null, "na": null @@ -14997,7 +14997,7 @@ "responsible": [ "J.S." ], - "remarks": "G03 Pulse length (500ms, �). Customer specific.", + "remarks": "G03 Pulse length (500ms, …). Customer specific.", "region": { "emea": null, "na": null @@ -15066,7 +15066,7 @@ "responsible": [ "J.S." ], - "remarks": "C05 unit (m�, kl, US-Gall./Imp.-Gall, Barrel, ...)", + "remarks": "C05 unit (m³, kl, US-Gall./Imp.-Gall, Barrel, ...)", "region": { "emea": null, "na": null @@ -15261,7 +15261,7 @@ "responsible": [ "J.S." ], - "remarks": "�C - EMEA/China / �F - USA.", + "remarks": "°C - EMEA/China / °F - USA.", "region": { "emea": { "values": { @@ -17799,7 +17799,7 @@ "id": 16, "version": { "first": 100, - "last": 545 + "last": 546 }, "registers": { "TxInterval": { @@ -17820,7 +17820,7 @@ "description": "The SensusRF transmission interval in seconds for the BUPs", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 15, @@ -17868,7 +17868,7 @@ "description": "The Open Metering transmission interval in seconds", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 3600, @@ -17916,7 +17916,7 @@ "description": "The Listen After Talk interval as number 'n'. After every 'n' BUPs follows a BUP-LAT", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 3, @@ -17964,7 +17964,7 @@ "description": "The Wake Up interval in seconds 's'. Every 's' seconds will the meter sniff for a WakeUp tone. 's' == 0 means active sending and no sniffing", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 3, @@ -18012,7 +18012,7 @@ "description": "The internal MBus state (Open Metering). A bit oriented value. Do not write if you do not know details", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 7, @@ -18060,7 +18060,7 @@ "description": "A number that shows the radio frequency used. Normally 433 or 868", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 433, @@ -18104,7 +18104,7 @@ "description": "A radio frequency calibration parameter", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18148,7 +18148,7 @@ "description": "A parameter for controling the radio power", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18231,7 +18231,7 @@ "description": "The internal System State of the Radio", "version": { "first": 545, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -18275,7 +18275,7 @@ "description": "The radio address used by the meter", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18319,7 +18319,7 @@ "description": "The offset the between meter time and UTC for time correction", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18363,7 +18363,7 @@ "description": "The number of bytes sent during meter lifetime", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18407,7 +18407,7 @@ "description": "The number of bytes received during meter lifetime", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18451,7 +18451,7 @@ "description": "The number of resets the application SensusRfRadio has performed over lifetime", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18495,7 +18495,7 @@ "description": "An internal temporary state (enum) regarding the firmwware update", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18539,7 +18539,7 @@ "description": "The flow value of the leakage (low flow) detection", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 25, @@ -18583,7 +18583,7 @@ "description": "The time in minutes of the leakage (low flow) detection threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 360, @@ -18627,7 +18627,7 @@ "description": "The flow value of the broken pipe (high flow) detection", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 2500, @@ -18671,7 +18671,7 @@ "description": "The time in Minutes of the broken pipe (high flow) detection threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 180, @@ -18715,7 +18715,7 @@ "description": "The pressure value of the maximum (high) pressure alarm", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 160, @@ -18759,7 +18759,7 @@ "description": "The pressure value of the minimum (low) pressure alarm", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 3, @@ -18803,7 +18803,7 @@ "description": "The time in seconds of the maximum (high) pressure alarm threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 600, @@ -18847,7 +18847,7 @@ "description": "The time in seconds of the minimum (low) pressure alarm threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 600, @@ -18891,7 +18891,7 @@ "description": "The period in seconds with which the pressure is measured (fix 60 sec)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 60, @@ -18935,7 +18935,7 @@ "description": "An enum respresenting the unit of pressure (0= no pressure sensor, 1= MPas, 2= PSI, 3= Bar)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -18979,7 +18979,7 @@ "description": "The gauge offset of the pressure sensor value in mBar", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -19023,7 +19023,7 @@ "description": "The temperature value of the maximum (high) temperature alarm", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 50, @@ -19067,7 +19067,7 @@ "description": "The temperature value of the minimum (low) temperature alarm", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 2, @@ -19111,7 +19111,7 @@ "description": "The time in Minutes of the maximum (high) temperature alarm threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 600, @@ -19155,7 +19155,7 @@ "description": "The time in Minutes of the minimum (low) temperature alarm threshold", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 600, @@ -19199,7 +19199,7 @@ "description": "The period in seconds with which the temperature is measured (only 60 is valid)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 60, @@ -19243,7 +19243,7 @@ "description": "An enum respresenting the unit of temperature (1= Celsius, 2= Fahrenheit)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -19287,7 +19287,7 @@ "description": "An enumerator defining the currently active PulseWidth (0 ... 8 for non testmode values and 9 ... 15 for testmode)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 4, @@ -19331,7 +19331,7 @@ "description": "A number representing the pulse weight multiplicator 1, 10, 100 or 1000", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -19375,7 +19375,7 @@ "description": "An enum (0 to 3) representing the pulse output mode (0= deactivated, ...)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -19419,7 +19419,7 @@ "description": "A parameter regarding the non existing current loop output", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "infrequentlyupdated", "production": { @@ -19458,7 +19458,7 @@ "description": "A parameter regarding the non existing current loop output", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "infrequentlyupdated", "production": { @@ -19536,7 +19536,7 @@ "description": "A byte value representing a mask of currently active (1) main alarms. These are the flow and genreral alarms", "version": { "first": 545, - "last": 545 + "last": 546 }, "values": { "default": 207, @@ -19580,7 +19580,7 @@ "description": "A byte value representing a mask of currently active (1) extended alarms. These are the temperature and pressure related alarms", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 60, @@ -19624,7 +19624,7 @@ "description": "A number of days (0 = off) after which alarms are cleared from the alarm byte values when they are no longer active", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 29, @@ -19672,7 +19672,7 @@ "description": "A value in minutes that defines the time the meter will stay in testmode after that mode was started", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -19716,7 +19716,7 @@ "description": "The SensusRF encryption key (16 bytes) of the meter", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "static", "production": { @@ -19729,7 +19729,7 @@ "responsible": [ "J.L." ], - "remarks": "D05 radio key (Sensus (standard), �)", + "remarks": "D05 radio key (Sensus (standard), …)", "region": { "emea": null } @@ -19755,7 +19755,7 @@ "description": "The SensusRF Authentification PINs (3 PINs of 4 byte each) of the meter", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "static", "production": { @@ -19794,7 +19794,7 @@ "description": "The version of the complete Meter firmware package as represented by application FlexNetVersion", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -19838,7 +19838,7 @@ "description": "An array of 9 bytes of freely programmable SensusRF customer Text", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "infrequentlyupdated", "production": { @@ -19877,7 +19877,7 @@ "description": "An uint32_t value representing the meter's system DateTime when the radio had last time sent a telegram", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -19921,7 +19921,7 @@ "description": "An uint32_t value representing the meter's system DateTime when the radio had detected first the low-battery status", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -19965,7 +19965,7 @@ "description": "A copy of the LowBatDateTime time stamp", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20009,7 +20009,7 @@ "description": "A byte value representing the currently active volume unit used by radio", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 19, @@ -20053,7 +20053,7 @@ "description": "A byte value representing additional information regarding the unit derived from the volume unit when used for flow or alternate volume, 0x1x= liter per sec, 0xx1= kiloLiter", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20097,7 +20097,7 @@ "description": "A byte value normaly never changed regarding general behavior of the firmware related to Over The Air updates", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -20145,7 +20145,7 @@ "description": "A complex structure of 84 bytes related to the Tfx mode of the meter respectively the volume channel", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "dynamic", "production": { @@ -20184,7 +20184,7 @@ "description": "A structure of 4 uint16_t values used for the customer DEWA", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "dynamic", "production": { @@ -20223,7 +20223,7 @@ "description": "A 4 byte bit mask representing whether the individual data items are logged in the periodic logging (1) or not (0)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 201335811, @@ -20267,7 +20267,7 @@ "description": "A number in seconds representing the time period for storing data records into the periodic logging file (memory)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 60, @@ -20311,7 +20311,7 @@ "description": "A number derived automatically from the DataLogPeriod that determines averaging periods in mimutes for min and max calculations", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 5, @@ -20355,7 +20355,7 @@ "description": "A 4 byte bit mask representing whether the individual data items are logged in the fixed date logging (1) or not (0)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 201335811, @@ -20399,7 +20399,7 @@ "description": "The day of the month (0 = every day) on which at 00:00 the fixed date logging takes place", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 1, @@ -20443,7 +20443,7 @@ "description": "An uint32_t counter used originally for debugging during development. Meanwhile out of use", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20491,7 +20491,7 @@ "description": "An uint8_t value related to the power level used by the radio when an Irda module is present", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20535,7 +20535,7 @@ "description": "An uint16_t value used for adjusting the antenna impedance", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 4, @@ -20579,7 +20579,7 @@ "description": "An uint16_t value used for adjusting the antenna impedance if an Irda module is present", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 4, @@ -20623,7 +20623,7 @@ "description": "A parameter of type bool that signals the presence of an Irda module. The value is controlled by the meter", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20667,7 +20667,7 @@ "description": "Write 1 to store configuration values to non-volatile storage. Read back for status", "version": { "first": 100, - "last": 545 + "last": 546 }, "statictype": "dynamic", "production": { @@ -20706,7 +20706,7 @@ "description": "The number of seconds since the radio left the production (Set to 0 at the end of the production proccess)", "version": { "first": 100, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -20750,7 +20750,7 @@ "description": "A value (counter) used only during development for release testing", "version": { "first": 412, - "last": 545 + "last": 546 }, "values": { "default": 4320000, @@ -20794,7 +20794,7 @@ "description": "A counter used to control the radio activity which must not exceed certain regulatory limits", "version": { "first": 412, - "last": 545 + "last": 546 }, "values": { "default": 1000, @@ -20838,7 +20838,7 @@ "description": "Storage item for HistoricalErrorLimitCounters Reverse(1, hi) and Leak(0, lo)", "version": { "first": 437, - "last": 545 + "last": 546 }, "values": { "default": 16711935, @@ -20882,7 +20882,7 @@ "description": "Storage item for HistoricalErrorLimitCounters Magnet(3, hi) and Air(2, lo)", "version": { "first": 437, - "last": 545 + "last": 546 }, "values": { "default": 16711935, @@ -20926,7 +20926,7 @@ "description": "Storage item for HistoricalErrorLimitCounters PressureMin(5, hi) and PressureMax(4, lo)", "version": { "first": 437, - "last": 545 + "last": 546 }, "values": { "default": 16711935, @@ -20970,7 +20970,7 @@ "description": "Storage item for HistoricalErrorLimitCounters TempMin(7, hi) and TempMax(6, lo)", "version": { "first": 437, - "last": 545 + "last": 546 }, "values": { "default": 16711935, @@ -21014,7 +21014,7 @@ "description": "int8_t value to add an offset to the measured pressure in 10mBar resolution (for value from -1270 to +1270 mBar for field calibration purposes). -128 is an invalid value", "version": { "first": 483, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -21058,7 +21058,7 @@ "description": "a 6 bytes big complex structure for the Tfx settings of the secondary channel 1 (temperature)", "version": { "first": 494, - "last": 545 + "last": 546 }, "statictype": "infrequentlyupdated", "production": { @@ -21097,7 +21097,7 @@ "description": "a 6 bytes big complex structure for the Tfx settings of the secondary channel 2 (pressure)", "version": { "first": 494, - "last": 545 + "last": 546 }, "statictype": "infrequentlyupdated", "production": { @@ -21136,7 +21136,7 @@ "description": "An unit32_t value used to support/control the MB_MODE3_OMSv4B transmission uinque MCR", "version": { "first": 499, - "last": 545 + "last": 546 }, "values": { "default": 0, @@ -21180,7 +21180,7 @@ "description": "Storage item for HistoricalErrorLimitCounters NoFlowAlarm(7, hi) and Metrology Failure(6, lo)", "version": { "first": 536, - "last": 545 + "last": 546 }, "values": { "default": 16711935, @@ -21224,7 +21224,7 @@ "description": "Storage item for HistoricalErrorLimitCounters Reboot Alarm(7, hi) and reserved(6, lo)", "version": { "first": 536, - "last": 545 + "last": 546 }, "values": { "default": 16711680, diff --git a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache index 8865d283..4163759b 100644 --- a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache +++ b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -89102b0142e574de38a9f47d370f3334e5e6c268 +8cb55c312de586b683d72cf58c13e2801d10e14b767777d98338d3e1473a1213 diff --git a/Common/Production/ProductionUiCordonel/Docu/TBF_COM_EOL_SRSe.docx b/Common/Production/ProductionUiCordonel/Docu/TBF_COM_EOL_SRSe.docx index 96e18321..68e79a87 100644 Binary files a/Common/Production/ProductionUiCordonel/Docu/TBF_COM_EOL_SRSe.docx and b/Common/Production/ProductionUiCordonel/Docu/TBF_COM_EOL_SRSe.docx differ diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckRadio.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckRadio.cs index 09ebe34b..285c92b2 100644 --- a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckRadio.cs +++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/CheckRadio.cs @@ -176,6 +176,9 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr /// /// - CancellationToken. /// + /// + /// - Removed change and read back of MainAlarmMask and ExtendedAlarmMask. + /// public override StatusReturn ExecuteProcess() { // This will force to reset all values, Sentinel and Prepare shipping will fail based on EOL Progress @@ -304,27 +307,16 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr DisableAllButtons(); }// !skipRadioCheck - // reset all radio alarms - WriteRegisterLogAndProcessCtr(new ProgrammingParameters("SENSUSRADIO_MainAlarmMask", - new Byte[] { 0 }, ProgrammingSource.ProgramInternal)); - WriteRegisterLogAndProcessCtr(new ProgrammingParameters("SENSUSRADIO_ExtendedAlarmMask", - new Byte[] { 0 }, ProgrammingSource.ProgramInternal)); // set system state back to shipping mode WriteRegisterLogAndProcessCtr(new ProgrammingParameters("SENSUSRADIO_SystemState", new Byte[] { 0xFF }, ProgrammingSource.ProgramInternal)); ActualProcessProgress++; - // check radio is in customer mode 0x02 and alarm masks are 0 - var mainAlarmMask = - RegisterConverter.ByteArrayToValue(Meter.ReadRegister("SENSUSRADIO_MainAlarmMask")); - var extendedAlarmMask = - RegisterConverter.ByteArrayToValue(Meter.ReadRegister("SENSUSRADIO_ExtendedAlarmMask")); _finalRadioSystemState = RegisterConverter.ByteArrayToValue(Meter.ReadRegister("SENSUSRADIO_SystemState")); ActualProcessProgress++; - if (// Radio mode and alarm masks NOT okay forces always an error - // radio system state 0x02 shipping mode, 0x01 production mode, 0x0C transmission and data logger active - _finalRadioSystemState != 0x02 || mainAlarmMask != 0 || extendedAlarmMask != 0 + if (// radio system state 0x02 shipping mode, 0x01 production mode, 0x0C transmission and data logger active + _finalRadioSystemState != 0x02 // If radio check is enabled the signal level has to be in range and the test has to be finished || (!skipRadioCheck && (!_successSignalLevel || !_sirtComOkay || !_testFinished))) {