Rats...
I was celebrating too soon.
Looks like a Python3 isssue with perhaps older Python 2 code?

To avoid the error with the missing MPG I borrowed it from the working system 
so now it's been found.  Toplevel just imports remap and remap imports stdglue. 
 I don't understand this error:

except Exception,e:

The remap is from the PSNG project for the touch probe screen. 
https://github.com/linuxcnc-probe-screen/probe-screen-ng/tree/master and it's 
last change was about 4 years ago.

Suggestions?
Thanks
John


xhc-hb04: found XHC-HB04 device
xhc-hb04.tcl: using std_start_pause_button
xhc-hb04.tcl: Using existing outpin signame: spindle-vel-cmd-rps-abs
APP: xset found: </usr/bin/xset>
initialize: module 
'/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py' init failed: 
Traceback (most recent call last):

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py", line 
19, in <module>
    import remap

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/remap.py", line 
19, in <module>
    from stdglue import *

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/stdglue.py", line 
28

    except Exception,e:

           ^^^^^^^^^^^

SyntaxError: multiple exception types must be parenthesized

Interp ctor: can't instantiate Python plugin

John

> -----Original Message-----
> From: Sam Sokolik [mailto:samco...@gmail.com]
> Sent: February 25, 2025 3:10 PM
> To: Enhanced Machine Controller (EMC)
> Subject: Re: [Emc-users] LinuxCNC 2.9.4 can't find MESA 7i92H
> 
> Yay!
> 
> On Tue, Feb 25, 2025, 4:58�PM John Dammeyer <jo...@autoartisans.com>
> wrote:
> 
> > Yipee!  It's alive!  It's alive!
> > I had forgotten to check off one box in the network dialog.  So the IP
> > address were all correct but no one was allowed to connect.
> > Now to move it into the mill cabinet and see if I can make hardware move.
> > John
> >
> >
> >
> > > -----Original Message-----
> > > From: John Dammeyer [mailto:jo...@autoartisans.com]
> > > Sent: February 25, 2025 12:29 PM
> > > To: Enhanced Machine Controller (EMC)
> > > Subject: [Emc-users] LinuxCNC 2.9.4 can't find MESA 7i92H
> > >
> > > Hi all,
> > > From 2.9.3 an apt update and upgrade gave me 2.9.4 without issues.
> > >
> > > Next problem.  The MESA and Ethernet Cable work with the older 2.8.4
> > > Raspbery Pi4 LinuxCNC as shown in attached photo.
> > > Move the cable over to the PC which has the same INI and HAL files as the
> > > 2.8 system with MESA 7i92H actually attached to a real mill.
> > >
> > > I know the internet works on this PC because it was used for all the
> > upgrade
> > > stuff etc.  I unplugged the internet connection and rebooted the PC with
> > the
> > > MESA card connected.  There is likely a simple solution to this.
> > Something
> > > needs to be configured somehow  but what?
> > >
> > > I do have another PCI Ethernet card on order that should be here
> > tomorrow.
> > > Then I can have both regular network and also talk to the MESA but for
> > now
> > is
> > > there a solution?
> > >
> > > LINUXCNC - 2.9.4
> > > Machine configuration directory is
> > > '/home/john/linuxcnc/configs/G3616-MESA-7i92'
> > > Machine configuration file is 'G3616-MESA-7i92.ini.expanded'
> > > Starting LinuxCNC...
> > > linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
> > > Note: Using POSIX realtime
> > > Found file(REL): ./G3616-MESA-7i92.hal
> > > hm2: loading Mesa HostMot2 driver version 0.15
> > > hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
> > > hm2_eth: ERROR: can't connect: Network is unreachable
> > > hm2_eth: rtapi_app_main: Network is unreachable (-101)
> > > ./G3616-MESA-7i92.hal:10: waitpid failed /usr/bin/rtapi_app hm2_eth
> > > ./G3616-MESA-7i92.hal:10: /usr/bin/rtapi_app exited without becoming
> > > ready
> > > ./G3616-MESA-7i92.hal:10: insmod for hm2_eth failed, returned -1
> Shutting
> > > down and cleaning up LinuxCNC...
> > > Running HAL shutdown script
> > > hm2: unloading
> > > Note: Using POSIX realtime
> > > LinuxCNC terminated with an error.  You can find more information in the
> > > log:
> > >     /home/john/linuxcnc_debug.txt
> > > and
> > >     /home/john/linuxcnc_print.txt
> > > as well as in the output of the shell command 'dmesg' and in the terminal
> > > john@LinuxCNC-G3616:~$
> > _______________________________________________
> > Emc-users mailing list
> > Emc-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/emc-users
> >
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users
LINUXCNC - 2.9.4
Machine configuration directory is '/home/john/linuxcnc/configs/G3616-MESA-7i92'
Machine configuration file is 'G3616-MESA-7i92.ini.expanded'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(REL): ./G3616-MESA-7i92.hal
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 192.168.1.121: INFO: Hardware address (MAC): 00:60:1b:12:07:93
hm2_eth: discovered 7I92
hm2/hm2_7i92.0: Low Level init 0.15
hm2/hm2_7i92.0: 34 I/O Pins used:
hm2/hm2_7i92.0:     IO Pin 000 (P2-01): IOPort
hm2/hm2_7i92.0:     IO Pin 001 (P2-14): StepGen #5, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 002 (P2-02): StepGen #0, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 003 (P2-15): IOPort
hm2/hm2_7i92.0:     IO Pin 004 (P2-03): StepGen #0, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 005 (P2-16): StepGen #5, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 006 (P2-04): StepGen #1, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 007 (P2-17): StepGen #4, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 008 (P2-05): StepGen #1, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 009 (P2-06): StepGen #2, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 010 (P2-07): StepGen #2, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 011 (P2-08): StepGen #3, pin Step (Output)
hm2/hm2_7i92.0:     IO Pin 012 (P2-09): StepGen #3, pin Direction (Output)
hm2/hm2_7i92.0:     IO Pin 013 (P2-10): IOPort
hm2/hm2_7i92.0:     IO Pin 014 (P2-11): Encoder #0, pin A (Input)
hm2/hm2_7i92.0:     IO Pin 015 (P2-12): Encoder #0, pin B (Input)
hm2/hm2_7i92.0:     IO Pin 016 (P2-13): Encoder #0, pin Index (Input)
hm2/hm2_7i92.0:     IO Pin 017 (P1-01): IOPort
hm2/hm2_7i92.0:     IO Pin 018 (P1-14): IOPort
hm2/hm2_7i92.0:     IO Pin 019 (P1-02): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i92.0:     IO Pin 020 (P1-15): IOPort
hm2/hm2_7i92.0:     IO Pin 021 (P1-03): IOPort
hm2/hm2_7i92.0:     IO Pin 022 (P1-16): IOPort
hm2/hm2_7i92.0:     IO Pin 023 (P1-04): IOPort
hm2/hm2_7i92.0:     IO Pin 024 (P1-17): IOPort
hm2/hm2_7i92.0:     IO Pin 025 (P1-05): IOPort
hm2/hm2_7i92.0:     IO Pin 026 (P1-06): IOPort
hm2/hm2_7i92.0:     IO Pin 027 (P1-07): IOPort
hm2/hm2_7i92.0:     IO Pin 028 (P1-08): IOPort
hm2/hm2_7i92.0:     IO Pin 029 (P1-09): IOPort
hm2/hm2_7i92.0:     IO Pin 030 (P1-10): IOPort
hm2/hm2_7i92.0:     IO Pin 031 (P1-11): Encoder #1, pin A (Input)
hm2/hm2_7i92.0:     IO Pin 032 (P1-12): Encoder #1, pin B (Input)
hm2/hm2_7i92.0:     IO Pin 033 (P1-13): Encoder #1, pin Index (Input)
hm2/hm2_7i92.0: registered
Found file(REL): ./custom.hal
Found file(LIB): /usr/share/linuxcnc/hallib/xhc-hb04.tcl
xhc-hb04: waiting for XHC-HB04 device
xhc-hb04: found XHC-HB04 device
xhc-hb04.tcl: using std_start_pause_button
xhc-hb04.tcl: Using existing outpin signame: spindle-vel-cmd-rps-abs
APP: xset found: </usr/bin/xset>
initialize: module 
'/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py' init failed: 
Traceback (most recent call last):

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py", line 
19, in <module>
    import remap

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/remap.py", line 
19, in <module>
    from stdglue import *

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/stdglue.py", line 
28

    except Exception,e:

           ^^^^^^^^^^^

