#串行 #cli #终端 #命令行界面 #嵌入式设备 #嵌入式HAL库

无std light-cli

嵌入式设备的简单无堆栈命令行界面解析器

1个不稳定版本

使用旧的Rust 2015

0.1.0 2019年3月15日

#90 in #嵌入式设备

MIT/Apache

33KB
620

light-cli

轻量级无堆栈命令行界面/命令传递工具。可能更适用于机器到机器通信。

文档

[示例]

以下定义允许使用以下命令

  • HELLO Name=<Name>:将名称设置为<Name>
  • EHLO:返回名称
lightcli!(cl_in, cl_out, cmd, key, val, [
  "HELLO" => [
    "Name" => name = String::from(val)
  ] => { writeln!(cl_out, "Name set").unwrap(); };
  "EHLO" => [
  ] => { writeln!(cl_out, "EHLO Name={}", name.as_str()).unwrap(); }
]);

典型的串行通信可能如下所示

>> EHLO
<< EHLO Name=
>> HELLO Name=Johnson
<< Name set
>> EHLO
<< EHLO Name=Johnson

建议与程序rlwrap一起使用。

完整示例

工作情况

  • 以键值样式读取命令:COMMAND KEY=VALUE
  • UTF-8编码。
  • 指定无堆栈字符串长度。
  • 在通过串行连接接收数据时进行部分命令评估。

待办事项

  • 写入输出
  • 改进UTF-8错误检测/编码。
  • 任何形式的自动补全/退格等。

许可

根据以下之一获得许可

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在本作品中的任何贡献,均应按上述方式双许可,不附加任何额外的条款或条件。

依赖项

~1MB
~17K SLoC