1个不稳定版本
使用旧的Rust 2015
0.1.0 | 2019年3月15日 |
---|
#90 in #嵌入式设备
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 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT),由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交以包含在本作品中的任何贡献,均应按上述方式双许可,不附加任何额外的条款或条件。
依赖项
~1MB
~17K SLoC