注释
https://github.com/grbl/grbl/wiki/Interfacing-with-Grbl#status-reporting 状态报告 当一个 ?字符被发送到 Grbl(不需要额外的换行符或回车符),它会立即响应 <Idle,MPos:0.000,0.000,0.000,WPos:0.000,0.000,0.000> 来报告它的状态和当前位置. 这 ?每当 Grbl 检测到一个时,总是从串行接收缓冲区中取出并删除。因此,这些可以随时发送。此外,为了让 GUI 更容易获取状态报告,它们总是被 <> V 形包围。 开发人员可以使用此数据为用户提供屏幕位置数字读数 (DRO) 和/或向用户显示虚拟工作空间中的 3D 位置。我们建议向 Grbl 查询一个 ? 不超过 5Hz 的实时状态报告。10Hz 可能是可能的,但在某些时候,收益递减,并且您要求 Grbl 的 CPU 生成和发送大量位置数据,从而增加了 CPU 的负担。 Grbl 的状态报告在组织上相当简单。它总是以描述机器状态的词开头,例如 IDLE(这些描述可在 Wiki 的其他地方找到)。以下数据值通常按下面列出的顺序并以逗号分隔,但可能不按确切顺序或根本不打印。报告输出取决于用户的 $10 状态报告掩码设置。
|
我正在使用通用 gcode 平台,状态轮询速率为 500 毫秒(在 250 毫秒时相同)。这是他们的 repo 中的问题:winder/Universal-G-Code-Sender#1527(评论) |
你能说说你的硬件吗,无论是 PC/Grbl 这种新行为以前是否有效? |
对不起迟到的答案。只是一台普通的不是很旧的电脑——i5 8400/8gb 内存。尝试了 usb 3.1 和 2.0 – 结果相同。是的 – 外围设备(键盘 n 鼠标 l,stm32(隐藏)。 我使用的是普通的 uno + v3 cnc shield + drv8825x2 + servo connected to z endstop 缺少的字符总是不同的 接地回路是可能的,因为我同时有 psu 5v/30v 和 pc 5v。这会成为问题吗? 谢谢!:) |
通常您需要将所有 GND 连接在一起,但不要尝试通过一个以上的 5V 电源驱动数字端。 |
行!很快就会试一试。Stm32 – 是力反馈方向盘,我知道它不是通过 hid 而是通过它自己的协议发送一些轴状态 – 没有真正考虑它,有 2 个可能的原因导致这种行为, |
你好!由于某种原因,我在串行监视器或 ugs 平台中丢失了一些字母。
在为 uno 编译它之后,我还收到了内存不足的消息(但这应该没问题):
Sketch uses 29766 byte (92%) memory of device. Mem available: 32256 byte.
有时当我发送“?”时,它看起来像什么?命令:
<Idle|MPo:10.000,-1.500,0.000|FS:0,0> ok <Idle|MPs:10.000,-1.500,0.000|FS:0,0|WCO:0.000,0.000,0.000> ok Idle|MPos:10.000,-1.500,0.000|FS:0,0> ok <Idl|MPos:10.000,-1.500,0.000|FS:0,0> ok
我试过 1.1h、1.1f。1.1h 使用反向开关编译 – 它保持不变。