对话
|
只是我的 2 美分,G92 需要在 mc_reset 中重置,当你真正将 G92 存储在 eeprom 中时,你需要增加 eeproms 循环计数。对于仅使用闪存模拟 eeprom 的 arm 目标尤其如此。此外,我将坐标缓存到 ram 中,因为如果轴上升,使用更高速度的串行传输,eeprom 或闪存写入会丢失字符。当我在行尾使用带有 $Hhh 的英特尔样式校验和时,. 为了覆盖串行传输错误,问题出现是因为 $ char 本身有时会丢失,然后发送 gui 没有意识到它需要重新传输几行。2019-03-18 9:24 GMT+01:00,Denis Vygovskiy <notifications@github.com>:
|
作者
|
我查看了 mc_reset 代码,没有看到任何与坐标系混淆的东西。为什么你认为它应该重置 G92? |
|
这是我的失败。根据 gcode 标准的定义,G92 需要在电源循环时重置。所以它应该在 main.c 或更好的 settings_init 中重置。mc_reset 是我错误的想法,因为我错误地认为它应该在 M2/M30/M60 重置,所有调用 mc_reset。我会建议另一种方法,也许你可以试试。我做了一个小的 PR。可以肯定的是,您希望 G92 和 G43.1 保持不变,并且应该在电源循环时重置,正确。其他变量是否需要同样的东西?2019-03-19 2:39 GMT+01:00,Denis Vygovskiy <notifications@github.com>:
|
作者
|
对不起@cri-s但是您的更改与我想要实现的完全相反。 |


.jpg)
此补丁解决了问题#623。它将 EEPROM 持久性添加到 G92 和 G43.1 参数中,减少了大约 150 字节的闪存消耗,但增加了 8 字节的 RAM 消耗。