注释
@winder我所做的更改可能不是最佳的,我需要您就如何进行进行输入。 我认为最好让控制器以它喜欢的任何单位返回坐标,然后让 GUI 将其转换为用户首选项。我认为这在我的测试中效果很好:
至于坐标,我认为这是可行的。但是对于进给率,没有 gcode 状态告诉我速度的单位。我可以想出一种方法来解决这个问题,方法是使用一种特殊的速度数据类型,其中还包括单位“mm/min”或“inch/min”。然后控制器实现应该负责在返回速度时设置这些单位类型(在 GRBL 中我们可以使用设置 $13,在 TinyG 中它在状态报告中报告)。 当将 13 美元更改为英寸时,我确实注意到机器边界(软限制)的可视化器中的错误。要解决这个问题,发送到可视化模块的坐标需要它们所用的单位。稍后我会研究这个。 |
很长一段时间以来,很多人都想要这个功能,我总是把它留给控制器,几乎忽略了 UGS 中的问题(正如你所发现的)。
这些对我来说听起来都不错,正是我所希望的。我认为它限制了 UI 需要对控制器做出的任何假设。 我没有意识到 GRBL 我不确定我们是否需要一个特殊的类型,因为它应该很少改变。 Visualizer 除了按百分比放大/缩小提要外,不会对提要执行任何操作,因此您无需为此担心。 也许可以将 speedUnits 字段添加到 |
所以事实证明,如果您将 Z 轴步长设置为 5mm,然后按 UI 按钮将单位设置为“英寸”,然后将 Z+ 点动一步,您将获得 5 英寸的点动。
翻转该开关还应转换点动尺寸和进给速率,以便在单位切换后实际点动行程/速率保持不变。