iPerlHead : 'LogType' procedure parameter added and used when creating 'optoDataLogFileName'.

This commit is contained in:
Milan Hanajik
2018-09-19 11:14:10 +02:00
parent 3b2139d3df
commit 7e7ae86f65
2 changed files with 41 additions and 14 deletions
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2015-2017 Sensus Metering Systems
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
///
using System;
using System.IO;
@@ -7,6 +7,7 @@ using System.Text;
using System.Xml.Serialization;
using Config.Entities;
using TBF.BenchControl.Generic;
using TBF.BenchControl.Output;
using TBF.Resources;
using System.Collections.Generic;
@@ -21,6 +22,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
public float CalibTarget; /// Target error after calibration in [%]
public int FactorLimitLo; /// Lower limit for the calibration factor
public int FactorLimitHi; /// Upper limit for the calibration factor
public LogType LogType;
#if ORACLE_DB
public int WMType_ID; /// Required for Oracle DB: ID_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
public int WMType_Rev; /// Required for Oracle DB: Rev_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
@@ -33,6 +35,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
CalibTarget = 0;
FactorLimitLo = 1000;
FactorLimitHi = 8000;
LogType = LogType.Just_Q1Q2Q3;
#if ORACLE_DB
WMType_ID = 2; /// Value for iPerl DN15
WMType_Rev = 1; /// Value for iPerl DN15
@@ -45,6 +48,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
"Calib. target [%]",
"Calib. factor Lo",
"Calib. factor Hi",
"Log type",
#if ORACLE_DB
"WMType ID",
"WMType Rev.",
@@ -61,7 +65,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
for (MeterType mt = 0; mt < MeterType.Count; mt++) retVal.Add(mt.ToString());
return retVal;
}
else if (i == 4)
{
IList<string> retVal = new List<string>();
for (LogType lt = 0; lt < LogType.Count; lt++) retVal.Add(lt.ToString());
return retVal;
}
return null;
}
@@ -73,9 +82,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
case 1: return CalibTarget.ToString();
case 2: return FactorLimitLo.ToString();
case 3: return FactorLimitHi.ToString();
case 4: return LogType.ToString();
#if ORACLE_DB
case 4: return WMType_ID.ToString();
case 5: return WMType_Rev.ToString();
case 5: return WMType_ID.ToString();
case 6: return WMType_Rev.ToString();
#endif
default: return string.Empty;
}
@@ -94,9 +104,15 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
case 1: CalibTarget = Utils.ParseSFloat(strValue); return CfgUpdateFlags.None;
case 2: FactorLimitLo = int.Parse(strValue); return CfgUpdateFlags.None;
case 3: FactorLimitHi = int.Parse(strValue); return CfgUpdateFlags.None;
case 4:
for (LogType lt = 0; lt < LogType.Count; lt++)
{
if (lt.ToString().Equals(strValue)) { LogType = lt; return CfgUpdateFlags.None; }
}
break;
#if ORACLE_DB
case 4: WMType_ID = int.Parse(strValue); return CfgUpdateFlags.None;
case 5: WMType_Rev = int.Parse(strValue); return CfgUpdateFlags.None;
case 5: WMType_ID = int.Parse(strValue); return CfgUpdateFlags.None;
case 6: WMType_Rev = int.Parse(strValue); return CfgUpdateFlags.None;
#endif
default: return CfgUpdateFlags.None;
}
@@ -123,10 +139,13 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
case 3:
if (int.TryParse(strValue, out iDummy) && iDummy >= 1000 && iDummy <= 8000) return true;
break;
case 4:
for (LogType lt = 0; lt < LogType.Count; lt++) if (lt.ToString().Equals(strValue)) return true;
break;
#if ORACLE_DB
case 4: /// WMType_ID
case 5: /// WMType_Rev
case 5: /// WMType_ID
case 6: /// WMType_Rev
if (int.TryParse(strValue, out iDummy)) return true;
break;
#endif
@@ -145,6 +164,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
prms.CalibTarget = this.CalibTarget;
prms.FactorLimitLo = this.FactorLimitLo;
prms.FactorLimitHi = this.FactorLimitHi;
prms.LogType = this.LogType;
#if ORACLE_DB
prms.WMType_ID = this.WMType_ID;
prms.WMType_Rev = this.WMType_Rev;