CFET2TCP的结构以及PP状态机的改动

CFET2TCP

之前TCP层没有跟CFET2DeviceProtocol协议分割开,为了通用性和复用性,要把TCP层完全独立出来,和具体用到的协议无关。

目前TCP层的功能有最基本的TCP连接组,重连,消息队列处理。 对外的接口提供了CFET的方法

[Cfet2Method]

public void SendData(string com, string command)

其他thing可以通过MyHub.Invoke来调用

[Cfet2Status]

public int ErrState()

当重连多次仍然无法连接时,ErrState为1

TCP层收到数据后是以事件的形式发布给thing,订阅的thing可以根据com口来区分是否是自己的数据。

需要注意的一点是,cfet命令处理是按照uri解析的,因此给tcp层发数据的时候需要url编码传输,以免特定字符不识别,比如#。

command = System.Web.HttpUtility.UrlEncode(command);

PP状态机改动

把中控的PP加热完全独立了出来,状态机加了判定加热命令是否成功的状态,没成功就重复调用,以免误码被硬件忽略导致加热命令没执行。


本文章使用limfx的vscode插件快速发布