开源改变世界

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

推推 grbl 3年前 (2023-01-31) 195次浏览
关闭
spanner888 打开了这个问题 2016 年 5 月 9 日 · 21 条评论 · 由#332修复
关闭

bCNC 0.9.3 锁定发送gcode,也锁定主机。#315

spanner888 打开了这个问题 2016 年 5 月 9 日 · 21 条评论 · 由#332修复

注释

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

单击运行以发送 gcode 时,bCNC 和主机锁定。

  • 主轴未运行时发生。
  • 发生在两台不同的计算机上,都是全新安装的 lubuntu。
  • 是可重复的,每次都会发生。
  • 锁定 = 鼠标光标仍然移动但点击不起作用,键盘不再起作用,甚至看不到大写锁定灯的变化,无法 ctl alt F1 等
  • 按下运行按钮后几乎立即锁定。
  • 作业确实运行到结束 – 即 CNC 完成所有运动。注意 jobs/gcode 非常短。
  • 没有启用步进器的试运行正常,即 bCNC 没有锁定。
  • 使用具有相同硬件和 gcode 的 UniversalGcodeSender 工作正常。

很明显这不是一个普遍存在的问题。是否可以收集一些额外的调试/日志?

配置:
程序:bCNC
版本:0.9.3
最后更改:2016 年 4 月 12 日
平台:linux2
Python:2.7.9(默认,2015 年 4 月 2 日,15:34:55)
[GCC 4.9.2]
TkVersion:8.6
TclVersion:8.6

附件是使用的测试文件之一。
grbl_example.gcode.zip

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
贡献者

你好@spanner888
我要到周末才能测试,所以与此同时我有几个问题:

  • 完成这项工作需要多长时间?
  • 锁在所有工作期间是否持续存在?

对我来说真正奇怪的是,只有在启用步进器时才会出现问题。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
所有者

它与 Intel 卡视频问题#250有关吗?

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
作者

首先回复您的查询,然后更新大量信息:-
上传示例代码需要 90 秒。
锁定期间和之后很长一段时间仍然存在。注意不能 alt 选项卡等,键盘锁定灯不切换,Linux 控制台键不起作用(即 Ctl Alt F1-7)等。CNC
只会运行很短的时间然后停止,例如 15mm 碗的 2 圈切割。大概这只是 grbl 缓冲区中的 gcode。

只有当步进器启用时——嗯,要么是我的测试/观察不佳,要么是行为的另一个变化。现在在没有步进器或主轴运行的情况下崩溃。
注意崩溃是与最初描述的锁定不同的行为。见下文。

与 Intel 卡视频问题#250没有直接关系,但可能通过 xorg 相关,更多信息如下。

更新的测试信息:-

Problem has shifted from lockup to an "instant logout", which is probably an xorg crash - sometimes get a crash report for xorg appear on logging in again.
This even occured on computer that is not internet connected, so no idea why the behaviour changed.

Problem occurs on non-Intel video cards - have reproduced on three different nVidia cards, in two computers.

Same computer running Lubuntu 15.10 or Windows 7 is OK, but running Lubuntu 15.04 crashes.
The newer Lubuntu info is:-

Linux 4.2.0-16-generic (x86_64)
Distribution Ubuntu 15.10
Desktop Environment LXDE (Lubuntu)
...
Loaded Modules
nouveau nVidia Riva/TNT/GeForce/Quadro/Tesla
video ACPI Video Driver

The older Lubuntu info is:-

Linux 3.19.0-15-generic (i686)
Compiled #15-Ubuntu SMP Thu Apr 16 23:32:01 UTC 2015
Distribution Ubuntu 15.04
Desktop Environment LXDE (Lubuntu)
...
Loaded Modules
nouveau nVidia Riva/TNT/GeForce/Quadro/Tesla
video ACPI Video Driver

Problem DID NOT occur on a old Lennovo model 9088ABM with Video card Intel Q33/Q35/G running OpenSuse 4.0.5.3, so it is not an issue with "every" Intel video card.

Problem DID NOT occur on exact same hardware & software configuration, except running bCNC 0.5, instead of bCNC 0.9.3 - when problem DOES occur.
Verified this on two of the above computers.

为什么有这么多 Lubuntu?好吧,连接到 CNC 的两台计算机真的很旧 – 我从拍卖会上得到了 IT 设备托盘负载中额外不需要的物品。
所以使用 Lubuntu,因为它应该适用于较旧和低资源的系统。

