开源改变世界!!

自动连接 #336

推推 grbl 2年前 (2023-01-26) 188次浏览
关闭
philreindl 打开了这个问题 2016 年 1 月 25 日 · 2 条评论
关闭

自动连接#336

philreindl 打开了这个问题 2016 年 1 月 25 日 · 2 条评论

注释

自动连接 #336
贡献者

我有一些我一直在玩的代码来自动连接。现在它在检测断开连接然后重新连接方面非常积极。我认为只要发件人不流式传输文件就可以。当发生重新连接时,机器 xyz 将重置为零,因此至少我们需要暂停流并重新启动。但是很可能会丢失一些命令。因此,最好在这种情况下抛出一个错误,取消作业,然后等待用户输入。

虽然我个人没有将任何运动命令设置为在启动时发生,但我相信这是可能的。因此,从这个角度来看,让机器自动连接可能也是不可取的。

对此有什么想法吗?

我喜欢让机器在启动时自动连接的想法,在车库里用我那破烂的触摸板点击一下就少了一件事情。但该功能可能需要一个新的设置,默认情况下是禁用的。如果机器已连接但断开连接,我还希望看到自动重新连接。同样,这可能是一个新设置,默认情况下禁用。如果在流式传输文件时发生断开连接,则会抛出一个错误对话框并取消该文件。

自动连接 #336
所有者

启动时连接功能听起来不错,您是否在 GUIBackend.java 中实现了它?不过,我不确定是否会自动重新连接,我很难想象您可以自动执行哪些操作来从类似的事情中恢复过来。

现在添加设置非常容易,只需在 Settings.java 中添加一个 getter/setter 并在 SettingsFactory.loadSettings 中添加一个初始化程序。UGPlatform 也在使用这些设置,我对两个 GUI 共享相同的设置并不是 100% 满意(特别是当新功能添加到平台时,经典 GUI 没有)。

自动连接 #336
贡献者作者

对我来说,这是非常典型的工作,在笔记本电脑和 UGS 仍在运行的情况下完全关闭机器。让一切恢复正常运行有点痛苦。我希望能够让串行端口识别掉线并正确重置,而无需重新启动所有内容。所以 autoreconnect 并不打算成为可以从某种程度上搞砸的工作中恢复的东西。

实际上,GUIBackend 上有一个自动连接方法,它尝试使用设置中的任何内容进行连接。在完成之前,我会让它扫描端口以防串口发生变化。但是波特率和固件不应该改变,所以它们将被修复。autoconnect 方法是由在主窗口中启动的计时器触发的。我可能最终会让 GUIBacked 拥有计时器,并且每次都会在尝试自动连接之前检查设置。