开源改变世界

公开讨论使用 axisui hal pin 制作通用的东西 #2129

推推 grbl 3年前 (2023-01-31) 280次浏览
打开
alkabal 打开了这个问题 2022 年 11 月 7 日 · 18条评论
打开

公开讨论使用 axisui hal pin 制作通用的东西#2129

alkabal 打开了这个问题 2022 年 11 月 7 日 · 18条评论

注释

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者

你好

我喜欢从轴开始讨论专用 hal pin

如果 hal_present == 1

 

我使用其中一些没有任何问题,但我想谈谈所有 GUI 的类似内容。

Maybee imo rhe 最好的方法可以是从 GUI 中分离这个 pin 并替换为附加到更通用名称的东西,如 gui.xxxx

我希望这对所有人来说都是有趣的事情。

公开讨论使用 axisui hal pin 制作通用的东西 #2129

halui有很多这样的功能。

公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

在点动控制方面,Halui 有其自身的缺点。

但我认为你的想法的前提是确定一组最小标准的控制引脚并将它们添加到所有 guis 中。更改引脚的基本名称实际上很容易,因此只需选择标准基本名称即可。

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者

谢谢你的回复

我为我自己的不精确表示歉意这是针对一些在 halui 其他 GUI 中不可用的信号:
comp.newpin(“notifications-clear”,hal.HAL_BIT,hal.HAL_IN)
comp.newpin(“notifications-clear-info” ,hal.HAL_BIT,hal.HAL_IN)
comp.newpin(“notifications-clear-error”,hal.HAL_BIT,hal.HAL_IN)
comp.newpin(“resume-inhibit”,hal.HAL_BIT,hal.HAL_IN)
comp.newpin (“错误”,hal.HAL_BIT,hal.HAL_OUT)
comp.newpin(“中止”,hal.HAL_BIT,hal.HAL_OUT)

我在我的一些组件中深入使用了它,现在很难测试其他 GUI,也很难测试更简单的 HAL 配置文件是的,我真的很喜欢这个想法,让所有的名称都相同并且都可用。

公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

你能描述一下不明显的用途吗?

公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

linuxcnc 中的错误通知通信非常受限,确实需要重新考虑。

公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

你能描述一下不明显的用途吗?

我在这里找到它:http:
//linuxcnc.org/docs/devel/html/gui/axis.html#_user_hal_pins

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者
公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者
筒仓 评论了 2022 年 11 月 7 日 通过电子邮件
公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

你能解释一下你使用它的任何不明显的事情吗?例如,我怀疑您正在为另一个程序(不仅仅是 axmessage)使用错误或中止 pin

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者

是的,这确实是为了将轴按钮停止操作传递给其他组件,否则我有很多时间使用宏无法预测的状态

对于错误,如果我们显示错误消息,这允许锁定其他组件中的某些功能(需要在继续之前阅读并关闭)

此处使用:
https ://github.com/alkabal/PSNG_V3/blob/064cf85c7a045b0505b6190a99d944d095808358/Your_Config_Folder/nc_subroutines/psng/python/base.py#L152

如果您使用 str(abort_axisui) 中的 python elif“TRUE”或 str(abort_halui) 中的“TRUE”或 str(stop_halui) 中的“TRUE”之类的宏,我已经确定了 3 种停止需要管理的程序的方法:

公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

一些相关的杂谈:

resume-inhibit 似乎是暂停/恢复的奇怪名称,你不觉得吗?

为什么我们需要为不同类型的通知单独的清除通知引脚?
在 qtvcp 中,您可以关闭但记住当前显示的消息或删除所有保留的消息或循环显示保留的消息,这在实践中似乎更有用。

为什么要分开中止和错误引脚?不会停止你的程序吗?您的程序如何以不同方式使用它们?

很好奇为什么您同时观看 halui 和 axis ui 以进行中止 – 或者这是一种变通方法?
在 qtvcp 中,我发现通过中止发送一条可以接收的消息来取得成功。
http://linuxcnc.org/docs/devel/html/remap/remap.html#_error_handling_dealing_with_abort

我谦虚地建议 hal.get_value(some.pin) 比使用 popen 更干净并且可能更快(快速查看您的一些代码)

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者
碱基 评论了 2022 年 11 月 8 日 通过电子邮件
公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

对不起,你自动清除消息 – 你能详细说明一下吗,我想主要是为什么?

是的,不幸的是,中止不会通过统计传播。
#2013
解决方法是使用 on_abort.ngc 强制传播到主 GUI。

什么通用引脚基名?uicore.some-针?

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者
碱基 评论了 2022 年 11 月 13 日 通过电子邮件
公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者
碱基 评论了 2022 年 11 月 13 日 通过电子邮件
公开讨论使用 axisui hal pin 制作通用的东西 #2129
合作者

如果您使用其他功能代替新消息。

对不起,我不明白这部分。您清除消息并替换它们?还是您正在清除消息以便发布新消息?我想我不明白为什么你添加消息只是为了让一个单独的程序忽略它们。
我只是对你在做什么以及为什么感兴趣。

on_abort.ngc 的想法。
在 AXIS 中,我们可以让它查找中止消息,然后设置引脚。这样做的好处是任何地方的中止都会被捕获。
它的缺点是需要配置包含 on_abort.ngc 文件。

确实,linuxcnc 应该始终通过错误通道发送有关中止的消息。
也许 linuxcnc 应该使用 ZMQ 或其他方式广播错误通道

不管怎样,谢谢你告诉我你的想法。
我认为可以将引脚添加到 qtvcp – 我的意思是让它们工作 -(我绝对可以添加它们。)

在 qtdragon 中,出于与您类似的原因,我们在错误通道上玩了点小把戏。
为了让 qtdragon 在探测期间响应,我们在不同的上下文中使用子程序。
当然,该程序需要监控与 qtdragon 竞争的错误通道。
在我们的例子中,我们在子例程运行时阻止 qtdragons 错误轮询,然后在不探测时阻止子例程的错误轮询。
我想我们也可以使用 HAL 引脚对其他 GUI 执行此操作…
我们还可以使用标准输入从子程序发送状态消息。

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者

我很抱歉总是很难解释我的想法 哈哈

是的,我喜欢在每次启动新功能时或在功能中的某个地方清除所有信息性消息,以便只显示最有用和最近的消息。我想你可以考虑我的代码太冗长但对我调试很有用

调试我自己的错误浪费了太多时间,但现在它几乎就像我不想要的那样
我认为现在我的设置与工作台的正确刀具偏移一致,正确管理来自探头屏幕的偏移,具有可变轴限制的机器

如果消息是一条错误消息,我必须在继续之前手动关闭它

公开讨论使用 axisui hal pin 制作通用的东西 #2129
贡献者作者

RPI 4 Linuxcnc 2.9 现在可以使用 qtdragon 吗?(我喜欢长时间测试你的 GUI)

此刻使用错误轴补丁和中止引脚我认为一切正常,这些东西来自 Gmoccapy 所以我希望其他人没有像我们遇到的问题(主要是由于使用过多的宏 imo)??

免费注册 在 GitHub 上加入此对话。已有帐户? 登录评论
标签
还没有
项目

还没有

发展

没有分支机构或拉取请求

4人参加
公开讨论使用 axisui hal pin 制作通用的东西 #2129公开讨论使用 axisui hal pin 制作通用的东西 #2129公开讨论使用 axisui hal pin 制作通用的东西 #2129公开讨论使用 axisui hal pin 制作通用的东西 #2129

喜欢 (0)