评论
我将实现这样的事情: |
可能有用,让我们看看它的表现如何…… |
出了点问题 GRBL-Plotter 中的坐标不会改变。 不清楚实时命令是否转发给 GRBL。 (你说,你有一个备用的Arduino。你愿意在ebay上买一个摇杆 [编辑] |
但是实时命令有效吗? |
正如我所写,我无法验证这一点。 只要点动命令没有正确转发……就没有机会测试。对不起。 |
好的,更进一步👍 但是你有多确定 0x85 字符是异步传输并绕过已经采样的字符串(或字符串部分)? 据我所见,这部分工作有潜力……会说:那表现不佳。 我只是将非常小和缓慢但随后快速移动到 GRBL-Plotter 中的几秒钟,步进电机跟随。 然后我松开操纵杆,应该发出点动中止命令(0x85)。 这让我假设中止命令没有被转发通过已经采样的点动命令。 我试图设法将我的操纵杆中的字符动态地可视化到 GRBL-Plotter … |
我今晚需要检查…
|
嗨 Sven, 如果是这样,不,我在 DIY 窗口中没有看到任何“0x85 with explanation”。 这是我得到的: 这是在关闭/打开两个端口(以清除窗口)并使用操纵杆执行短的正 X 移动之后直接进行的。 现在又是正 X 的短线移动: 你看,有一个“?” 在第二步的第一个点动命令之前。 [编辑] |
我的意思是你 2 小时前的帖子:“我发送连续的点动命令,当释放操纵杆的旋钮时,发出一两个 0x85” |
不,我只看到我的慢跑命令和那些“?” 人物。 |
这 ‘?’ 字符是否与您的 Jog-Stop 命令匹配? |
我会说是的。 |
嗨斯文, 希望这能引导我们找到解决方案,但现在点动命令仍未取消。 0x3F 不是我发送的,我发送的是 0x85(实际上我在代码中使用“Serial.write(133);”)。 那么,这个 0x3F Status Report Query 是从哪里来的呢? |
尝试在 0x85 以下发送另一个实时命令,例如“!” 或’〜’。那么会发生什么?也许您需要启用第 7 位才能发送?(我知道与 0x85 <-> 0x3F 不匹配) |
“0x3F状态报告查询”也许你真的发送’?’ 因为失误? |
我作为实时命令转发的可能实时命令(除了 >0x7F 之外)是 0x18、’?’、’~’、’!’ |
好的,现在我将 unicode 转换为字节 – 希望现在正在读取正确的值:https ://github.com/svenhb/GRBL-Plotter/blob/master/GRBL-Plotter_1206_test.zip |
嗨 Sven, 简而言之:“您有两种选择;一种是使用处理 byte[] 并绕过 Encoding 的 API,或者使用正确的编码。但是找到正确的编码有点棘手……” |
不,我不知道,我会检查。 |
尝试过“SerialPort.Read”:https |
太糟糕了……我还发现了另一个问题:在流暂停期间慢跑不再起作用…… |
这将解决部分问题,但据我了解慢跑,GRBL 甚至能够中止正在进行的慢跑命令(假设我发出 $J=G91X100F100,这将需要一些时间才能到达终点)。 仅通过避免过多的点动命令就可以做到这一点吗? 顺便说一下,我希望你能解决在流暂停中慢跑的问题! |
嗨 Sven, 我正在根据操纵杆的投掷实现步长、速度和适当命令频率的数学运算。希望 AtMega 足够快…… |
为了支持通过第二个 DIY 控制端口根据“GRBL V1.1 慢跑”使用专用操纵杆硬件进行慢跑,必须支持即时命令的处理。
这意味着:
除此之外,为了防止意外转发点动命令,只要 CNC 作业正在运行,GRBL-Plotter 就必须阻止 DIYcontrol 端口上的输入。
我想,这已经得到保证,因为 GRBL-Plotter 中有“虚拟操纵杆”。