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)))
{