开源改变世界

确定重试超时? #968

推推 grbl 2年前 (2023-02-06) 180次浏览
关闭
i-make-robots 打开了这个问题 2014 年 6 月 14 日 · 5 条评论
关闭

确定重试超时?#968

i-make-robots 打开了这个问题 2014 年 6 月 14 日 · 5 条评论

评论

确定重试超时? #968

情况:
马林接到命令。马林发送“OK”。
USB 乱码命令。PC 拒绝未知命令,等待 OK 发送更多命令。
马林从不重试。打印似乎挂起。Marlin 最终超时并调用 kill()。

建议的解决方案:

// marlin_main.cpp
void manage_inactivity() {
if(buflen < (BUFSIZE-1))
get_command();

// 开始新的
// max_ok_timeout 新的。必须是 < max_inactive_time
if( (millis() – previous_millis_cmd) > max_ok_timeout ) {
SERIAL_PROTOCOLLNPGM(MSG_OK); // 重新发送?
previous_millis_cmd = millis();
}
// 结束新的

if( (millis() – previous_millis_cmd) > max_inactive_time )
if(max_inactive_time)
kill();

我还注意到代码中有几个地方使用了 previous_millis_cmd = millis(); 然而还有一个 refresh_cmd_timeout() 做完全相同的事情,但从未从 marlin_main.cpp 中调用。标准化以保持一致性?

确定重试超时? #968
贡献者

你可以 fork 最新的 marlin 然后进行更改并提出请求请求吗?

确定重试超时? #968
贡献者作者

我似乎无法创建分支。我得稍后再想办法。

确定重试超时? #968
贡献者

不不……不创建分支……只是提交一个拉取请求

确定重试超时? #968
贡献者

如果当前错误修复分支中仍然存在,请打开一个新问题

https://github.com/ErikZalm/Marlin/tree/Marlin-v1-bug-fixing