SyntaxError: multiple exception types must be parenthesized

Interp ctor: can't instantiate Python plugin
initialize: module 
'/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py' init failed: 
Traceback (most recent call last):

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py", line 
19, in <module>
    import remap

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/remap.py", line 
19, in <module>
    from stdglue import *

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/stdglue.py", line 
28

    except Exception,e:

           ^^^^^^^^^^^

SyntaxError: multiple exception types must be parenthesized

Python plugin configure() failed, status = -11
note: MAXV     max: 3.000 units/sec 180.000 units/min
note: LJOG     max: 3.000 units/sec 180.000 units/min
note: LJOG default: 1.000 units/sec 60.000 units/min
note: AJOG     max: 180.000 units/sec 10800.000 units/min
note: AJOG default: 90.000 units/sec 5400.000 units/min
note: jog_order='XYZA'
note: jog_invert=set()
initialize: module 
'/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py' init failed: 
Traceback (most recent call last):

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/python/toplevel.py", line 
19, in <module>
    import remap

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/remap.py", line 
19, in <module>
    from stdglue import *

  File "/home/john/linuxcnc/configs/G3616-MESA-7i92/./python/stdglue.py", line 
28

    except Exception,e:

           ^^^^^^^^^^^

SyntaxError: multiple exception types must be parenthesized

