对话
不幸的是,这会破坏每个 GUI。 |
你好@chamnit, 它是如何破坏每个 GUI 的? 问候, |
@zougloub: 即使它是一个选项,也会有一定比例的用户启用它并抱怨 GUI 开发人员支持它。现在,在下一个版本发布之前,我对更改与协议相关的任何内容不感兴趣,该版本已经包含与您的校验和相似的校验和。当它准备好进行 Beta 测试时,它将向公众发布。也就是说,我喜欢你的 此外,328p 上的 Grbl 已完全耗尽。除了严重的错误修复之外,没有更多的空间可以添加任何东西,因为我确实有大约几百字节的闪存可以用于我必须支持的某些构建。 |
@chamnit我没有发明 如果是我,我会使用另一种机制,并且可以识别任何命令/响应(如 IMAP)。 我开始查看 grbl 代码,也许我会贡献节省空间或性能的补丁,谁知道呢。 |
这似乎是从 NMEA 0183 校验和派生的,它仅在使用十六进制时有所不同 |
我必须同意这将非常有用。
出色地。我是一名 GUI 开发人员,我有完全相反的问题。布线糟糕、中国 USB 串行芯片糟糕的人抱怨工作中出现故障,但没有有效的方法来证明或否认它是硬件问题。 它可能在 3 小时长的周期中丢失了一个字节。很难调试。 我们面临的另一个问题是当“ok”消息丢失/损坏时。GUI 只是不知道它可以继续发送数据(因为数以万计的命令中只有少数没有被正确确认)并且我们最终空转了 forewer … 你有什么想法如何处理这个问题? |
也许真的很简单,在 RX 中断中将接收到的每个字节添加到一个 16 位变量(或更高级的校验和)中,将一个可选字段添加到具有 16 位结果的状态报告中。发件人应该能够跟踪 或在每一行附加注释,使字节总和成为某个神奇的数字,并可选择 |
虽然我没有在基于 grbl 的硬件上遇到过数据损坏,但我在其他地方看到过可怕的东西,我很珍惜我的手指/房子/机器。
对于极度偏执的人来说,可选的校验和功能并不完美,因为理论上仍然可以将“*”更改为……比如说……一个“2”,而机器只会取一个
G0 Z5 *24
asG0Z5224
的G0Z5
。