如何在 Marlin 上设置 G 代码缓冲区大小?

3D打印 g代码 固件 马林鱼
2021-05-16 06:40:40

我正在重新配置 Printrbot Simple Metal,该金属已改装为运行 Marlin 的 RAMPS+Arduino Mega,由于机械和质量限制,进给速度相当慢。

我发现在取消打印出现问题时,我有很长一段时间打印机继续从 G 代码和移动缓冲区打印,尽管主机软件 (Octoprint) 早已停止发送 G-代码。

有没有一种方法可以 a) 将 Marlin 配置为具有较小的打印缓冲区(因为 Octoprint 可以轻松跟上打印机的运行速度)或 b) 向打印机发送特定信号或 G 代码以使其停止而无需继续读取缓冲区内容?

1个回答

Marlin 确实允许更改缓冲区的大小,以Configuration_adv.h. 在当前版本中,有一个 ifdef 可以在两种情况之间切换,一种支持 SD,另一种不支持。两者都有一个尺寸为 16 的运动规划器,可以调节。

此外,在同一个文件中,BUFSIZE可以更改缓冲区的大小来修改存储未解析命令的缓冲区的大小,然后再将它们解析并进入运动规划器缓冲区。

此外,对于某些固件,M112无论缓冲区中有什么都会立即关闭打印机,但需要使用重置按钮,之后轴将不会归位。在 Marlin 中,调用kill().