Python plugin configure() failed, status = -11
 Current coordinate system is 1.000000 identified as 540.000000
 Workspace_Z is -4.843043
 Old Tool 0.000000 New tool 0.000000 
 No Tool Selected so remove offset
[GladeVCP][INFO]  Logging to: /home/john/gladevcp.log (logger.py:106)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  Missing [DISPLAY] ANGULAR_INCREMENTS- using 
defaults. (qt_istat.py:317)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No 
DEFAULT_SPINDLE_0_SPEED Entry in DISPLAY, Using: 200 (qt_istat.py:532)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MIN_SPINDLE_0_SPEED 
Entry in DISPLAY, Using: 100 (qt_istat.py:532)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No MAX_SPINDLE_0_SPEED 
Entry in DISPLAY, Using: 2500 (qt_istat.py:532)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No 
MAX_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 1 (qt_istat.py:532)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  INI Parsing Error, No 
MIN_SPINDLE_0_OVERRIDE Entry in DISPLAY, Using: 0.5 (qt_istat.py:532)
[GladeVCP.QTVCP.QT_ISTAT][WARNING]  Embedded tab configuration -invalid number 
of TAB_NAMES vs TAB_LOCATION - guessing default. (qt_istat.py:446)
module 'python' skipped - import error: No module named 'pango'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_chk_use_tool_measurement_toggled not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_block_height_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_block_height_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_setter_height_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_setter_height_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_probe_workpiece_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_probe_tool_setter_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_ly_in_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_lx_in_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_ly_out_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_lx_out_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_tool_dia_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_probe_table_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_chk_set_zero_toggled not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_set_z_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_set_y_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_set_x_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_z_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_z_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_y_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_y_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_x_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_x_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_set_angle_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_angle_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn_offs_angle_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_chk_auto_rott_toggled not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_angle_ym_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_angle_xm_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_angle_yp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_angle_xp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_pressed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_btn_jog_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xmyp1_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_yp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xpyp1_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xy_hole_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xm_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xmym1_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_ym_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xpym1_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_z_clearance_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_z_clearance_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_latch_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_latch_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_edge_length_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_edge_length_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_xy_clearance_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_xy_clearance_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_diam_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_diam_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_max_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_max_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_vel_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_probe_vel_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_search_vel_key_press_event not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_spbtn1_search_vel_value_changed not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xy_center_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xm_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xmym_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_ym_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xpym_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xpyp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_xmyp_released not found
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gi/overrides/Gtk.py", line 85, in 
_builder_connect_callback
    handler, args = _extract_handler_and_args(obj_or_map, handler_name)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/gi/_gtktemplate.py", line 34, in 
