注释
你好, ……
|
慢跑计划在 v0.9 中安装。关于它应该如何工作还没有达成共识,但我个人认为它应该是一个专用的 Grbl 模式,你可以像你说的那样做。这意味着它不需要任何 g 代码命令来慢跑。您只需通过诸如“$J”之类的命令将 Grbl 置于“慢跑”模式,然后它就会感知箭头字符或其他任何内容,并据此开始和停止。按钮也可以完成,但我认为这需要安装为 i2c 接口,因为我们没有引脚。 |
(承认我的低能力), |
同意,但就像我说的那样,对于它应该如何工作或实施还没有达成共识或决定。慢跑的“$”命令不需要太多。就像你说的方向、速度和轴。相当简单,不需要太多资源,主要是一些闪存空间。 我通常非常犹豫是否要向步进算法添加任何不必要的东西,因为它需要尽可能少。我不排除您的方法,因为如果我要将归位周期直接集成到步进算法中,可能需要这样的方法。还不确定。有很多需要考虑的问题,尤其是对于现在优先级更高的进给率覆盖。必须管理所有这些不同的条件和状态可能会变得非常笨拙。 |
你是对的,也许我可以从归巢程序中得到启发, |
谢谢,dan-nab,我开始慢跑了。G0 命令按下键,〜按下键,等待空闲,然后发送我自己的“%”命令,该命令调用: void kill_buffer()
{
plan_discard_current_block();
st_go_idle();
current_block = NULL;
sys_sync_current_position();
sys.auto_start = true;
}
完成工作。 |
你好,我按照你的建议做了,对我来说效果很好 |
@Protoneer:我一直在考虑键盘慢跑一段时间。实施起来并不难,期待一件事。规划器没有写保护,所以每当有运动命令时,尤其是点动命令,有可能会改变当前执行的块并导致运动错误。当缓冲区中没有太多内容并且您添加了新的运动命令时,通常会发生这种情况。(流式传输 g 代码程序几乎不会出现此问题。) 所以,如果我们安装键盘/旋转拨盘点动,我们确实需要安装一个合适的写保护计划器。这并不容易做到,但幸运的是,我已经开始着手解决这个问题。它与进给率覆盖有关,因为您还必须从缓冲区的开头重新规划不完整的块。我有一些工作,但在这一点上它有很多问题。我对结果不满意,但它应该有效。我认为我需要更多时间才能使它达到高效和简单的程度。就像我在另一个线程中发布的那样,我将在 7 月回到众所周知的 Grbl 马上。目前有许多非常耗时的生活/工作事件。 另一个小问题是我们从未真正确定如何实现点动的控制。基本上有两个阵营:(1) 一个简单的启用/禁用切换,可将单个轴移动到用户设置的方向和进给率。没有真正的精确控制,但这使得所需的控制对话框和代码最少。这也更符合当前的规划器。只是移动。(2) 旋转拨盘式点动,每次单击都会使轴移动一小段距离增量。方向可以随时翻转。 问题是:我们要安装哪种类型的慢跑?点动界面需要哪些命令?我们如何设置要移动的轴、进给率和方向?距离增量呢? 如果将所有这些加起来,代码和用户反馈对话框会迅速膨胀,很可能会导致我们达到 328p 的 flash 上限。所以,如果我们这样做,我们将不得不想出一种非常有效的方法来实现它。 |
@chamnit我将不得不玩一下。 带有旋转拨盘的选项 2 似乎是我们想要结束的方式…… 但是…选项 2 也可以像选项 1 一样通过发送启动/停止信号来实现。 构建信号发生器也非常容易制作。:) |
@chamnit我想在离线状态下与您多谈谈。你能给我发邮件吗?(我的地址在我的个人资料页面上。) |
我正在尝试使用我的键盘(原理图+软件)进行慢跑。
计划是在 keydown 和 ~ 在 keyup 上发送 G0 命令。到目前为止工作正常,但必须在下一步之前清除缓冲区。重置有效,但需要相当长的时间。因此,包含清除缓冲区(或仅清除缓冲区)的进给保持命令会有所帮助。任何提示调用新命令字符的函数是什么?