I can seem to get past this error when setting up lathe macros on my lathe.
I copied all the files from V2.0 into the same dir as my .ini file. Edited the ini file, added lines
EMBED_TAB_COMMAND=halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} -g 300x200+0+0 lathemacro.ui
Glade is installed and gladevcp widgets can be seen in glade. version is 3.8.6
Code:
linuxcnc@linuxcnc:~/linuxcnc/configs/CTX400E with macros$ halcmd sets spindle-engage 0
<commandline>:0: signal 'spindle-engage' not found
linuxcnc@linuxcnc:~/linuxcnc/configs/CTX400E with macros$ linuxcnc CTX400E.ini
LINUXCNC - 2.8.3
/usr/bin/linuxcnc: line 290: cd: $'/home/linuxcnc/linuxcnc/configs\n.\nmacros': No such file or directory
Machine configuration directory is '/home/linuxcnc/linuxcnc/configs/CTX400E with macros'
Machine configuration file is 'CTX400E.ini'
Starting LinuxCNC...
Found file(REL): ./CTX400E.hal
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: INFO: Hardware address (MAC): 00:60:1b:10:00:51
hm2_eth: discovered 7I80DB-16
hm2/hm2_7i80.0: Low Level init 0.15
hm2/hm2_7i80.0: Smart Serial Firmware Version 43
Board hm2_7i80.0.7i77.0.0 Hardware Mode 0 = standard
Board hm2_7i80.0.7i77.0.0 Software Mode 0 = input_output
Board hm2_7i80.0.7i77.0.0 Software Mode 1 = io_analog
Board hm2_7i80.0.7i77.0.0 Software Mode 2 = io_analog_fieldvoltage
Board hm2_7i80.0.7i77.0.0 Software Mode 3 = io_encoder_analog_fieldvoltage
Board hm2_7i80.0.7i77.0.1 Hardware Mode 0 = standard
Board hm2_7i80.0.7i77.0.1 Software Mode 0 = analogout_enables
Board hm2_7i80.0.7i71.0.2 Hardware Mode 0 = standard
Board hm2_7i80.0.7i71.0.2 Software Mode 0 = output_only
Board hm2_7i80.0.7i71.0.2 Software Mode 1 = output_fieldvoltage
Waiting for component 'hm2_eth' to become ready...hm2/hm2_7i80.0: Smart Serial Firmware Version 43
.Board hm2_7i80.0.7i70.1.0 Hardware Mode 0 = standard
Board hm2_7i80.0.7i70.1.0 Software Mode 0 = input_only
Board hm2_7i80.0.7i70.1.0 Software Mode 1 = input_analog
.Board hm2_7i80.0.7i70.1.0 Software Mode 2 = input_fieldvoltage
....hm2/hm2_7i80.0: 68 I/O Pins used:
hm2/hm2_7i80.0: IO Pin 000 (J2-01): Smart Serial Interface #0, pin txen2 (Output)
hm2/hm2_7i80.0: IO Pin 001 (J2-14): Smart Serial Interface #0, pin tx2 (Output)
hm2/hm2_7i80.0: IO Pin 002 (J2-02): Smart Serial Interface #0, pin rx2 (Input)
hm2/hm2_7i80.0: IO Pin 003 (J2-15): Smart Serial Interface #0, pin tx1 (Output)
hm2/hm2_7i80.0: IO Pin 004 (J2-03): Smart Serial Interface #0, pin rx1 (Input)
hm2/hm2_7i80.0: IO Pin 005 (J2-16): Smart Serial Interface #0, pin tx0 (Output)
hm2/hm2_7i80.0: IO Pin 006 (J2-04): Smart Serial Interface #0, pin rx0 (Input)
hm2/hm2_7i80.0: IO Pin 007 (J2-17): Muxed Encoder Select #0, pin Mux Select 0 (Output)
hm2/hm2_7i80.0: IO Pin 008 (J2-05): Muxed Encoder #0, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 009 (J2-06): Muxed Encoder #0, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 010 (J2-07): Muxed Encoder #0, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 011 (J2-08): Muxed Encoder #1, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 012 (J2-09): Muxed Encoder #1, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 013 (J2-10): Muxed Encoder #1, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 014 (J2-11): Muxed Encoder #2, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 015 (J2-12): Muxed Encoder #2, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 016 (J2-13): Muxed Encoder #2, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 017 (J3-01): IOPort
hm2/hm2_7i80.0: IO Pin 018 (J3-14): IOPort
hm2/hm2_7i80.0: IO Pin 019 (J3-02): IOPort
hm2/hm2_7i80.0: IO Pin 020 (J3-15): IOPort
hm2/hm2_7i80.0: IO Pin 021 (J3-03): IOPort
hm2/hm2_7i80.0: IO Pin 022 (J3-16): IOPort
hm2/hm2_7i80.0: IO Pin 023 (J3-04): IOPort
hm2/hm2_7i80.0: IO Pin 024 (J3-17): IOPort
hm2/hm2_7i80.0: IO Pin 025 (J3-05): IOPort
hm2/hm2_7i80.0: IO Pin 026 (J3-06): IOPort
hm2/hm2_7i80.0: IO Pin 027 (J3-07): Muxed Encoder Select #6, pin Mux Select 0 (Output)
hm2/hm2_7i80.0: IO Pin 028 (J3-08): Muxed Encoder #3, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 029 (J3-09): Muxed Encoder #3, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 030 (J3-10): Muxed Encoder #3, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 031 (J3-11): Muxed Encoder #4, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 032 (J3-12): Muxed Encoder #4, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 033 (J3-13): Muxed Encoder #4, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 034 (J4-01): StepGen #0, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 035 (J4-14): StepGen #0, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 036 (J4-02): StepGen #1, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 037 (J4-15): StepGen #1, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 038 (J4-03): StepGen #2, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 039 (J4-16): StepGen #2, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 040 (J4-04): StepGen #3, pin Direction (Output)
hm2/hm2_7i80.0: IO Pin 041 (J4-17): StepGen #3, pin Step (Output)
hm2/hm2_7i80.0: IO Pin 042 (J4-05): IOPort
hm2/hm2_7i80.0: IO Pin 043 (J4-06): IOPort
hm2/hm2_7i80.0: IO Pin 044 (J4-07): IOPort
hm2/hm2_7i80.0: IO Pin 045 (J4-08): Smart Serial Interface #1, pin tx0 (Output)
hm2/hm2_7i80.0: IO Pin 046 (J4-09): Smart Serial Interface #1, pin txen0 (Output)
hm2/hm2_7i80.0: IO Pin 047 (J4-10): Smart Serial Interface #1, pin rx0 (Input)
hm2/hm2_7i80.0: IO Pin 048 (J4-11): Muxed Encoder #5, pin Muxed Index (Input)
hm2/hm2_7i80.0: IO Pin 049 (J4-12): Muxed Encoder #5, pin Muxed B (Input)
hm2/hm2_7i80.0: IO Pin 050 (J4-13): Muxed Encoder #5, pin Muxed A (Input)
hm2/hm2_7i80.0: IO Pin 051 (J5-01): IOPort
hm2/hm2_7i80.0: IO Pin 052 (J5-14): IOPort
hm2/hm2_7i80.0: IO Pin 053 (J5-02): IOPort
hm2/hm2_7i80.0: IO Pin 054 (J5-15): IOPort
hm2/hm2_7i80.0: IO Pin 055 (J5-03): IOPort
hm2/hm2_7i80.0: IO Pin 056 (J5-16): IOPort
hm2/hm2_7i80.0: IO Pin 057 (J5-04): IOPort
hm2/hm2_7i80.0: IO Pin 058 (J5-17): IOPort
hm2/hm2_7i80.0: IO Pin 059 (J5-05): IOPort
hm2/hm2_7i80.0: IO Pin 060 (J5-06): IOPort
hm2/hm2_7i80.0: IO Pin 061 (J5-07): IOPort
hm2/hm2_7i80.0: IO Pin 062 (J5-08): IOPort
hm2/hm2_7i80.0: IO Pin 063 (J5-09): IOPort
hm2/hm2_7i80.0: IO Pin 064 (J5-10): IOPort
hm2/hm2_7i80.0: IO Pin 065 (J5-11): IOPort
hm2/hm2_7i80.0: IO Pin 066 (J5-12): IOPort
hm2/hm2_7i80.0: IO Pin 067 (J5-13): IOPort
hm2/hm2_7i80.0: registered
creating ladder-state
Found file(REL): ./custom.hal
INFO CLASSICLADDER- No ladder GUI requested-Realtime runs till HAL closes.
Found file(REL): ./atc-spindle2.hal
Found file(REL): ./c0-spindle-vel.hal
Found file(REL): ./c1-spindle-vel.hal
Found file(REL): ./hydraulics-and-io.hal
Found file(REL): ./CTX400E-panel.hal
note: MAXV max: 167.000 units/sec 10020.000 units/min
note: LJOG max: 167.000 units/sec 10020.000 units/min
note: LJOG default: 100.000 units/sec 6000.000 units/min
note: AJOG max: 180.000 units/sec 10800.000 units/min
note: AJOG default: 50.000 units/sec 3000.000 units/min
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
waiting for s.joints<0>, s.kinematics_type<0>
interp __init__ 1 7011
note: jog_order='ZXCW'
note: jog_invert=set([])
interp __init__ 0 7014
/usr/bin/gladevcp:191: GtkWarning: Attempting to add a widget with type GtkImage to a GtkButton, but as a GtkBin subclass a GtkButton can only contain one widget at a time; it already contains a widget of type GtkLabel
builder.add_from_file(xmlname)
HAL: ERROR: insufficient memory for pin 'gladevcp.chamfer.sf-f'
Traceback (most recent call last):
File "/usr/bin/gladevcp", line 347, in <module>
main()
File "/usr/bin/gladevcp", line 213, in main
panel = gladevcp.makepins.GladePanel( halcomp, xmlname, builder, None)
File "/usr/lib/python2.7/dist-packages/gladevcp/makepins.py", line 52, in __init__
widget.hal_init(self.hal, idname, self)
File "/usr/lib/python2.7/dist-packages/gladevcp/hal_widgets.py", line 28, in hal_init
self._hal_init()
File "/usr/lib/python2.7/dist-packages/gladevcp/hal_widgets.py", line 219, in _hal_init
self.hal_pin_f = self.hal.newpin(self.hal_name+"-f", hal.HAL_FLOAT, hal.HAL_OUT)
File "/usr/lib/python2.7/dist-packages/hal_glib.py", line 72, in newpin
def newpin(self, *a, **kw): return GPin(_hal.component.newpin(self.comp, *a, **kw))
hal.error: Cannot allocate memory
<commandline>:0: waitpid failed gladevcp gladevcp
<commandline>:0: gladevcp exited without becoming ready
Embeded tab command "halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x 48234924 -g 300x200+0+0 lathemacro.ui" exited with error: 1
Shutting down and cleaning up LinuxCNC...
Running HAL shutdown script
task: 106 cycles, min=0.000037, max=0.037753, avg=0.007759, 0 latency excursions (> 10x expected cycle time of 0.010000s)
interp __delete__ 1 7011
hm2_eth: in hm2_eth_reset
hm2_eth: HostMot2 ethernet driver unloaded
hm2: unloading
Note: Using POSIX realtime
LinuxCNC terminated with an error. You can find more information in the log:
/home/linuxcnc/linuxcnc_debug.txt
and
/home/linuxcnc/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
linuxcnc@linuxcnc:~/linuxcnc/configs/CTX400E with macros$