注释
成员
@timryder: 这个问题更多地与Grbl中的printFloat()函数有关。当我编写它时,Grbl 期望的所有有效浮点值的长度都将低于 10 个字符,包括“-”和小数点。这包括我认为可以在物理上实现的东西。您的 3.5 米/秒(215000 毫米/分钟)非常快。 对于设置值,默认打印小数点后 3 位。因此,它可以打印的最大有效数字为“999999.999”。由于您有 4 位小数,因此将其缩减为“99999.9999”。你超过了这个界限。 但是,我计划让这个 printFloat 故障更具指示性,因为它曾经出现过一次,当时用户不小心将最大行程值设置为 1000 米。 |
作者
所以我最初的想法是,eeprom 全部存储为一堆字节,所以只要它可以保存在标准定义中,为什么最大设置真的很重要。IEEE Float 正确吗? 哪个会是 ~ 400 万的数量级? |
成员
@timryder:问题不是浮点值,而是将其转换为可读字符串的 printFloat 函数。为了节省闪存,我完全重写了 printFloat 函数,但我必须做出一些假设并删除一些标准错误检查。我认为它大约有数百个字节。 |
我正在尝试做一个副项目,它允许我根据我创建的自定义 M 代码来缩放轴的最大速率。我逻辑上从另一个参数调用 settings_store_global_setting 函数来动态更改机器参数。它似乎在工作,除了时不时地当值变得太大时它似乎会炸毁 eeprom。也就是说,最后设置的设置是我的 Z 轴最大速率,然后当我在终端中执行 $$ 时,其余参数为空。如果我重置回默认设置,一切似乎又好了。
那么我可能会尝试设置一个太大而无法存储 eeprom 的值吗?
目前 112 美元(z 最大汇率)= 214748.3648。
这引出了我的问题,基于以 16MHz 运行的 atmega328p,Max_Rate 和 Max_Accel 的绝对最大设置是多少?
提前致谢