#gcode #async #async-await #await #comments

无std async-gcode

适用于无std目标的异步gcode解析器

2个不稳定版本

0.3.0 2022年8月13日
0.2.0 2020年8月15日

#1127 in 异步

Download history 2/week @ 2024-04-08 6/week @ 2024-04-15 1/week @ 2024-04-22 2/week @ 2024-05-13 15/week @ 2024-05-20 13/week @ 2024-05-27 12/week @ 2024-06-03 16/week @ 2024-06-10 8/week @ 2024-06-17 15/week @ 2024-06-24 6/week @ 2024-07-08 17/week @ 2024-07-15 34/week @ 2024-07-22

59 每月下载量
5 crates 中使用

MIT 许可证

365KB
2K SLoC

GCode解析器

此crate旨在为rusty printer项目(如果适用,则为其他项目)提供gcode解析器。

在所有功能禁用的情况下,最小内存占用约为 ~80B RAM和约 2kB 闪存。典型的功能集 ["parse-trailing-comment", "parse-checksum", "optional-value"] 在约 4kB 闪存和约 80B RAM。最后,在所有功能的情况下,内存占用约为 7kB 闪存和约 170B RAM。

功能

  • std : 默认启用
  • parse-comments : 启用解析器返回 GCode::Comment(String);需要分配器。
  • parse-trailing-comment: 允许行以分号注释结束。
  • parse-checksum : 启用使用xorsum。
  • parse-parameters : 启用使用 # 参数;需要分配器。如果启用 string-value,则参数可以使用字符串索引。如果启用 optional-value,则参数值可以省略,但 不能省略 索引。
  • parse-expressions : 启用解析中缀表达式;需要分配器。
  • optional-value : 允许在RealValue的单词和参数值位置中省略。参数索引不能省略,也不能在表达式中作为字面量。
  • string-value : 允许RealValue为字符串。任何以\开头的字符将被原样使用(对")或换行符很有用)。

设计

约束

  • 无递归。
  • 减少RAM占用。
  • 减少ROM占用。

依赖项

~1MB
~16K SLoC