#ham-radio #radio #packet #ham #read-write #afsk #ax25

kiss-tnc

一个用于连接KISS TNCs(如Direwolf)的库

7个版本

0.2.2 2022年12月28日
0.2.1 2022年12月19日
0.1.3 2022年1月16日
0.1.2 2021年11月5日
0.1.1 2021年10月23日

#5 in #ham

每月 29 次下载
用于 2 个crate(通过 minipac

MIT 协议

15KB
319

kiss-tnc

kiss-tnc是一个用于连接KISS TNCs(如Direwolf)的库。它可以用来读写帧,这对于APRS和AX.25工具可能很有用。

示例

use kiss_tnc::Tnc;

tokio_test::block_on(async {
    let mut tnc = Tnc::connect_tcp("localhost:8001") // Direwolf default port number
                  .await.expect("Could not connect to KISS TNC");
    tnc.send_frame("Hello world!".as_bytes()); // Send "Hello world!" over the air
    tnc.flush();

    // Reads a frame from the TNC
    // In most cases you can ignore `port` - it only matters if
    // you have multiple channels
    let (_port, data) = tnc.read_frame().await.expect("Could not read frame");
    println!("{:?}", data);
});

lib.rs:

KISS TNC Rust客户端

使用方法

use kiss_tnc::Tnc;

tokio_test::block_on(async {
    let mut tnc = Tnc::connect_tcp("localhost:8001") // Direwolf default port number
                  .await.expect("Could not connect to KISS TNC");
    tnc.send_frame("Hello world!".as_bytes()); // Send "Hello world!" over the air
    tnc.flush();

    // Reads a frame from the TNC
    // In most cases you can ignore `port` - it only matters if
    // you have multiple channels
    let (_port, data) = tnc.read_frame().await.expect("Could not read frame");
    println!("{:?}", data);
});

依赖项

~3–11MB
~108K SLoC