注释
贡献者
@setaperlacloche: 第三个例子超过8位。Grbl 的 strtof 函数假定您将有 8 个或更少。 |
作者
我明白了,这是设计使然。 那么有没有可能:
|
贡献者
我想。但是 NIST 文档没有说明允许多少个前导零或数字总数。实际上,没有人会在非零数字或小数前有 8 个前导零。 此外,Grbl 的字符串转换函数是标准库 strtof() 函数的简化版本。旨在最大限度地减少开销、大小和最大限度地提高速度。慢速 8 位处理器所需的一切。 由于空间和速度限制,我不会为 AVR 上的 Grbl 更改此设置,但可以为将来的版本更新它。 |
不管它是否会被更改,我都会在清理级别的代码解析器中看到它(去除空白等)。在字符串到浮点数的转换中抛出前导/尾随零很浪费,并且剥离前导零很容易。 |
以下所有 G 代码行:
是相同的。但是在 Grbl 中,最后一个被误解并变成了
G0X0
.根据 G 代码规范 ( http://ws680.nist.gov/publication/get_pdf.cfm?pub_id=823374 p.17):
“请注意,初始(在小数点之前和第一个非零数字之前)和尾随(在
小数点之后和最后一个非零数字之后)零是允许的,但不是必需的。
用初始或尾随零写入的数字将具有读取时的值相同,就好像额外的零不
存在一样。”
可以通过在以下代码中插入
read_float
函数来添加前导零容差:nuts_bolts.c:51
你怎么认为 ?