开源改变世界

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132

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

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误)#2132

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

注释

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者

你好

我使用 run in place linuxcnc 从https://forum.linuxcnc.org/9-installing-linuxcnc/39779-rpi4-raspbian-64-bit-linuxcnc?start=150#253623运行全新和更新的 bullseye 安装

尝试将 PSNGV3 转换为 Python/Gtk3 我在归位状态时遇到一些错误

追溯(最近一次通话):

  File "/home/linuxcnc/dev/emc/lib/python/gladevcp/combi_dro.py", line 489, in _homed
    self.homed = self.status.homed[self.joint_no]
AttributeError: 'Combi_DRO' object has no attribute 'joint_no'Traceback (most recent call last):
  File "/home/linuxcnc/dev/emc/lib/python/gladevcp/combi_dro.py", line 509, in _homed
    self.homed = self.status.homed[self.joint_no]
AttributeError: 'Combi_DRO' object has no attribute 'joint_no'

自我归宿 = 自我状态归巢[自我. 联合号]

 

目前我不知道这是否与 Linuxcnc master 分支有关或与我的 PSNGV3 python 代码有关。

我以前在使用 buster 和 Python/Gtk2 时没有这个问题(这部分的代码没有改变)

欢迎任何建议。

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者

似乎你需要明确地调用这个函数:
def set_joint_no(self, joint): ''' changes the joint, not the joint number. This is handy for special cases, like Gantry configs, i.e. XYYZ, where joint 0 = X, joint 1 = Y1 joint 2 = Y2 and joint 3 = Z, so the Z axis can be set to joint_number 2 giving the axis letter Z and joint 3 being in this case the corresponding joint, joint 3 instead of 2 ''' self.joint_no = joint
也许 gmoccapy 代码可以给你一个线索

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者
碱基 评论了 2022 年 11 月 15 日 通过电子邮件
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者
碱基 评论了 2022 年 11 月 28 日  

你好

大声笑我想我不undersnatd 我需要做什么。

我在 psng 的 glade 文件中发现只有 3 个 dro 出现,而​​在 python 代码中没有发现

<object class="Combi_DRO" id="combi_dro_X">

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
成员

请问什么是PSNG?

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

请问什么是PSNG?

下一代探针屏幕
https://github.com/linuxcnc-probe-screen/probe-screen-ng(Kiall似乎不再维护,我没有访问权限…)
https://github.com /alkabal/PSNG_V3实际适用于 2.8(我需要上传 2.9 尝试)

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

你的意思是我需要在 python 代码中做一些类似的事情?

def _make_DRO自我):

 

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者
彼得赖因霍尔特森 评论了 2022 年 11 月 28 日 通过电子邮件
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

对于我自己:我正在研究更高级和更灵活的东西,所以我没有真正的兴趣继续维护这个旧版本(差异太多)。

我认为新功能只在 2.10 中被接受,而这个 repo 仅适用于 2.8。

在所有方面,与建议包含在 Linuxcnc 中的内容相关的决定与我无关,哈哈。

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

主分支更新为 2.9/2.10 支持 GTK3/Python3

但是对于这个问题中报告的错误,现在我不明白我需要做什么,我认为唯一真正的问题是与 Homed/Not Homed 相关的 DRO 的颜色变化。

欢迎任何建议。

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

其他需要返工但实际上我自己做不到的事情是允许调整界面大小

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者
c-莫利 评论了 2022 年 12 月 3 日  

你好

大声笑我想我不undersnatd 我需要做什么。

我在 psng 的 glade 文件中发现只有 3 个 dro 出现,而​​在 python 代码中没有发现

<object class="Combi_DRO" id="combi_dro_X">

来自 gmoccapy.py:

        # we build one DRO for each axis
        self.dro_dic = {}
        for pos, axis in enumerate(self.axis_list):
            joint = self._get_joint_from_joint_axis_dic(axis)
            dro = Combi_DRO()
            dro.set_joint_no(joint)
            dro.set_axis(axis)
            dro.change_axisletter(axis.upper())
            dro.show()
            dro.set_property("name", "Combi_DRO_{0}".format(pos))
            dro.set_property("abs_color", self._get_RGBA_color(self.abs_color))
            dro.set_property("rel_color", self._get_RGBA_color(self.rel_color))
            dro.set_property("dtg_color", self._get_RGBA_color(self.dtg_color))
            dro.set_property("homed_color", self._get_RGBA_color(self.homed_color))
            dro.set_property("unhomed_color", self._get_RGBA_color(self.unhomed_color))
            dro.set_property("actual", self.dro_actual)
            dro.connect("clicked", self._on_DRO_clicked)
            dro.connect('axis_clicked', self._on_DRO_axis_clicked)
            self.dro_dic[dro.get_property("name")] = dro

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者

