注释
合作者
你好@amx1 感谢您提供修复程序。并非所有用户都在使用最新的固件版本,所以我更喜欢使用功能检测而不是放弃 您可以在dev-338-g2core-fb101-spc分支中查看我的最后一次提交2741fff 。 |
作者
嗨 cheton,好点。我检查了你的最后一次提交。没有发现任何错误。 最好的 |
合作者
刚刚订阅了邮件列表。谢谢你的通知。 |
合作者
https://github.com/synthetos/g2/wiki/Roadmap#remove-queue-reports-qrn 只是担心删除 Queue Reports {qr:n} 命令,因为很久以前我们尝试实现线路模式协议,但它可能仍然会用 G2/G3 弧扰乱规划器缓冲区。我不确定当前固件版本是否已解决该问题,我只是想知道切换到使用线路模式协议是否安全。见#106(评论) @amx1你对此有何看法? |
你不应该能够扰乱计划缓冲区,除非你发送包装在 JSON 中的 gcode,这不应该在外部完成。你在使用 {gc:”…”} 吗?
|
作者
嗨 Rob,cncjs 的实现需要 qr 信息来控制 gcode 发送例程的流程。如果 qr 低于阈值,它将等待并延迟发送下一个命令。没有状态轮询。它只是分析控制器的报告。我不记得 cncjs 使用的是 {gc:”…”}。有点早了,我不记得细节了。这可能是线路协议的时间问题,会导致规划器缓冲区溢出,因此需要这种类型的双重检查。如果向控制器发送 gcode,则必须等待确认,直到发送下一个命令。(非常简单和稳定的握手协议)如果 ARC 命令或其他命令在内部计划程序队列中生成多个条目,则可能存在一些竞争条件。如果在 ARC 命令在内部完全放入规划器队列之前,来自控制器的确认被发送到发送者,您可能会遇到问题。我们必须检查收到的行是在 ARC 命令完全排队之后还是更早发送的。这正是我帮助 cheton 改进 cncjs 发送程序时所记得的。最佳 Axel Von:Rob Giseburt <notifications@github.com> Gesendet:Mittwoch,27. Juni 2018 19:24 An:cncjs/cncjs <cncjs@noreply.github.com> Betreff:回复:[cncjs/cncjs] g2core 101 更改(TinyG 控制器)(这正是我帮助 cheton 改进 cncjs 发送程序时所记得的。最佳 Axel Von:Rob Giseburt <notifications@github.com> Gesendet:Mittwoch,27. Juni 2018 19:24 An:cncjs/cncjs <cncjs@noreply.github.com> Betreff:回复:[cncjs/cncjs] g2core 101 更改(TinyG 控制器)(这正是我帮助 cheton 改进 cncjs 发送程序时所记得的。最佳 Axel Von:Rob Giseburt <notifications@github.com> Gesendet:Mittwoch,27. Juni 2018 19:24 An:cncjs/cncjs <cncjs@noreply.github.com> Betreff:回复:[cncjs/cncjs] g2core 101 更改(TinyG 控制器)(#338 ) 你不应该能够扰乱计划缓冲区,除非你发送包装在 JSON 中的 gcode,这不应该在外部完成。你在使用 {gc:”…”} 吗?
2018 年 6 月 27 日星期三下午 12:10 Cheton Wu ***@***.*** ***@***.***> > 写道: https ://github.com/synthetos/ g2/wiki/Roadmap#remove-queue-reports-qrn 只是担心删除 Queue Reports {qr:n} 命令,因为很久以前我们尝试实现线路模式协议,但它仍然可能会扰乱计划缓冲区G2/G3 弧。我不确定当前固件版本是否已解决此问题,我只是想知道切换到使用线路模式协议是否安全。请参见#106(评论)< #106(评论) > @amx1 < https://github.com/amx1 > 你对此有何看法?— 你收到这个是因为你被提到了。直接回复此邮件,在GitHub上查看 <#338(评论) >,或使线程静音 < https://github.com/notifications/unsubscribe-auth/AAXj0QyG0y4oz6Dpr2P6TmTWFAv9wR3cks5uA7yfgaJpZM4UXwaK > 。
|
我快速扫描了您的代码,但没有看到任何 {gc:n} 的使用,因此您不应该在行模式下出现任何缓冲区溢出。但是,我只看到了 TinyG,没有提到 g2core。协议有分歧,您关于弧线和线模式的陈述对于 TinyG 可能是正确的。对于 g2core,您应该能够删除大部分高水位/低水位业务,并在收到响应时简单地发送一条线路。很快就会出现一个异常,我们仍在研究如何处理的细节,那就是少数返回多行的命令(例如 {$:n})…我们正在研究如何指示响应将继续到下一行。我们可能会用一个布尔值替换(据我所知未使用的)响应版本,表示此响应是否完整。无论如何,我建议保留 TinyG 协议内容,并将 g2core 协议拆分到它自己的模块中,然后删除 qr 内容。这应该会稍微简化该代码。当然,如果您有任何疑问或遇到问题,请告诉我们。
|
作者
各位, 我们应该公平。这不是我的代码,这是 cheton 的工作,我非常感谢你们所有人的工作。 最好的amx1 |
合作者
描述
更改了 g2core 版本 101 的参数
主轴控制,命令 spe 和 spd 未执行,由 spc
冷却剂控制,com取代
TinyG.js 更新
更新 TinyGController.js
sr = {
…..
mpoc: true,
spc: true, // 主轴控制 (edge-101.03)
sps: true,
cof: true,
com: true // Mist coolant (edge-101.03)
};
版本
你如何安装CNCjs?
数控系统
硬件
操作系统