CFET2APP的ExampleThing不同资源类型的一些方法

EventListener

监听系统中特定路径上的变化事件

一个config对象

Source:表示监听路径的规则,监听所有路径结尾是/base的事件 EventType:监听的事件类型是 "changed"

初始化TryInit

尝试读取外部传入的配置,覆盖默认的config 通过Subscribe方法,注册一个事件处理函数handler 订阅事件后,返回一个token,用来后续取消订阅

事件处理函数handler

有事件发生时,这个方法被调用 用日志工具记录下来

取消监听UnSub

调用UnSub(),会用之前保存的token取消事件订阅

FakeAIThing

模拟测量多个通道的数据变化,CFET2里的一个模块内部有 FakeAICard 对象,负责实际模拟采集

初始化TryInit

创建一个 FakeAICard实例,默认通道数是2

配置通道数量

ChannelCountConfigSet(int channelCount) :设置通道个数 ChannelCountConfigGet() :获取当前通道数

状态信息

公开状态方法,允许外部查询: ChannelCount() :返回通道数 AIState() :返回设备当前状态 LatestData() :返回最近采集到的数据数组

启动和停止采集

TryArm():启动采集 TryStop():停止采集

模拟采集逻辑

循环生成随机数据,保存到 LatestData 数组,每 100 毫秒更新一次数据

ObjParam

定义了一个模块,它包含了一个矩形Ract,可以设置这个矩形的位置和大小,还能查询它的状态,相当于设置查看物品参数

定义了一个类Ract

属性:名字(Name)、宽(W)、高(H)、X 和 Y 坐标 ToString()方法:打印矩形信息

初始化

把数据赋值给Ract,并打印当前矩形信息。

方法

Replace(float x, float y, float h, float w) :更新矩形的坐标和大小 Scale(float xFactor, float yFactor) :用来矩形的宽高比例。

状态获取

GetDefaultStatus() :返回当前对象的路径加字符串 "/defaultStatus"

启动时打印信息

Start() 方法被调用时,会打印当前矩形信息

PcMonitorThing

监控电脑的内存使用情况

获取内存信息的状态接口

[Cfet2Status("ram")] public float GetRam()

这是一个状态方法,用来读取电脑可用内存,通过PerformanceCounter 类获取系统实时内存数据

默认状态

[Cfet2Status("defaultStatus")] public string GetDefaultStatus()

返回Thing的路径加上字符串 "/defaultStatus"作为默认状态。

RemoteRequester

请求和获取另一台主机上的资源

状态方法 Status(string requestUri)

设置一个接口,传入想要请求数据的路径requestUri 调用内部的 MyHub.TryGetResourceSampleWithUri(requestUri) 方法获取对应URI的数据。 封装数据并返回 也可以通过类似方法把数据发送给远程URI

UseLessThing

作为模板,展示如何在CFET2中定义配置项、状态接口和方法,以及事件的发布

Base

Base是一个可配置的整数,当 Base 被设置了新值,会发布一个事件,通知这个配置项的值改变了

状态接口

GetDefaultStatus() :返回当前对象路径加一个字符串,作为默认状态 Value(int input) :返回输入值乘以 Base 的结果 OtherBase(string otherBaseUri) :根据传入的资源路径,获取路径的 Base 值,然后乘以本地的 Base

示范方法 [Cfet2Method] Say(string msg)

打印出传进来的消息,当消息是gg,显示异常

启动打印


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