开源改变世界

围绕限制和控制线代码的小修复和改进 #113

推推 grbl 3年前 (2023-01-21) 103次浏览

对话

围绕限制和控制线代码的小修复和改进 #113

请参阅下面的提交说明,我已将它们变小(阅读:关于已解决问题的原子性)以使挑选樱桃变得容易。

更大的最终目标是使 grbl 适应半专业 CNC,例如我可以访问并必须工作的 Heiz High-Z S-720 + Zero3 控制器(否则我会被 Windows 困住,它不会算作我的一个选项)。

这组提交确保归巢将按预期工作,并且还允许禁用在所有情况下都不需要的功能。

下一个将处理一个更痛苦的问题:大多数(如果不是全部)控制器需要运行的电荷泵/看门狗(12.5kHz 50% 占空比,方波)信号的生成,其基本原理是用作外部控制器仍然存在的看门狗。
将及时向大家发布!

围绕限制和控制线代码的小修复和改进 #113
成员

乍一看,这看起来很不错。将需要进行测试以确保一切都符合犹太洁食标准。限位功能肯定需要一些 TLC,我喜欢限位开关面罩。

围绕限制和控制线代码的小修复和改进 #113
作者

谢谢 :) 让我知道我是否可以帮助(或者如果我需要重构)任何其他事情。

围绕限制和控制线代码的小修复和改进 #113
作者

提交f50bf4f的代码(即最后一个)在过去的一个小时里一直在我的 CNC 上愉快地运行老化测试,没有任何故障,其中包括归位功能。

围绕限制和控制线代码的小修复和改进 #113
成员

很高兴知道。出于某种原因,Github 不会将拉取请求保持静态,并且只要您添加更多提交,它就会添加它们。我们目前不会支持您的伺服电荷泵功能和 _BV 位命令(如果我理解正确的话,这在 avr-gcc 之外是不可移植的)。所以如果我们合并它,我们将不得不挑选它。

围绕限制和控制线代码的小修复和改进 #113
作者

是的,我看到 Github 没有提供任何方法来“关闭”拉取请求的历史记录,从而告诉上游“我希望你从这里合并到这里,而不是其他任何东西”,伤心:(

_BV()is #defined in <avr/sfr_defs.h>which is included by <avr/io.h>which, 反过来,是每个人都在使用的公共头文件。它与 gcc 无关,而与您的代码已经广泛使用的 avr-libc 无关。

电荷泵没问题,我会保留我的叉子并将其用于我使用的 CNC。我打算在其他领域继续帮助该项目(除非你们中的任何人希望我不这样做),例如代码大小(您已经接近 ATmega328p 可以容纳的大小)和数学速度(我在这里看弧线)优化。

感谢您的时间 :)

围绕限制和控制线代码的小修复和改进 #113
成员

如果您发现我们可以进行任何优化,请告诉我们。前段时间我们花了一些时间研究这个,我们可能在这里和那里遗漏了一些东西。非常感谢任何帮助,即使我们可能不会安装它(无论出于何种原因)。

就 _BV() 而言,它似乎是特定于 AVR 的(尽管我可能是错的),我们希望尽可能保持它的可移植性,以防其他人现在或将来采用此代码并将其应用于其他微处理器未来。幸运的是,大多数人都报告说移植 Grbl 是相当无缝的。我们希望保持这种状态。(我们还在开发一个 Grbl 模拟器,它也使用 gcc 来编译现有代码。)

围绕限制和控制线代码的小修复和改进 #113
作者

我不同意移植部分(或者我们正在谈论完全不同的代码库)。此处的代码广泛使用了 AVR 功能,例如定时器、中断和 GPIO 引脚;除了完全重写这些部分之外,没有任何东西可以“移植”到 AVR 以外的任何东西。
如果您指的是数学/物理引擎和 G 代码解析器,那么,是的,是可移植的——但它不会调用/使用任何 AVR 特定的东西,而且可能永远不会(所以它不会和永远不会使用 _BV()) …那么你指的是谁的移植?

围绕限制和控制线代码的小修复和改进 #113
成员

不确定我们为什么要争论这个问题,因为这可以通过#define 轻松解决。我个人更喜欢通用和通用的位移<<。这是我第一次看到 _BV() 在使用中并且不得不查找它,这是我们希望避免的事情,因为 n00bs 并不总是知道他们在做什么。我并不以任何方式声称自己是微控制器方面的专家,但我被告知,编写尽可能可移植的代码以帮助其面向未来始终是一种很好的做法。有几个 ARM 项目,例如 Arthur 的 Smoothieware,它们是从我们最初的代码库开始的。我认为它们使用不同的编译器,尽管它们可能仍支持 _BV()。无论哪种方式,这都归结为偏好。

围绕限制和控制线代码的小修复和改进 #113
作者

同意。我现在将关闭它以断开它(即防止我这边的进一步提交破坏这个拉取请求)。随意挑选任何你可能会发现对我的叉子有用的东西(如果有的话)。

围绕限制和控制线代码的小修复和改进 #113 csdexter 关闭了这个 2012 年 8 月 6 日
免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

成功合并此拉取请求可能会关闭这些问题。

还没有

2名参加者
围绕限制和控制线代码的小修复和改进 #113围绕限制和控制线代码的小修复和改进 #113

喜欢 (0)