diff --git a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs
index 0021f414..9fead8d5 100644
--- a/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs
+++ b/Common/Hardware/WaterMeter/MechanicalMeter/FM2014/FM2014Core/FM2014.cs
@@ -77,7 +77,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// The mantissa for the scale value has to be in the range from 1000 to 9999.
///
- private const UInt16 MANTISSA_SCALE_MIN = 1000;
+ private const UInt16 REF_TO_DUT_SCALE_MANTISSA_MIN = 1000;
///
/// REF to DUT scale conversion factor to meaningful human interpretable value
@@ -87,29 +87,29 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// Default tolerance if not properly setup.
///
- public const Int32 STANDARD_NOMINAL_TOLERANCE_INPUT_percent = 3;
+ public const Int32 CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent = 3;
///
/// Default tolerance if not properly setup.
///
- public const Int32 EXTENDED_NOMINAL_TOLERANCE_INPUT_percent = 5;
+ public const Int32 CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_INT_percent = 5;
///
/// Standard tolerance (nominal 3 %) multiplicator for calculation of value based on feedback from FM2014
/// (+/- 255 digits).
///
- private const Double STANDARD_TOLERANCE_VALUE_percent = 3.3;
+ private const Double CURRENT_OUTPUT_TOLERANCE_STANDARD_VALUE_DOUBLE_percent = 3.3;
///
/// Extended tolerance (nominal 5 %) multiplicator for calculation of value based on feedback from FM2014
/// (+/- 255 digits).
///
- private const Double EXTENDED_TOLERANCE_VALUE_percent = 5.5;
+ private const Double CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_DOUBLE_percent = 5.5;
///
/// Resolution of tolerance raw value feedback from FM2014 (+/- 255 digits).
///
- private const Double RESOLUTION_TOLERANCE_RAW_VALUE = 255;
+ private const Double CURRENT_OUTPUT_TOLERANCE_RESOLUTION_PLUS_MINUS_BYTE = 255;
///
/// Minimal value for attenuation.
@@ -159,12 +159,12 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// FM2014 minimal pulses for REF and DUT time measurement.
///
- public const UInt16 TIME_MEASUREMENT_INPUT_MIN_pulses = 1;
+ public const UInt16 PULSES_TIME_MEASUREMENT_INPUT_MIN = 1;
///
/// FM2014 maximal pulses for REF and DUT time measurement.
///
- public const UInt16 TIME_MEASUREMENT_INPUT_MAX_pulses = 0xFFFF;
+ public const UInt16 PULSES_TIME_MEASUREMENT_INPUT_MAX = 0xFFFF;
///
/// Minimal baudrate for serial communication.
@@ -247,7 +247,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// Progress of actual process converted to percent
///
- private static Double ActualProcessProgress_percent { get; set; }
+ private static Double? ActualProcessProgress_percent { get; set; }
private static Int32 _actualProcessProgress;
///
@@ -343,35 +343,35 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// Private tolerance percentage
///
- private Int32 _tolerance_percent = STANDARD_NOMINAL_TOLERANCE_INPUT_percent;
+ private Int32 _currentOutputToleranceNominalInt_percent = CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent;
///
/// Actual tolerance scale to convert raw value from FM2014 to percent
///
- private Double ToleranceRawToPercentScale { set; get; } =
- STANDARD_TOLERANCE_VALUE_percent / RESOLUTION_TOLERANCE_RAW_VALUE;
+ private Double CurrentOutputToleranceNominalToRealScale { set; get; } =
+ CURRENT_OUTPUT_TOLERANCE_STANDARD_VALUE_DOUBLE_percent / CURRENT_OUTPUT_TOLERANCE_RESOLUTION_PLUS_MINUS_BYTE;
///
- /// Tolerance output of current loop in percent:
+ /// Nominal tolerance output of current loop in percent:
/// - hardware dependent 3% or 5%
///
- public Int32 Tolerance_percent
+ public Int32 CurrentOutputToleranceNominalInt_percent
{
- get => _tolerance_percent;
+ get => _currentOutputToleranceNominalInt_percent;
set
{
// Limit input to discrete nominal setting of 3 or 5 %,
// Internally those values are going to be scaled for higher resolution to 3.3 or 5.5
Double percentage;
- if (value == STANDARD_NOMINAL_TOLERANCE_INPUT_percent)
- percentage = STANDARD_TOLERANCE_VALUE_percent;
- else if (value == EXTENDED_NOMINAL_TOLERANCE_INPUT_percent)
- percentage = EXTENDED_TOLERANCE_VALUE_percent;
+ if (value == CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent)
+ percentage = CURRENT_OUTPUT_TOLERANCE_STANDARD_VALUE_DOUBLE_percent;
+ else if (value == CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_INT_percent)
+ percentage = CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_DOUBLE_percent;
else
- percentage = STANDARD_TOLERANCE_VALUE_percent;
+ percentage = CURRENT_OUTPUT_TOLERANCE_STANDARD_VALUE_DOUBLE_percent;
- _tolerance_percent = value;
- ToleranceRawToPercentScale = percentage / RESOLUTION_TOLERANCE_RAW_VALUE;
+ _currentOutputToleranceNominalInt_percent = value;
+ CurrentOutputToleranceNominalToRealScale = percentage / CURRENT_OUTPUT_TOLERANCE_RESOLUTION_PLUS_MINUS_BYTE;
}
}
@@ -390,7 +390,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
private set
{
// Check limits and equality
- if (value < TIME_MEASUREMENT_INPUT_MIN_pulses ||
+ if (value < PULSES_TIME_MEASUREMENT_INPUT_MIN ||
value == _refPulsesRequired)
return;
@@ -408,7 +408,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
private set
{
// Check limits and equality
- if (value < TIME_MEASUREMENT_INPUT_MIN_pulses ||
+ if (value < PULSES_TIME_MEASUREMENT_INPUT_MIN ||
value == _dutPulsesRequired)
return;
@@ -563,7 +563,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
number *= REF_TO_DUT_SCALE_CONVERSION;
mantissa = (UInt16)(number + 0.5);
exponent--;
- } while (mantissa < MANTISSA_SCALE_MIN);
+ } while (mantissa < REF_TO_DUT_SCALE_MANTISSA_MIN);
// The pre-generated string will be used to send it to the FM2014 directly
RefToDutScaleStr = $"{mantissa}{GetCmdStr(CmdName.CMD_REF_SET_SCALE)}{exponent}";
@@ -688,7 +688,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
/// Measured tolerance during calibration
///
- public Double DutToRefToleranceMeasured_percent { get; private set; }
+ public Double? DutToRefToleranceMeasured_percent { get; private set; }
#endregion ---------------------------------------- object properties -----------------------------------------
@@ -777,7 +777,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
/// Get the first FM2014 which is connected and logged in for common service routines
/// using a broadcast command
///
- ///
+ /// null if no device is connected and logged in
///
/// - Initial.
///
@@ -1150,17 +1150,18 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
// The response contains a sign!
var signMultiplier = responseStr.Contains("+") ? 1.0f : -1.0f;
var cleanedStr = responseStr.Replace("+", "").Replace("-", "");
- if (int.TryParse(cleanedStr, NumberStyles.HexNumber, new CultureInfo("en"),
- out var measTolerance))
+ if (int.TryParse(cleanedStr, NumberStyles.HexNumber,
+ new CultureInfo("en"), out var measTolerance))
{
fm2014.DutToRefToleranceMeasured_percent =
- measTolerance * fm2014.ToleranceRawToPercentScale * signMultiplier;
+ measTolerance * fm2014.CurrentOutputToleranceNominalToRealScale * signMultiplier;
var response = new CmdResponse(cmdName, info,
doubleValue: fm2014.DutToRefToleranceMeasured_percent,
unit: Units.GetInfo(Units.Name.PERCENT));
// Check the threshold for OOR
- if (Math.Abs(fm2014.DutToRefToleranceMeasured_percent) > fm2014.Tolerance_percent)
+ if (Math.Abs((Double)fm2014.DutToRefToleranceMeasured_percent) >
+ fm2014.CurrentOutputToleranceNominalInt_percent)
statusReturn = StatusReturn.MeasurementOutOfRange;
else statusReturn = StatusReturn.Okay;
@@ -1338,7 +1339,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
/// 0 if double impulse deadtime detection is off
///
///
- ///
+ ///
/// - Initial.
///
public static Boolean PulseTimeMeasurement(UInt16? refPulsesRequired = null, UInt16? dutPulsesRequired = null,
@@ -1359,8 +1360,8 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
// Check if regulation can be done
if ((refPulsesRequired == null && dutPulsesRequired == null) ||
- refPulsesRequired < TIME_MEASUREMENT_INPUT_MIN_pulses ||
- dutPulsesRequired < TIME_MEASUREMENT_INPUT_MIN_pulses ||
+ refPulsesRequired < PULSES_TIME_MEASUREMENT_INPUT_MIN ||
+ dutPulsesRequired < PULSES_TIME_MEASUREMENT_INPUT_MIN ||
doublePulseDeadtime_ms > DOUBLE_PULSE_DEADTIME_MAX_ms)
{
return false;
@@ -1458,8 +1459,26 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
String info;
String responseStr;
StatusReturn statusReturn;
+
+ // Read the device status to check for timeout between pulses
+ cmdName = CmdName.CMD_GET_STATUS;
+ info = GetCmdInfo(cmdName);
+ if (SharedCyclicMeasSequ != CyclicMeasSequ.IDLE && Write(cmdName, fm2014))
+ {
+ if (Read(cmdName, fm2014, out responseStr) &&
+ int.TryParse(responseStr, NumberStyles.HexNumber, new CultureInfo("en"),
+ out var status))
+ {
+ info += $": {responseStr}";
+ var response = new CmdResponse(cmdName, info);
+ PublishResponse(fm2014, new ProcessExecEventArgs("",
+ actualProcessPercent: ActualProcessProgress_percent,
+ actualProcessMessage: measurementInfo, specificInfoObj: response));
+ }
+ }
+
// Read the remaining REF pulses if required
- if (firstActiveFm2014.RefPulsesRequired != 0)
+ if (fm2014.RefPulsesRequired != 0)
{
// Feed the progress counter
ActualProcessProgress = firstActiveFm2014.RefPulsesRequired -
@@ -1473,16 +1492,30 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
out var pulses))
{
fm2014.RefPulsesRemaining = pulses;
+
+ // Check if remaining pulses are going to count down based on required pulses
+ if (RegisteredFm2014s.Any(fm => fm.RefPulsesRemaining * 1.1 < fm.RefPulsesRequired) &&
+ fm2014.RefPulsesRemaining == fm2014.RefPulsesRequired)
+ {
+ statusReturn = StatusReturn.MeasurementOutOfRange;
+ fm2014.ErrorIsDetected = true;
+ }
+ else
+ {
+ statusReturn = StatusReturn.Okay;
+ }
+
var response = new CmdResponse(cmdName, info, pulses);
PublishResponse(fm2014, new ProcessExecEventArgs("",
actualProcessPercent: ActualProcessProgress_percent,
+ statusReturn: statusReturn,
actualProcessMessage: measurementInfo, specificInfoObj: response));
}
}
}
// Read the remaining DUT pulses if required
- if (firstActiveFm2014.DutPulsesRequired != 0)
+ if (fm2014.DutPulsesRequired != 0)
{
// Feed the progress counter but only if not done for REF pulses
if (firstActiveFm2014.RefPulsesRequired == 0)
@@ -1497,9 +1530,23 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
out var pulses))
{
fm2014.DutPulsesRemaining = pulses;
+
+ // Check if remaining pulses are going to count down based on required pulses
+ if (RegisteredFm2014s.Any(fm => fm.DutPulsesRemaining * 1.1 < fm.DutPulsesRequired) &&
+ fm2014.DutPulsesRemaining == fm2014.DutPulsesRequired)
+ {
+ statusReturn = StatusReturn.MeasurementOutOfRange;
+ fm2014.ErrorIsDetected = true;
+ }
+ else
+ {
+ statusReturn = StatusReturn.Okay;
+ }
+
var response = new CmdResponse(cmdName, info, pulses);
PublishResponse(fm2014, new ProcessExecEventArgs("",
actualProcessMessage: measurementInfo,
+ statusReturn: statusReturn,
specificInfoObj: response));
}
}
@@ -1512,7 +1559,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
var retVal = true;
// Read the REF timer ticks for the counted pulses
- if (firstActiveFm2014.RefPulsesRequired != 0)
+ if (fm2014.RefPulsesRequired != 0)
{
cmdName = CmdName.CMD_REF_GET_TMR;
info = GetCmdInfo(cmdName);
@@ -1542,7 +1589,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
}
// Read the DUT timer ticks for the counted pulses
- if (firstActiveFm2014.DutPulsesRequired != 0)
+ if (fm2014.DutPulsesRequired != 0)
{
cmdName = CmdName.CMD_DUT_GET_TMR;
info = GetCmdInfo(cmdName);
@@ -1572,7 +1619,7 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
}
// Calculate the DUT to REF tolerance if both timer had been active
- if (firstActiveFm2014.RefPulsesRequired != 0 && firstActiveFm2014.DutPulsesRequired != 0)
+ if (fm2014.RefPulsesRequired != 0 && fm2014.DutPulsesRequired != 0)
{
cmdName = CmdName.CMD_CAL_DUT_TO_REF_TOL;
info = GetCmdInfo(cmdName);
@@ -1614,9 +1661,8 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
// Check all remaining DUT and REF pulses are counted on all connected devices and finalize process by
// reading out all results
- //TODO THW take timeout for unresponsive device into account and if REF and/or DUT
- if (RegisteredFm2014s.All(fm2014 => fm2014.RefPulsesRemaining == 0 &&
- fm2014.DutPulsesRemaining == 0))
+ if (RegisteredFm2014s.All(fm2014 => fm2014.MeasurementIsReady || fm2014.ErrorIsDetected ||
+ !fm2014.IsLoggedOn))
{
ResetHardwareAllDevices();
// Exit this task
@@ -1696,12 +1742,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
///
///
- ///
+ ///
/// - Initial.
///
- ///
- /// - Support for multiple FM2014s.
- ///
private static Boolean Write(CmdName cmdName, FM2014 fm2014, Object dataObj = null, Boolean isHexFormat = false)
{
if (fm2014 == null)
@@ -1795,12 +1838,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
///
///
- ///
+ ///
/// - Initial.
///
- ///
- /// - Support for multiple FM2014s.
- ///
private static Boolean InitiateBroadcastComm(FM2014 fm2014)
{
if (fm2014 == null)
@@ -1858,12 +1898,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
///
///
///
- ///
+ ///
/// - Initial.
///
- ///
- /// - Support for multiple FM2014s.
- ///
private static Boolean InitiateIndividualComm(FM2014 fm2014)
{
if (fm2014 == null)
@@ -1951,15 +1988,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
/// Transfer all standalone settings to FM2014 RAM and safe those to nonvolatile EEPROM
///
///
- ///
+ ///
/// - Initial.
///
- ///
- /// - REF pulse rate can be 0 as 'invalid marker'.
- ///
- ///
- /// - Support for multiple FM2014s.
- ///
private Boolean SaveStandAloneMeasurement()
{
// If the cyclic task has already been started everything is fine
@@ -2014,19 +2045,14 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
/// Handle the standalone measurement which will be executed after BOOT of the FM2014:
/// - Read the setup stored to nonvolatile memory (EEPROM),
/// - Read the actual setup kept in RAM.
- ///
- ///
- ///
- ///
- /// - Initial.
- ///
- ///
/// - 'Ref_pulse_per_cm' will be calculated by 'Ref_pulses_per_cm = Dut_pulses_per_cm * RefToDutScale_norm'
/// to avoid an overflow as the REF pulses per volume can store max 9999 pulses. As the Dut_pulse_per_cm
/// is for the smallest meter 1000 Impulses/m³
- ///
- ///
- /// - Support for multiple FM2014s.
+ ///
+ ///
+ ///
+ ///
+ /// - Initial.
///
private Boolean ReadStandAloneMeasurement(CmdName cmdName)
{
@@ -2140,16 +2166,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
/// Login to individual address.
///
///
- ///
+ ///
/// - Initial.
///
- ///
- /// - Support for multiple FM2014s.
- ///
- ///
- /// - Login with ,
- /// - Other communications moved to
- ///
public Boolean Login()
{
// If the cyclic task has already been started the login isn't allowed anymore
@@ -2186,8 +2205,9 @@ namespace Sensus.Common.Hardware.WaterMeter.MechanicalMeter.FM2014.FM2014Core
{
foreach (var fm2014 in RegisteredFm2014s.Where(fm2014 => fm2014.IsLoggedOn))
{
- fm2014.RefTimerTicksMeasured = 0;
- fm2014.DutTimerTicksMeasured = 0;
+ fm2014.RefTimeMeasured_s = 0;
+ fm2014.DutTimeMeasured_s = 0;
+ fm2014.DutToRefToleranceMeasured_percent = null;
fm2014.RefFlowRate_cm_per_h = 0;
fm2014.DutFlowRate_cm_per_h = 0;
}
diff --git a/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml.cs b/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml.cs
index 94b7c718..6caa69d8 100644
--- a/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml.cs
+++ b/FM2014TestApp/Ui/Fm2014sTest/FM2014TestBenchWindow.xaml.cs
@@ -503,8 +503,8 @@ namespace Sensus.Ui.FM2014TestBench
if (_fm2014Config?.IndividualTolerancePercent?[ctr] != null &&
_fm2014Config.IndividualTolerancePercent.Count == MaxFm2014s)
{
- fm2014.Tolerance_percent = _fm2014Config?.IndividualTolerancePercent[ctr] ??
- FM2014.STANDARD_NOMINAL_TOLERANCE_INPUT_percent;
+ fm2014.CurrentOutputToleranceNominalInt_percent = _fm2014Config?.IndividualTolerancePercent[ctr] ??
+ FM2014.CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent;
}
}
if (_fm2014Config != null)
@@ -512,7 +512,7 @@ namespace Sensus.Ui.FM2014TestBench
// Restore baudrate
FM2014.Baudrate = _fm2014Config.Baudrate;
- // Restore Calibration settings for user convenience
+ // Restore calibration settings for user convenience
tbxRefPulsesRequired.Text = $"{_fm2014Config.RefPulsesRequired:D}";
tbxDutPulsesRequired.Text = $"{_fm2014Config.DutPulsesRequired:D}";
tbxDoublePulseDeadtime.Text = $"{_fm2014Config.DoublePulseDeadtime:D}";
@@ -646,7 +646,7 @@ namespace Sensus.Ui.FM2014TestBench
var fm2014 = Fm2014s[ctr];
if (fm2014 == null)
return;
- _fm2014Config.IndividualTolerancePercent.Add(fm2014.Tolerance_percent);
+ _fm2014Config.IndividualTolerancePercent.Add(fm2014.CurrentOutputToleranceNominalInt_percent);
_fm2014Config.SlotIsSelected.Add(SlotSelections[ctr].IsChecked);
}
@@ -1291,14 +1291,14 @@ namespace Sensus.Ui.FM2014TestBench
Dispatcher.Invoke(() =>
{
if (int.TryParse(tbxRefPulsesRequired.Text, out var pulses) &&
- FM2014.TIME_MEASUREMENT_INPUT_MIN_pulses <= pulses &&
- FM2014.TIME_MEASUREMENT_INPUT_MAX_pulses >= pulses)
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MIN <= pulses &&
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MAX >= pulses)
{
refPulsesRequired = (UInt16)pulses;
}
if (int.TryParse(tbxDutPulsesRequired.Text, out pulses) &&
- FM2014.TIME_MEASUREMENT_INPUT_MIN_pulses <= pulses &&
- FM2014.TIME_MEASUREMENT_INPUT_MAX_pulses >= pulses)
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MIN <= pulses &&
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MAX >= pulses)
{
dutPulsesRequired = (UInt16)pulses;
}
@@ -1420,8 +1420,8 @@ namespace Sensus.Ui.FM2014TestBench
}
if (int.TryParse(cbxToleranceCalc.SelectedItem.ToString(), out var tolerance) &&
- (tolerance == FM2014.STANDARD_NOMINAL_TOLERANCE_INPUT_percent ||
- tolerance == FM2014.EXTENDED_NOMINAL_TOLERANCE_INPUT_percent))
+ (tolerance == FM2014.CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent ||
+ tolerance == FM2014.CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_INT_percent))
{
toleranceSetup = tolerance;
}
@@ -1433,7 +1433,7 @@ namespace Sensus.Ui.FM2014TestBench
var idx = fm2014.Address - 1;
var ucFM2014 = (UcFM2014Device)UcFM2014s[idx];
ucFM2014.EnableMeasurements(REG_MEASURE_COUNT);
- fm2014.Tolerance_percent = toleranceSetup;
+ fm2014.CurrentOutputToleranceNominalInt_percent = toleranceSetup;
}
if (FM2014.RegulationMeasurement(refPulses_per_cm, dutPulses_per_cm, doublePulseDeadtime_ms,
@@ -1547,9 +1547,9 @@ namespace Sensus.Ui.FM2014TestBench
Dispatcher.Invoke(() =>
{
if (byte.TryParse(cbxToleranceCalc.SelectedItem.ToString(), out var tolerance) &&
- (tolerance == FM2014.STANDARD_NOMINAL_TOLERANCE_INPUT_percent ||
- tolerance == FM2014.EXTENDED_NOMINAL_TOLERANCE_INPUT_percent) &&
- firstFm2014.Tolerance_percent != tolerance)
+ (tolerance == FM2014.CURRENT_OUTPUT_TOLERANCE_STANDARD_NOMINAL_INT_percent ||
+ tolerance == FM2014.CURRENT_OUTPUT_TOLERANCE_EXTENDED_VALUE_INT_percent) &&
+ firstFm2014.CurrentOutputToleranceNominalInt_percent != tolerance)
{
_regulationSetupHasChanged = true;
btnSaveRegulationSetup.IsEnabled = true;
@@ -1789,8 +1789,8 @@ namespace Sensus.Ui.FM2014TestBench
// Convert the input and check limits
if (int.TryParse(tbxRefPulsesRequired.Text, out var pulses) &&
- FM2014.TIME_MEASUREMENT_INPUT_MIN_pulses <= pulses &&
- FM2014.TIME_MEASUREMENT_INPUT_MAX_pulses >= pulses)
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MIN <= pulses &&
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MAX >= pulses)
{
if (backupPulsesRequired != pulses)
_calibrationSetupHasChanged = true;
@@ -1884,8 +1884,8 @@ namespace Sensus.Ui.FM2014TestBench
// Convert the input and check limits
if (int.TryParse(tbxDutPulsesRequired.Text, out var pulses) &&
- FM2014.TIME_MEASUREMENT_INPUT_MIN_pulses <= pulses &&
- FM2014.TIME_MEASUREMENT_INPUT_MAX_pulses >= pulses)
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MIN <= pulses &&
+ FM2014.PULSES_TIME_MEASUREMENT_INPUT_MAX >= pulses)
{
if (backupPulsesRequired != pulses)
_calibrationSetupHasChanged = true;