_extract_handler_and_args
    raise AttributeError('Handler %s not found' % handler_name)
AttributeError: Handler on_yp_released not found
58720259

# stdglue - canned prolog and epilog functions for the remappable builtin codes 
(T,M6,M61,S,F)
#
# we dont use argspec to avoid the generic error message of the argspec prolog 
and give more
# concise ones here

# cycle_prolog,cycle_epilog: generic code-independent support glue for oword 
sub cycles
#
# these are provided as starting point - for more concise error message you 
would better
# write a prolog specific for the code
#
# Usage:
#REMAP=G84.3  modalgroup=1 argspec=xyzqp prolog=cycle_prolog ngc=g843 
epilog=cycle_epilog

import emccanon 
from interpreter import *
throw_exceptions = 1

# REMAP=S   prolog=setspeed_prolog  ngc=setspeed epilog=setspeed_epilog
# exposed parameter: #<speed>

def setspeed_prolog(self,**words):
    try:
        c = self.blocks[self.remap_level]
        if not c.s_flag:
            self.set_errormsg("S requires a value") 
            return INTERP_ERROR
        self.params["speed"] = c.s_number
    except Exception,e:
        self.set_errormsg("S/setspeed_prolog: %s)" % (e))
        return INTERP_ERROR
    return INTERP_OK

def setspeed_epilog(self,**words):
    try:
        if not self.value_returned:
            r = self.blocks[self.remap_level].executing_remap
            self.set_errormsg("the %s remap procedure %s did not return a value"
                             % (r.name,r.remap_ngc if r.remap_ngc else 
r.remap_py))
            return INTERP_ERROR
        if self.return_value < -TOLERANCE_EQUAL: # 'less than 0 within interp's 
precision'
            self.set_errormsg("S: remap procedure returned %f" % 
(self.return_value)) 
            return INTERP_ERROR
        if self.blocks[self.remap_level].builtin_used:
            pass
            #print "---------- S builtin recursion, nothing to do"
        else:
            self.speed = self.params["speed"]
            emccanon.enqueue_SET_SPINDLE_SPEED(self.speed)
        return INTERP_OK
    except Exception,e:
        self.set_errormsg("S/setspeed_epilog: %s)" % (e))
        return INTERP_ERROR
    return INTERP_OK    

# REMAP=F   prolog=setfeed_prolog  ngc=setfeed epilog=setfeed_epilog
# exposed parameter: #<feed>

def setfeed_prolog(self,**words):
    try:
        c = self.blocks[self.remap_level]
        if not c.f_flag:
            self.set_errormsg("F requires a value") 
            return INTERP_ERROR
        self.params["feed"] = c.f_number
    except Exception,e:
        self.set_errormsg("F/setfeed_prolog: %s)" % (e))
        return INTERP_ERROR
    return INTERP_OK    

