开源改变世界

协议:使用“*”添加对可选命令校验和的支持 #155

推推 grbl 3年前 (2023-01-21) 100次浏览

对话

协议:使用“*”添加对可选命令校验和的支持 #155

虽然我没有在基于 grbl 的硬件上遇到过数据损坏,但我在其他地方看到过可怕的东西,我很珍惜我的手指/房子/机器。

对于极度偏执的人来说,可选的校验和功能并不完美,因为理论上仍然可以将“*”更改为……比如说……一个“2”,而机器只会取一个G0 Z5 *24asG0Z5224G0Z5

协议:使用“*”添加对可选命令校验和的支持 #155 zougloub 力推 _ 校验和 分支从 到 c835bd7 bd336b5 相比6年前
协议:使用“*”添加对可选命令校验和的支持 #155
贡献者

不幸的是,这会破坏每个 GUI。

协议:使用“*”添加对可选命令校验和的支持 #155 chamnit 关闭了这个 2017 年 3 月 13 日
协议:使用“*”添加对可选命令校验和的支持 #155
作者

你好@chamnit, 它是如何破坏每个 GUI 的?
在我看来,唯一可能的破坏是如果 GUI 在校验和无效的情况下看到错误(错误:17)。并且可以说破坏 GUI 比破坏其他东西要好 ;)
还有什么吗?除此之外,如果代码中不清楚,GUI 不必发送校验

问候,

协议:使用“*”添加对可选命令校验和的支持 #155
贡献者

@zougloub: 即使它是一个选项,也会有一定比例的用户启用它并抱怨 GUI 开发人员支持它。现在,在下一个版本发布之前,我对更改与协议相关的任何内容不感兴趣,该版本已经包含与您的校验和相似的校验和。当它准备好进行 Beta 测试时,它将向公众发布。也就是说,我喜欢你的*格式。我可能会使用类似的东西。

此外,328p 上的 Grbl 已完全耗尽。除了严重的错误修复之外,没有更多的空间可以添加任何东西,因为我确实有大约几百字节的闪存可以用于我必须支持的某些构建。

协议:使用“*”添加对可选命令校验和的支持 #155
作者

@chamnit我没有发明*执行校验和的语法或方法,它来自http://reprap.org/wiki/G-code#.2A:_Checksum;支持 3D 打印的 GUI 可能已经支持了 :)

如果是我,我会使用另一种机制,并且可以识别任何命令/响应(如 IMAP)。

我开始查看 grbl 代码,也许我会贡献节省空间或性能的补丁,谁知道呢。

协议:使用“*”添加对可选命令校验和的支持 #155

这似乎是从 NMEA 0183 校验和派生的,它仅在使用十六进制时有所不同

协议:使用“*”添加对可选命令校验和的支持 #155
哈维 评论了 2019 年 3 月 12 日  

我必须同意这将非常有用。

即使它是一个选项,也会有一定比例的用户启用它并抱怨 GUI 开发人员支持它。

出色地。我是一名 GUI 开发人员,我有完全相反的问题。布线糟糕、中国 USB 串行芯片糟糕的人抱怨工作中出现故障,但没有有效的方法来证明或否认它是硬件问题。

它可能在 3 小时长的周期中丢失了一个字节。很难调试。

我们面临的另一个问题是当“ok”消息丢失/损坏时。GUI 只是不知道它可以继续发送数据(因为数以万计的命令中只有少数没有被正确确认)并且我们最终空转了 forewer …

你有什么想法如何处理这个问题?

协议:使用“*”添加对可选命令校验和的支持 #155
朗瓦特 评论了 2019 年 3 月 12 日  

也许真的很简单,在 RX 中断中将接收到的每个字节添加到一个 16 位变量(或更高级的校验和)中,将一个可选字段添加到具有 16 位结果的状态报告中。发件人应该能够跟踪

或在每一行附加注释,使字节总和成为某个神奇的数字,并可选择
在到达新行时出现错误总和的错误

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

成功合并此拉取请求可能会关闭这些问题。

还没有

5人参加
协议:使用“*”添加对可选命令校验和的支持 #155协议:使用“*”添加对可选命令校验和的支持 #155协议:使用“*”添加对可选命令校验和的支持 #155协议:使用“*”添加对可选命令校验和的支持 #155协议:使用“*”添加对可选命令校验和的支持 #155

喜欢 (0)