File name
Commit message
Commit date
File name
Commit message
Commit date
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KHSCALE_TP
{
public class ComCasCi501 : SerialBase
{
// 통신 프레임 사이즈가 고정일 경우 그 사이즈를 지정. 정해진 사이즈가 없으면 -1 리턴하고, 구분자로 프레임 구분하도록
protected override int GetFrameSize()
{
return -1;
}
// 통신 프레임 간의 구분자가 있을 경우 그 구분자를 지정
protected override char GetFrameDelimiter()
{
return '\n';
}
protected override bool Parse(List<byte> buffRecv)
{
try
{
for(int i=0; i<buffRecv.Count; i++)
{
if (buffRecv[i] == 0)
buffRecv[i] = 0x20;
}
string strRecv = Encoding.Default.GetString(buffRecv.ToArray());
int pos1 = strRecv.LastIndexOf("\n");
if (pos1 < 0) return false;
strRecv = strRecv.Substring(0, pos1);
int pos2 = strRecv.LastIndexOf("NT,");
int pos3 = strRecv.LastIndexOf("GS,");
int pos = Math.Max(pos2, pos3);
if (pos > 0)
{
string val = strRecv.Substring(pos + 6, 8);
val = val.Replace("+", "");
val = val.Replace(" ", "");
float result = 0;
if (float.TryParse(val, out result))
{
this.SetValue(result);
}
return true;
}
}
catch
{
}
return true;
}
}
}