关闭 i-make-robots 打开了这个问题 2014 年 6 月 14 日 · 5 条评论 关闭 确定重试超时?#968 i-make-robots 打开了这个问题 2014 年 6 月 14 日 · 5 条评论 评论 贡献者 我制造机器人 评论了 2014 年 6 月 14 日 情况: 马林接到命令。马林发送“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 中调用。标准化以保持一致性? 贡献者 伯乐 评论了 2014 年 12 月 20 日 你可以 fork 最新的 marlin 然后进行更改并提出请求请求吗? boelle 添加了 错误:潜力? 标签 2014 年 12 月 20 日 贡献者作者 我制造机器人 评论了 2014 年 12 月 20 日 我似乎无法创建分支。我得稍后再想办法。 贡献者 伯乐 评论了 2014 年 12 月 20 日 不不……不创建分支……只是提交一个拉取请求 贡献者 伯乐 评论了 2014 年 12 月 21 日 如果当前错误修复分支中仍然存在,请打开一个新问题 https://github.com/ErikZalm/Marlin/tree/Marlin-v1-bug-fixing boelle已完成 关闭 2014 年 12 月 21 日 喜欢 (0) 识别SD卡 #209 [BUG] 使用 USB 数据线时 sdcard 未显示在计算机上 #210 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭 无法在 gsender 1.2.0 中打开 .gcode 文件 #367 RaspberryPi 运行 gsender 时出现问题 #89 向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473 v1.3.8-EDGE 重启后键盘快捷键消失 #427 关闭无法在 gsender 1.2.0 中打开 .gcode 文件 #367RaspberryPi 运行 gsender 时出现问题 #89向 fluidnc 发送 $$ 会导致 gsender 崩溃 #473功能请求:抑制发送到机器的 gcode 中的 gcode 注释。 #444 关闭通过网络连接进行连接 #171操纵杆运动的剩余问题 #204 关闭新版本认为我的机器一直处于锁定状态 #474 关闭
情况:
马林接到命令。马林发送“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 中调用。标准化以保持一致性?