所以我认为你可以直接从林间空地设置这些。我的快速测试似乎表明许多属性不是默认设置的。
所以我想我是在问你的程序如何在你的程序中设置属性,比如联合编号?

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

您好
,谢谢,我也看到了这段代码,但不确定。

关于第二条评论,我认为你要证明目前完全不受管理的东西,代码来自 2.7 兼容性,我认为没有人真正改变需要设置轴和关节。

该死的又需要一次大返工。(我不确定是否要说非常感谢哈哈)

用于慢跑按钮的参考 python 代码:
https ://github.com/alkabal/PSNG_V3/blob/bf2f037b45534920354c5dd90e284213fbfbfc98/Your_Config_Folder/nc_subroutines/psng/python/jog.py#L154

Dro 的空地代码:(与 dro 在 pyton 中查找无关)
https://github.com/alkabal/PSNG_V3/blob/bf2f037b45534920354c5dd90e284213fbfbfc98/Your_Config_Folder/nc_subroutines/psng/psng_mod.glade#L423

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

我希望我走在今天停下来的好路上,但是添加了一些我在日志中看到的来自 Gmoccapy 的代码:

  • 关节数 = 3
  • 找到 3 个坐标 = xyz
  • 关节 0 = 轴 x
  • 关节 1 = 轴 y
  • 关节 2 = z 轴
  • {0: ‘x’, 1: ‘y’, 2: ‘z’}
  • gladevcp:在“python”中查找处理程序时遇到问题:“ProbeScreenJog”对象没有属性“_get_RGBA_color”
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

成功但不要问我代码的作用,我只有从 gmoccapy 复制粘贴。
真的很多问候你!

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

我能问一下您认为使用 import 是什么还是复制所需的东西更好?:
from gmoccapy import widgets # 一个处理小部件的类
from gmoccapy import getiniinfo # 这处理 INI 文件读取,因此检查在该模块中完成

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

另一天另一(两个)问题

这是正常的切换机器电源开/关没有任何动作(新启动)我执行了 ON_ABORT_COMMAND ?

对于我不能再使用 2.9 进行斜体更改的原因有什么建议吗?
https://github.com/alkabal/PSNG_V3/blob/cd1744427f6ef062fd573d6d8c1d6b0a5c6b40f8/Your_Config_Folder/nc_subroutines/psng/python/base.py#L887

代码似乎正确执行了与 Return 或 Escape 相关的代码,但从未获得斜体

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者

是的,您必须在 on_abort_command ngc 脚本中查找它。

http://linuxcnc.org/docs/devel/html/remap/remap.html#_error_handling_dealing_with_abort

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
合作者

gmoccapy 的小部件和 get_info 会非常方便。
还有http://linuxcnc.org/docs/devel/html/gui/gladevcp-libraries.html

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

哦,非常有用,升级了 on_abort 我没有显示,希望我理解(并验证)这在 2.8 中不存在。

抱歉,如果您说是,我不完全理解使用“from gmoccapy import”比在 psng 中包含整个代码更好

非常感谢,如果没有您的帮助,我无法找到提出的一些解决方案,非常感谢。

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者

我怀疑文档中的错误(交换了 estop/machine-off)一定是这样的:

o100 if [#1 EQ 5]
    (estop released)
o100 elseif [#1 EQ 6]
    (estop pressed)
o100 elseif [#1 EQ 7]
    (MSG, machine turned off) 
o100 elseif [#1 EQ 8]
    (MSG, abort pressed)
o100 else
    (DEBUG, error parameter is [#1])
o100 endif
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者
流氓000 评论了 上个月

alkabal,你好,你让 PNSG 在 2.10 中工作了吗?我真的很想用它。我目前在我的旧磨机上使用 ProbeScreen v2,并且正在将新磨机转换为 2.10。

将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者
碱基 评论了 上个月 通过电子邮件
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132
贡献者作者
碱基 评论了 3个星期前 通过电子邮件

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

还没有

发展

没有分支机构或拉取请求

5人参加
将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132将 PSNG 转换为 Python3/Gtk3(gladevcp combi_dro Master 可能存在错误) #2132

喜欢 (0)