- Register Reader Poseidon works - Smart Form - wrong functionality - refactoring
88 lines
3.0 KiB
C#
88 lines
3.0 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace NfcC7_DLL.NfcHandler.Utils
|
|
{
|
|
public class SerialPortData
|
|
{
|
|
private Boolean? _cliExists;
|
|
public bool CliExists { get {
|
|
if (_cliExists == null || !_cliExists.HasValue)
|
|
{
|
|
_cliExists = File.Exists(SerialPortCmdClientPath);
|
|
}
|
|
return _cliExists.Value;
|
|
} }
|
|
public string SerialPortCmdClientPath {
|
|
get {
|
|
#if DEBUG
|
|
return Path.Combine("C:\\","TBF","Cli", CmdClientName);
|
|
#else
|
|
return Path.Combine("..","Cli", CmdClientName);
|
|
#endif
|
|
}
|
|
}
|
|
public string CmdClientName { get; set; } = "HalCli.exe";
|
|
public string PortName { get; set; }
|
|
public int MeterType { get; set; }
|
|
public string MeterTypeStr { get; set; }
|
|
|
|
public enum EMeterArg {
|
|
Calibration = 0,
|
|
AllParams = 2,
|
|
DeviceId = 3,
|
|
Optohead = 4,
|
|
}
|
|
EMeterArg _eMeterArg = EMeterArg.AllParams;
|
|
|
|
public string DefaultArgSettingsRead(EMeterArg eMeterArg)
|
|
{
|
|
string meterTypeInsert = !string.IsNullOrEmpty(MeterTypeStr) ? MeterTypeStr : MeterType.ToString();
|
|
switch (eMeterArg)
|
|
{
|
|
case EMeterArg.AllParams:
|
|
return $"-p {PortName} -m {meterTypeInsert} --operation readall";
|
|
case EMeterArg.DeviceId:
|
|
return $"-p {PortName} -m {meterTypeInsert} --operation read --parameter DeviceId";
|
|
case EMeterArg.Optohead:
|
|
return $"-p {PortName} -m {meterTypeInsert} --operation read --parameter \"OpticalDataMode\"";
|
|
default:
|
|
throw new Exception("Not implemented correct command!");
|
|
}
|
|
}
|
|
|
|
public string DefaultArgSettingsWrite(EMeterArg eMeterArg, string arg)
|
|
{
|
|
string meterTypeInsert = !string.IsNullOrEmpty(MeterTypeStr) ? MeterTypeStr : MeterType.ToString();
|
|
switch (eMeterArg)
|
|
{
|
|
case EMeterArg.Calibration:
|
|
return $"-p {PortName} -m {meterTypeInsert} --operation write --parameter Calibration --value {arg}";
|
|
case EMeterArg.Optohead:
|
|
return $"-p {PortName} -m {meterTypeInsert} --operation write --parameter \"OpticalDataMode\" --value {arg}";
|
|
default:
|
|
throw new Exception("Not implemented correct command!");
|
|
}
|
|
}
|
|
|
|
public SerialPortData(
|
|
string portName,
|
|
string cmdClientName,
|
|
int meterType)
|
|
{
|
|
PortName = portName;
|
|
CmdClientName = cmdClientName;
|
|
MeterType = meterType;
|
|
}
|
|
|
|
public SerialPortData(
|
|
string portName,
|
|
string cmdClientName,
|
|
string meterType)
|
|
{
|
|
PortName = portName;
|
|
CmdClientName = cmdClientName;
|
|
MeterTypeStr = meterType;
|
|
}
|
|
}
|
|
} |