#控制系统 #设备 #绑定 #tango #接口 #客户端 #API

sys tango-client-sys

Tango 控制系统的客户端的 C 语言绑定

6 个版本

0.1.5 2023 年 3 月 15 日
0.1.4 2021 年 11 月 9 日
0.1.3 2021 年 10 月 6 日
0.1.2 2019 年 10 月 12 日
0.1.0 2018 年 10 月 27 日

#1212编码

43 每月下载
用于 tango-client

LGPL-3.0+

145KB
4.5K SLoC

Rust 3K SLoC // 0.0% comments C 1.5K SLoC // 0.1% comments

tango-rs

此库是 Tango 控制系统服务器的客户端。它使用现有的 C 语言绑定(包含在内)并在 Rust 接口中封装了由它提供的 API 函数。

设备代理 API 调用

  • command_inout
  • command_query
  • command_list_query
  • get_attribute_list
  • get_attribute_config
  • attribute_list_query
  • read/write_attribute
  • read/write_attributes
  • get/put/delete_device_property
  • get/set_timeout
  • get/set_source
  • lock/unlock/is_locked

数据库 API 调用

  • get_device_exported/_for_class
  • get_object_list
  • get_object_property_list
  • get/put/delete_property

构建

您需要一个带有头文件的已安装的 Tango 库。如果默认情况下找不到,请将环境变量 PKG_CONFIG_PATH 设置为包含 tango.pc 的目录。

最低支持的 Rust 版本

此包已测试至 Rust 1.41.1。

Serde 集成

当激活 serde 功能时,可以使用 serde 对 CommandDataAttrValuePropertyValue 类型进行序列化和反序列化。这允许快速将它们转换为/从 JSON 等格式。

测试

对于测试/基准测试,您需要一个运行在 localhost:10000 的 Tango 数据库,以及标准测试服务器的默认实例 (TangoTest/test)。

然后,您可以通过运行 cargo test 来测试所有封装的 API,并通过运行 cargo bench 来测量 command_inout 往返的时间。

依赖项

~230KB