评论
$I 将列出所有加载的插件。您可以将插件名称和版本信息放入 onReportOptions() |
嗯,我认为 $I 就是这种情况。不仅我的插件没有出现,而且我也没有看到 odomoeter 出现。不久将以全新的眼光再次审视它。 |
根据您包含头文件的位置,它可能永远不会被调用。它应该在driver.c
您正在为哪个驱动程序开发?SAM3X8E(Arduino 到期)? 如果不使用调试器,开发有时会有些棘手。如果将调试(或启动)消息写入 USB 流,它们可能会丢失,因为在写入消息之前可能无法连接到 USB 流。一些驱动程序可能会缓冲它们直到建立连接,而其他驱动程序则不会。在使用消息进行调试时,我更喜欢使用 UART 流,因为它可以随时连接。 |
我会重命名它并尝试这样做。
这是新的基于 Teensy 4.1 的 GrblHAL2000 开发板。
优秀的点。我将在 UART 上设置一个 Pi,这样我就可以通过这种方式查看调试消息。 |
随处可用的各种文件之间是否存在图形关系? 直观地理解这些关系会很好。 我正在寻找 driver_init() 函数,因为我看到多个地方都在谈论启用插件,但还没有找到对 my_plugin_init() 的引用。 我知道在结构上的大量思考和工作已经融入了所有这一切,而且潜力似乎是巨大的——所以感谢你在这方面所做的所有工作。我将尽我所能尝试记录为我之后的新人连接插件的过程。 |
我相信我现在了解链条: drivers.c(在开发板的顶级目录中)包含函数 driver_init(),后者又包含 grbl/plugins_init.h。 对 my_plugin_init() 的调用包含在 grbl/plugins_init.h 中 默认模板,为了避免示例被调用,在示例初始化结构前面有一个“x”,将被删除以启用它。 所以大概合适的路径是使用这种结构将插件开发为私有插件,并且当它全部工作时讨论一旦提交它将如何以及在何处连接? 现在就去试试。 |
在构建中我看到了这个: src\my_plugin.c:225:8: 警告:返回类型默认为 ‘int’ [-Wimplicit-int] |
我的初始化函数如下所示:
|
目录树中的什么地方 我看到下面有一个占位符 |
我将我的代码移开并重命名了我的 init 函数。 我 因为有一个名为 my_plugin.c 的附加文件位于 激活/挂钩未修改的 my_plugin.c 代码作为起点的正确方法是什么? |
好的,我终于有我的插件报告加载。我想我绕着圈子试图追查这个。 似乎可以安全地忽略关于 plugins_init.h 冲突的第 188 行的警告? 如果我用模板/我的代码替换 |
随心所欲,但最佳做法是将代码添加到与其他插件所在位置相同的子目录中。
不要那样做,它的定义很弱,会被你的实现覆盖。
是的,但很容易修复。没有声明返回类型的 C 函数默认为 |
会做的,谢谢。关闭问题,因为它已完全解决。 |
我已经使用 my_plugin 示例以及 fans.c 作为参考编写了一个基本插件。
在状态变化时,它应该根据状态将辅助输出引脚设置为高电平或低电平。
我在 my_machine.h 中添加了一个启用定义,并且在 driver.c 中添加了一行以包含我的插件的头文件。在头文件中,我调用了 init 函数。该插件似乎从未被调用过。
有没有办法通过串行控制台查看加载了哪些插件及其版本(我从 fan.c 复制了版本报告)。我相当确定插件没有被触发,但我无法确定原因。
任何指导将不胜感激。
谢谢。