运行 Debian 8 的Novena 桌面(参见https://www.crowdsupply.com/sutajio-kosagi/novena/ )是可以的。

附件是Lubuntu/Windows电脑的xorg崩溃信息:
2016-05-12-034825_1513x1018_scrot.png.zip

可以提供更多信息,但如果有人可以将我推向正确的方向,那可能是最好的,否则我会四处挣扎….

感谢您查看此内容,尤其是 bCNC。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
贡献者

我不是 Linux 用户,但当我尝试 Lubuntu 时,我发现它是一个不错的选择。很遗憾有一些问题。
很好,你发现它适用于 0.5 版本,这会有很大帮助。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

非常感谢这个软件的开发团队,这正是我所需要的。比 Universal GCode Downloader(一般来说)好得多。我想我会让你知道 – 我有同样的问题。

点击 RUN 后界面锁定。没有办法摆脱它。虽然它继续发送 GCode。我必须拔掉 USB 线才能停止运行,然后关闭笔记本电脑的电源。

笔记本电脑是旧的 IBM thinkpad 型号 1834(不是制造年份),运行 Xubuntu 14.04 (Ubuntu + xfce)。

此外,如果没有发生这种情况,我将被注销。作业停止。

我在没有给主轴通电的情况下尝试了它,并且在 grbl 检查模式下,结果相同。

我已经放弃了笔记本电脑。现在,我正在使用具有完全相同软件设置的戴尔迷你塔。我不明白这个问题。

如果有帮助,我可以提供详细信息。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
所有者

我使用的是 xubuntu 16.04,但是开发是从 xubuntu 14.04 及之后的版本开始的。我从来没有遇到过这样的问题。通常,从用户运行的程序不应锁定计算机。我可以看到两个选项:

  1. 要么进入死循环,内存不足。你使用自动调平吗?
  2. xorg 因某些未知原因而崩溃。
    看到您的错误报告似乎是第二个。在这种情况下,应该向 xorg 报告。
bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

你好瓦西利斯,

  1. 不,我没有使用自动级别。
  2. 是的,我同意,我认为这与 bCNC 无关。

我添加了我的评论,因为它的行为与我认为您可能想知道的原始错误报告非常相似。正如我所说,我已经
放弃了笔记本电脑。我正在使用 PC,所以现在问题已经解决了。

谢谢你的努力,我很喜欢bCNC。

我有个问题。bCNC 是用什么版本的 Python 编写的。今天早上我发现
,虽然Ubuntu的默认版本是Python3,从
ver14.04开始。事实上,如果你像 bCNC.sh 那样从命令行运行 python,
例如

steve@laptop:~$ python
Python 2.7.6(默认,2015 年 6 月 22 日,17:58:13)Linux2
上的 [GCC 4.8.2]输入
“help”、“copyright”、“credits”或“license”以获得更多信息信息。

所以我使用的是 Python 2.7.6 版。/user/bin/python中的符号链接 python
指向 python ver 2.7

steve@laptop:~$ ls -al /usr/bin/python*
lrwxrwxrwx 1 root root 9 Feb 2 2015 /usr/bin/python -> python2.7

<- 这个

lrwxrwxrwx 1 root root 2015 年 2 月 2 日 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3345416 2015 年 6 月 22 日 /usr/bin/python2.7 lrwxrwxrwx
1 root root 33 2015 年 6 月 22 日 /usr /bin/python2.7-config ->
x86_64-linux-gnu-python2.7-config
lrwxrwxrwx 1 root root 2013 年 12 月 21 日 16 /usr/bin/python2-config ->
python2.7-config
lrwxrwxrwx 1 root root 2 月 9 日2 2015 /usr/bin/python3 -> python3.4
-rwxr-xr-x 1 根根 4061272 2014 年 4 月 11 日 /usr/bin/python3.4
-rwxr-xr-x 1 根根 4061272 2014 年 4 月 11 日 /usr/ bin/python3.4m lrwxrwxrwx
1 root root 10 Feb 2 2015 /usr/bin/python3m -> python3.4m lrwxrwxrwx
1 root root 16 Dec 21 2013 /usr/bin/python-config ->
python2.7-config

尽管我可以更改符号链接,例如
steve@laptop:~$ cd /usr/bin
steve@laptop:/usr/bin$ sudo ln -f -s ./python3 ./python

在必须安装 Tkinter3 并运行 bCNC 之后,您的代码出现语法
错误。

所以我很疑惑。应该是 Python ver2.7.6 还是 ver3.4

无论如何,再次感谢您提供了一款出色的软件。

史蒂夫·H

在 2016 年 5 月 18 日星期三中午 12:00,Vasilis Vlachoudis <
notifications@github.com > 写道:

我使用的是 xubuntu 16.04,但是开发是从 xubuntu 14.04
及之后的版本开始的。我从来没有遇到过这样的问题。通常,从
用户运行的程序不应锁定计算机。我可以看到两个选项:

  1. 要么进入死循环,内存不足。你使用
    自动调平吗?
  2. xorg 因某些未知原因而崩溃。
    看到您的错误报告似乎是第二个。在这种情况下,应该
    向 xorg 报告。


你收到这个是因为你发表了评论。
直接回复此邮件或在 GitHub
#315(评论)上查看

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
所有者

@ChunkyBitsbCNC 是用 python v2 编写的,我们正在慢慢尝试迁移到 python v3

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
bhgv 评论了 2016 年 5 月 23 日  

嗨,我也有同样的麻烦。Lubuntu、python 2.7.9、armhf、mali-400、orange pi 2。经过一些调试后,我发现命令 what locks

文件:Sender.py
行:913(文件最后一行)
命令:self._sumcline = sum(cline)

            print "tosend='%s'"%(repr(tosend)),"stack=",sline,"sum=",sum(cline),"wait=",wait,"pause=",self._pause
            if tosend is not None and sum(cline) < RX_BUFFER_SIZE:
                self._sumcline = sum(cline)  # << !! THIS COMMAND BREAKS X and locks/reboots Lubuntu !!
#               if isinstance(tosend, list):
#                   self.serial.write(str(tosend.pop(0)))
#                   if not tosend: tosend = None

                print ">S>",repr(tosend),"stack=",sline,"sum=",sum(cline)
                if self.controller==Utils.SMOOTHIE: tosend = tosend.upper()
                self.serial.write(bytes(tosend))
#               self.serial.write(tosend.encode("utf8"))
#               self.serial.flush()

                tosend = None
                if not self.running and t-tg > G_POLL:
                    tosend = b"$G\n"
                    sline.append(tosend)
                    cline.append(len(tosend))
                    tg = t

它在 X 服务器中产生错误,锁定或重新启动

评论后 bCNC 开始工作而无需锁定/重启

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

..继续调试

取消注释后

sender.py:913 -> self._sumcline = sum(cline)

接下来的调试路径:

sender.py:913 -> self._sumcline = sum(cline)
--//-- :641 -> def getBufferFill(self): return self._sumcline * 100. / RX_BUFFER_SIZE

bCNC.py:2209  -> self.bufferGauge.setFill(Sender.getBufferFill(self))

lib/tkExtra.py:4475 -> def setFill(self, fill=0.):
--//-- :4480 -> def draw(self, event=None):
--//-- :4485 -> self.itemconfig(self.gaugeArc, extent = -self.fill * 3.6)

它看起来像行“self.itemconfig(self.gaugeArc, extent = -self.fill * 3.6)”在第一次或第一次调用后中断 X。它可以自由评论,因为它只在状态栏中绘制一个小圆规。没有这个命令 bCNC 运行良好

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

..继续

经过一些实验

self.itemconfig(self.gaugeArc, extent = -self.fill * 3.6)

结果:如果 extent > abs(285.0),它会破坏 X 并锁定/重启。
我试着写

self.itemconfig(self.gaugeArc, extent = -self.fill * 2.8)

它对我有用,除了这个小圆规显示的值有点错误。无论如何,我认为最好的办法是对其进行评论或替换为文本百分比小部件

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
贡献者

你好@bhgv,感谢您的调试!
我很尴尬,因为我是那个添加那个小圆规作为缓冲控制器反馈的人。从未在linux下测试过。
无论如何,它可以很容易地改变成别的东西,我稍后会尝试使用彩色条形图。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
贡献者

这是另一个不使用 tkinter arc 的 Gauge。
https://github.com/Effer/bCNC/tree/master-new-gauge

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

现在是一个线性垂直条,如果缓冲区填充良好,则不会有太大变化。如果有人可以测试并查看问题是否消失..

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

你好@effer,感谢您的快速响应。

上一张图片中的彩色条看起来非常好,比圆规更容易理解(抱歉,这只是我的意见)。如果您在其上制作工具提示“缓冲区填充”或“缓冲区的 %%”,那就太好了。

嗯,
https://github.com/Effer/bCNC/tree/master-new-gauge

  • 这是测试链接?
bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
bhgv 评论了 2016 年 5 月 24 日  

@effer新仪表对我来说效果很好(lubuntu armhf mali400 等)。但也许你会把它宽 1.5-2 倍?它看起来太小,只能容纳 2 位数字。
(不知道怎么附上截图或视频)

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
作者

新仪表也很适合我。今天早上只有时间进行一次测试,但工作完全运行,新代码没有问题,并且还确认旧代码仍然存在可重复的可靠注销/崩溃问题。

非常感谢!这阻止了我放弃 bCNC,因为我所有的旧 PC 都有这个问题,而且我买不起任何“更新”的 PC。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

@spanner888这不是旧电脑的问题。这是 tkinter 库的问题。这是一个内部 python 库。您将在任何具有此错误库的计算机上收到此问题。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
所有者

感谢您找出问题所在。我不知道问题是否是由于 python 库引起的,但是 Xorg 不应该从用户程序中崩溃。

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

@vlachoudis是的,你是对的,X 不应该被用户 prog 崩溃。这个bsod最初发生在tk,2d,3d。也许,经过更深入的调试后,就可以分辨出它是什么了。反正不是bcnc。

但现在感谢您的帮助、超级程序和超级出色的支持!

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315 HomineLudens 提到了这个问题 2016 年 5 月 25 日
bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315
贡献者

这里有一个使用强大小部件的缓冲栏。
https://github.com/Effer/bCNC/tree/master-Buffer-Bar
Tester are wellcome

bCNC 0.9.3 锁定发送gcode,也锁定主机。 #315

@effer
https://github.com/Effer/bCNC/tree/master-Buffer-Bar
它工作正常。没有任何问题,看起来不错。在给 bsod 的一对 gcode 脚本上进行了测试。(lubuntu,手臂等)