#ham-radio #ham #hamlib

rigctld

hamlib 的 rigctld 的客户端实现

1 个不稳定版本

0.1.0 2023 年 8 月 6 日

#13#ham

MPL-2.0 许可证

20KB
412 行代码(不含注释)

hamlib 的 rigctld 的客户端实现

此库使用 rigctld,它是 hamlib 的一部分。该守护进程提供网络接口以与连接的无线电设备通信。请查看上面的链接了解如何在您的设备上获取 hamlib。

提供的客户端实现了扩展响应协议。此外,为了避免每次手动启动守护进程,还实现了启动和停止 rigctld 的抽象。

目前,客户端中仅实现了获取/设置频率和模式的功能。代码已经提供了实现扩展响应协议中其他可用命令的必要构建块。如果您缺少一个函数,可以自己实现它或提出一个问题。同样适用于守护进程。如果您的用例需要额外的命令行开关,添加它应该相对简单。请确保查看 rigctld --help 以获取可用命令行开关及其参数的概述。目前,未检测到无效参数。这可能会导致客户端和 rigctld 之间的通信超时。因此,建议在启动 rigctld 之前手动启动它并使用所需的命令行开关来检查是否已正确设置所有选项。

示例

基本示例 中,展示了库的使用。

测试

为守护进程和客户端提供了一些基本测试。所有启用的测试都将使用虚拟设备接口。

在一次性运行所有测试之前,建议首先检查系统上是否有 rigctld。要检查这一点,请运行 cargo test daemon::tests::rigctld_exists。它将尝试启动系统中 PATH 中可用的名为 rigctld 的二进制文件。要执行所有其他测试,请运行 cargo test -- --test-threads 1。这确保测试按顺序运行,这是必需的,因为所有启动的守护进程都将监听相同的端口。

依赖项

~5–18MB
~183K SLoC