def setfeed_epilog(self,**words):
    try:
        if not self.value_returned:
            r = self.blocks[self.remap_level].executing_remap
            self.set_errormsg("the %s remap procedure %s did not return a value"
                             % (r.name,r.remap_ngc if r.remap_ngc else 
r.remap_py))
            return INTERP_ERROR
        if self.blocks[self.remap_level].builtin_used:
            pass
            #print "---------- F builtin recursion, nothing to do"
        else:
            self.feed_rate = self.params["feed"]
            emccanon.enqueue_SET_FEED_RATE(self.feed_rate)
        return INTERP_OK
    except Exception,e:
        self.set_errormsg("F/setfeed_epilog: %s)" % (e))
        return INTERP_ERROR
    return INTERP_OK    

# REMAP=T   prolog=prepare_prolog ngc=prepare epilog=prepare_epilog
# exposed parameters: #<tool> #<pocket>

def prepare_prolog(self,**words):
    try:
        cblock = self.blocks[self.remap_level]
        if not cblock.t_flag:
            self.set_errormsg("T requires a tool number")
            return INTERP_ERROR
        tool  = cblock.t_number
        if tool:
            (status, pocket) = self.find_tool_pocket(tool)
            if status != INTERP_OK:
                self.set_errormsg("T%d: pocket not found" % (tool))
                return status
        else:
            pocket = -1 # this is a T0 - tool unload
        self.params["tool"] = tool
        self.params["pocket"] = pocket
        return INTERP_OK
    except Exception, e:
        self.set_errormsg("T%d/prepare_prolog: %s" % (int(words['t']), e))
        return INTERP_ERROR

def prepare_epilog(self, **words):
    try:
        if not self.value_returned:
            r = self.blocks[self.remap_level].executing_remap
            self.set_errormsg("the %s remap procedure %s did not return a value"
                             % (r.name,r.remap_ngc if r.remap_ngc else 
r.remap_py))
            return INTERP_ERROR
        if self.blocks[self.remap_level].builtin_used:
            #print "---------- T builtin recursion, nothing to do"
            return INTERP_OK
        else:
            if self.return_value > 0:
                self.selected_tool = int(self.params["tool"])
                self.selected_pocket = int(self.params["pocket"])
                emccanon.SELECT_TOOL(self.selected_tool)
                return INTERP_OK
            else:
                self.set_errormsg("T%d: aborted (return code %.1f)" % 
(int(self.params["tool"]),self.return_value))
                return INTERP_ERROR
    except Exception, e:
        self.set_errormsg("T%d/prepare_epilog: %s" % (tool,e))
        return INTERP_ERROR       

# REMAP=M6  modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
# exposed parameters:
#    #<tool_in_spindle>
#    #<selected_tool>
#    #<current_pocket>
#    #<selected_pocket>

def change_prolog(self, **words):
    try:
        # this is relevant only when using iocontrol-v2.
        if self.params[5600] > 0.0:
            if self.params[5601] < 0.0:
                self.set_errormsg("Toolchanger hard fault %d" % 
(int(self.params[5601])))
                return INTERP_ERROR
            print "change_prolog: Toolchanger soft fault %d" % 
int(self.params[5601])

        if self.selected_pocket < 0:
            self.set_errormsg("M6: no tool prepared")
            return INTERP_ERROR
        if self.cutter_comp_side:
            self.set_errormsg("Cannot change tools with cutter radius 
compensation on")
            return INTERP_ERROR
        self.params["tool_in_spindle"] = self.current_tool
        self.params["selected_tool"] = self.selected_tool
        self.params["current_pocket"] = self.current_pocket
        self.params["selected_pocket"] = self.selected_pocket
        return INTERP_OK
    except Exception, e:
        self.set_errormsg("M6/change_prolog: %s" % (e))
        return INTERP_ERROR

def change_epilog(self, **words):
    try:
        if not self.value_returned:
            r = self.blocks[self.remap_level].executing_remap
            self.set_errormsg("the %s remap procedure %s did not return a value"
                             % (r.name,r.remap_ngc if r.remap_ngc else 
r.remap_py))
            yield INTERP_ERROR
        # this is relevant only when using iocontrol-v2.
        if self.params[5600] > 0.0:
            if self.params[5601] < 0.0:
                self.set_errormsg("Toolchanger hard fault %d" % 
(int(self.params[5601])))
                yield INTERP_ERROR
            print "change_epilog: Toolchanger soft fault %d" % 
int(self.params[5601])

        if self.blocks[self.remap_level].builtin_used:
            #print "---------- M6 builtin recursion, nothing to do"
            yield INTERP_OK
        else:
            if self.return_value > 0.0:
                # commit change
                self.selected_pocket =  int(self.params["selected_pocket"])
                emccanon.CHANGE_TOOL(self.selected_pocket)
                self.current_pocket = self.selected_pocket
                self.selected_pocket = -1
                self.selected_tool = -1
                # cause a sync()
                self.set_tool_parameters()
                self.toolchange_flag = True
                yield INTERP_EXECUTE_FINISH
            else:
                self.set_errormsg("M6 aborted (return code %.1f)" % 
(self.return_value))
                yield INTERP_ERROR
    except Exception, e:
        self.set_errormsg("M6/change_epilog: %s" % (e))
        yield INTERP_ERROR

# REMAP=M61  modalgroup=6 prolog=settool_prolog ngc=settool 
epilog=settool_epilog
# exposed parameters: #<tool> #<pocket>

def settool_prolog(self,**words):
    try:
        c = self.blocks[self.remap_level]
        if not c.q_flag:
            self.set_errormsg("M61 requires a Q parameter") 
            return INTERP_ERROR
        tool = int(c.q_number)
        if tool < -TOLERANCE_EQUAL: # 'less than 0 within interp's precision'
            self.set_errormsg("M61: Q value < 0") 
            return INTERP_ERROR
        (status,pocket) = self.find_tool_pocket(tool)
        if status != INTERP_OK:
            self.set_errormsg("M61 failed: requested tool %d not in table" % 
(tool))
            return status
        self.params["tool"] = tool
        self.params["pocket"] = pocket
        return INTERP_OK
    except Exception,e:
        self.set_errormsg("M61/settool_prolog: %s)" % (e))
        return INTERP_ERROR

def settool_epilog(self,**words):
    try:
        if not self.value_returned:
            r = self.blocks[self.remap_level].executing_remap
            self.set_errormsg("the %s remap procedure %s did not return a value"
                             % (r.name,r.remap_ngc if r.remap_ngc else 
r.remap_py))
            return INTERP_ERROR

        if self.blocks[self.remap_level].builtin_used:
            #print "---------- M61 builtin recursion, nothing to do"
            return INTERP_OK
        else:
            if self.return_value > 0.0:
                self.current_tool = int(self.params["tool"])
                self.current_pocket = int(self.params["pocket"])
                emccanon.CHANGE_TOOL_NUMBER(self.current_pocket)
                # cause a sync()
                self.tool_change_flag = True
                self.set_tool_parameters()
            else:
                self.set_errormsg("M61 aborted (return code %.1f)" % 
(self.return_value))
                return INTERP_ERROR
    except Exception,e:
        self.set_errormsg("M61/settool_epilog: %s)" % (e))
        return INTERP_ERROR

# educational alternative: M61 remapped to an all-Python handler
# demo - this really does the same thing as the builtin (non-remapped) M61
#
# REMAP=M61 modalgroup=6 python=set_tool_number

def set_tool_number(self, **words):
    try:
        c = self.blocks[self.remap_level]
        if c.q_flag:
            toolno = int(c.q_number)
        else:
            self.set_errormsg("M61 requires a Q parameter")
            return status 
        (status,pocket) = self.find_tool_pocket(toolno)
        if status != INTERP_OK:
            self.set_errormsg("M61 failed: requested tool %d not in table" % 
(toolno))
            return status
        if words['q'] > -TOLERANCE_EQUAL: # 'greater equal 0 within interp's 
precision'
            self.current_pocket = pocket
            self.current_tool = toolno
            emccanon.CHANGE_TOOL_NUMBER(pocket)
            # cause a sync()
            self.tool_change_flag = True
            self.set_tool_parameters()
            return INTERP_OK
        else:
            self.set_errormsg("M61 failed: Q=%4" % (toolno))
            return INTERP_ERROR
    except Exception, e:
        self.set_errormsg("M61/set_tool_number: %s" % (e))
        return INTERP_ERROR

_uvw = ("u","v","w","a","b","c")
_xyz = ("x","y","z","a","b","c")
# given a plane, return  sticky words, incompatible axis words and plane name
# sticky[0] is also the movement axis
_compat = {
    emccanon.CANON_PLANE_XY : (("z","r"),_uvw,"XY"),
    emccanon.CANON_PLANE_YZ : (("x","r"),_uvw,"YZ"),
    emccanon.CANON_PLANE_XZ : (("y","r"),_uvw,"XZ"),
    emccanon.CANON_PLANE_UV : (("w","r"),_xyz,"UV"),
    emccanon.CANON_PLANE_VW : (("u","r"),_xyz,"VW"),
    emccanon.CANON_PLANE_UW : (("v","r"),_xyz,"UW")}           

# extract and pass parameters from current block, merged with extra parameters 
on a continuation line
# keep tjose parameters across invocations
# export the parameters into the oword procedure
def cycle_prolog(self,**words):
    # self.sticky_params is assumed to have been initialized by the
    # init_stgdlue() method below
    global _compat
    try:    
        # determine whether this is the first or a subsequent call
        c = self.blocks[self.remap_level]
        r = c.executing_remap
        if c.g_modes[1] == r.motion_code:
            # first call - clear the sticky dict
            self.sticky_params[r.name] = dict()

        self.params["motion_code"] = c.g_modes[1]

        (sw,incompat,plane_name) =_compat[self.plane]
        for (word,value) in words.items():
            # inject current parameters
            self.params[word] = value
            # record sticky words
            if word in sw:
                if self.debugmask & 0x00080000: print "%s: record sticky %s = 
%.4f" % (r.name,word,value)
                self.sticky_params[r.name][word] = value
            if word in incompat:
                return "%s: Cannot put a %s in a canned cycle in the %s plane" 
% (r.name, word.upper(), plane_name)

        # inject sticky parameters which were not in words:
        for (key,value) in self.sticky_params[r.name].items():
            if not key in words:
                if self.debugmask & 0x00080000: print "%s: inject sticky %s = 
%.4f" % (r.name,key,value)
                self.params[key] = value

        if not "r" in self.sticky_params[r.name]:
            return "%s: cycle requires R word" % (r.name)
        else:
            if self.sticky_params[r.name] <= 0.0:
                return "%s: R word must be > 0 if used (%.4f)" % (r.name, 
words["r"])

        if "l" in words:
            # checked in interpreter during block parsing
            # if l <= 0 or l not near an int
            self.params["l"] = words["l"]
            
        if "p" in words:
            p = words["p"]
            if p < 0.0:
                return "%s: P word must be >= 0 if used (%.4f)" % (r.name, p)
            self.params["p"] = p

        if self.feed_rate == 0.0:
            return "%s: feed rate must be > 0" % (r.name)
        if self.feed_mode == INVERSE_TIME:
            return "%s: Cannot use inverse time feed with canned cycles" % 
(r.name)
        if self.cutter_comp_side:
            return "%s: Cannot use canned cycles with cutter compensation on" % 
(r.name)
        return INTERP_OK

    except Exception, e:
        raise
        return "cycle_prolog failed: %s" % (e)

# make sure the next line has the same motion code, unless overriden by a
# new G code
def cycle_epilog(self,**words):
    try:
        c = self.blocks[self.remap_level]
        self.motion_mode = c.executing_remap.motion_code # retain the current 
motion mode
        return INTERP_OK
    except Exception, e:
        return "cycle_epilog failed: %s" % (e)

# this should be called from TOPLEVEL __init__()
def init_stdglue(self):
    self.sticky_params = dict()
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to