Smart Serial not working in pathpilot

More
14 Apr 2016 07:57 #73278 by KevinCT
Smart Serial not working in pathpilot was created by KevinCT
Hello all this is my first post here,
I am trying to get pathpilot working with the mesa 6i25-7i76, I have a pc setup with two drives one with PP installed the other with linuxcnc2.7. I have the SS IO working in Linuxcnc Clicking relays and triggering inputs, works great.

I have followed the tutorials on PP on non Tormach machines but I cannot get the SS IO to work.

I have attached the dmesg ouputs from both the working linuxcnc and PP, also the slightly modified HAL I am using in PP

Linuxcnc 2.7
kevin@debian:~$ dmesg |grep hm2
[ 2471.167047] hm2: loading Mesa HostMot2 driver version 0.15
[ 2471.174785] hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
[ 2471.174848] hm2_pci: discovered 5i25 at 0000:02:00.0
[ 2471.175252] hm2/hm2_5i25.0: Smart Serial Firmware Version 43
[ 2471.232336] Board hm2_5i25.0.7i76.0.0 Hardware Mode 0 = standard
[ 2471.234498] Board hm2_5i25.0.7i76.0.0 Software Mode 0 = io_spin
[ 2471.237343] Board hm2_5i25.0.7i76.0.0 Software Mode 1 = io_ana_spin
[ 2471.241113] Board hm2_5i25.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
[ 2471.389446] hm2/hm2_5i25.0: 34 I/O Pins used:
[ 2471.389455] hm2/hm2_5i25.0:     IO Pin 000 (P3-01): StepGen #0, pin Direction (Output)
[ 2471.389460] hm2/hm2_5i25.0:     IO Pin 001 (P3-14): StepGen #0, pin Step (Output)
[ 2471.389464] hm2/hm2_5i25.0:     IO Pin 002 (P3-02): StepGen #1, pin Direction (Output)
[ 2471.389469] hm2/hm2_5i25.0:     IO Pin 003 (P3-15): StepGen #1, pin Step (Output)
[ 2471.389473] hm2/hm2_5i25.0:     IO Pin 004 (P3-03): StepGen #2, pin Direction (Output)
[ 2471.389477] hm2/hm2_5i25.0:     IO Pin 005 (P3-16): StepGen #2, pin Step (Output)
[ 2471.389481] hm2/hm2_5i25.0:     IO Pin 006 (P3-04): StepGen #3, pin Direction (Output)
[ 2471.389485] hm2/hm2_5i25.0:     IO Pin 007 (P3-17): StepGen #3, pin Step (Output)
[ 2471.389489] hm2/hm2_5i25.0:     IO Pin 008 (P3-05): StepGen #4, pin Direction (Output)
[ 2471.389493] hm2/hm2_5i25.0:     IO Pin 009 (P3-06): StepGen #4, pin Step (Output)
[ 2471.389498] hm2/hm2_5i25.0:     IO Pin 010 (P3-07): Smart Serial Interface #0, pin TxData0 (Output)
[ 2471.389502] hm2/hm2_5i25.0:     IO Pin 011 (P3-08): Smart Serial Interface #0, pin RxData0 (Input)
[ 2471.389506] hm2/hm2_5i25.0:     IO Pin 012 (P3-09): IOPort
[ 2471.389510] hm2/hm2_5i25.0:     IO Pin 013 (P3-10): IOPort
[ 2471.389513] hm2/hm2_5i25.0:     IO Pin 014 (P3-11): Encoder #0, pin Index (Input)
[ 2471.389517] hm2/hm2_5i25.0:     IO Pin 015 (P3-12): Encoder #0, pin B (Input)
[ 2471.389521] hm2/hm2_5i25.0:     IO Pin 016 (P3-13): Encoder #0, pin A (Input)
[ 2471.389525] hm2/hm2_5i25.0:     IO Pin 017 (P2-01): IOPort
[ 2471.389528] hm2/hm2_5i25.0:     IO Pin 018 (P2-14): IOPort
[ 2471.389531] hm2/hm2_5i25.0:     IO Pin 019 (P2-02): IOPort
[ 2471.389534] hm2/hm2_5i25.0:     IO Pin 020 (P2-15): IOPort
[ 2471.389537] hm2/hm2_5i25.0:     IO Pin 021 (P2-03): IOPort
[ 2471.389541] hm2/hm2_5i25.0:     IO Pin 022 (P2-16): IOPort
[ 2471.389544] hm2/hm2_5i25.0:     IO Pin 023 (P2-04): IOPort
[ 2471.389547] hm2/hm2_5i25.0:     IO Pin 024 (P2-17): IOPort
[ 2471.389550] hm2/hm2_5i25.0:     IO Pin 025 (P2-05): IOPort
[ 2471.389553] hm2/hm2_5i25.0:     IO Pin 026 (P2-06): IOPort
[ 2471.389556] hm2/hm2_5i25.0:     IO Pin 027 (P2-07): IOPort
[ 2471.389559] hm2/hm2_5i25.0:     IO Pin 028 (P2-08): IOPort
[ 2471.389562] hm2/hm2_5i25.0:     IO Pin 029 (P2-09): IOPort
[ 2471.389565] hm2/hm2_5i25.0:     IO Pin 030 (P2-10): IOPort
[ 2471.389568] hm2/hm2_5i25.0:     IO Pin 031 (P2-11): IOPort
[ 2471.389571] hm2/hm2_5i25.0:     IO Pin 032 (P2-12): IOPort
[ 2471.389574] hm2/hm2_5i25.0:     IO Pin 033 (P2-13): IOPort
[ 2471.389714] hm2/hm2_5i25.0: registered
[ 2471.389718] hm2_5i25.0: initialized AnyIO board at 0000:02:00.0
kevin@debian:~$ 
Pathpilot
operator@tormachpcnc:~$ dmesg |grep hm2
[   77.626216] hm2: loading Mesa HostMot2 driver version 0.15
[   77.629101] hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
[   77.629149] hm2_pci 0000:02:00.0: PCI INT A -> GSI 24 (level, low) -> IRQ 24
[   77.629154] hm2_pci: discovered 5i25 at 0000:02:00.0
[   77.629597] hm2/hm2_5i25.0: Smart Serial Firmware Version 43
[   77.686598] Board hm2_5i25.0.7i76.0.0 Hardware Mode 0 = standard
[   77.688798] Board hm2_5i25.0.7i76.0.0 Software Mode 0 = io_spin
[   77.691431] Board hm2_5i25.0.7i76.0.0 Software Mode 1 = io_ana_spin
[   77.695100] Board hm2_5i25.0.7i76.0.0 Software Mode 2 = io_enc_ana_spin_fv
[   77.840333] hm2/hm2_5i25.0: 34 I/O Pins used:
[   77.840338] hm2/hm2_5i25.0:     IO Pin 000 (P3-01): StepGen #0, pin Direction (Output)
[   77.840343] hm2/hm2_5i25.0:     IO Pin 001 (P3-14): StepGen #0, pin Step (Output)
[   77.840347] hm2/hm2_5i25.0:     IO Pin 002 (P3-02): StepGen #1, pin Direction (Output)
[   77.840351] hm2/hm2_5i25.0:     IO Pin 003 (P3-15): StepGen #1, pin Step (Output)
[   77.840356] hm2/hm2_5i25.0:     IO Pin 004 (P3-03): StepGen #2, pin Direction (Output)
[   77.840360] hm2/hm2_5i25.0:     IO Pin 005 (P3-16): StepGen #2, pin Step (Output)
[   77.840364] hm2/hm2_5i25.0:     IO Pin 006 (P3-04): StepGen #3, pin Direction (Output)
[   77.840368] hm2/hm2_5i25.0:     IO Pin 007 (P3-17): StepGen #3, pin Step (Output)
[   77.840372] hm2/hm2_5i25.0:     IO Pin 008 (P3-05): StepGen #4, pin Direction (Output)
[   77.840376] hm2/hm2_5i25.0:     IO Pin 009 (P3-06): StepGen #4, pin Step (Output)
[   77.840380] hm2/hm2_5i25.0:     IO Pin 010 (P3-07): Smart Serial Interface #0, pin TxData0 (Output)
[   77.840385] hm2/hm2_5i25.0:     IO Pin 011 (P3-08): Smart Serial Interface #0, pin RxData0 (Input)
[   77.840389] hm2/hm2_5i25.0:     IO Pin 012 (P3-09): IOPort
[   77.840392] hm2/hm2_5i25.0:     IO Pin 013 (P3-10): IOPort
[   77.840396] hm2/hm2_5i25.0:     IO Pin 014 (P3-11): Encoder #0, pin Index (Input)
[   77.840400] hm2/hm2_5i25.0:     IO Pin 015 (P3-12): Encoder #0, pin B (Input)
[   77.840404] hm2/hm2_5i25.0:     IO Pin 016 (P3-13): Encoder #0, pin A (Input)
[   77.840407] hm2/hm2_5i25.0:     IO Pin 017 (P2-01): IOPort
[   77.840411] hm2/hm2_5i25.0:     IO Pin 018 (P2-14): IOPort
[   77.840414] hm2/hm2_5i25.0:     IO Pin 019 (P2-02): IOPort
[   77.840417] hm2/hm2_5i25.0:     IO Pin 020 (P2-15): IOPort
[   77.840420] hm2/hm2_5i25.0:     IO Pin 021 (P2-03): IOPort
[   77.840424] hm2/hm2_5i25.0:     IO Pin 022 (P2-16): IOPort
[   77.840427] hm2/hm2_5i25.0:     IO Pin 023 (P2-04): IOPort
[   77.840430] hm2/hm2_5i25.0:     IO Pin 024 (P2-17): IOPort
[   77.840433] hm2/hm2_5i25.0:     IO Pin 025 (P2-05): IOPort
[   77.840436] hm2/hm2_5i25.0:     IO Pin 026 (P2-06): IOPort
[   77.840439] hm2/hm2_5i25.0:     IO Pin 027 (P2-07): IOPort
[   77.840443] hm2/hm2_5i25.0:     IO Pin 028 (P2-08): IOPort
[   77.840446] hm2/hm2_5i25.0:     IO Pin 029 (P2-09): IOPort
[   77.840449] hm2/hm2_5i25.0:     IO Pin 030 (P2-10): IOPort
[   77.840452] hm2/hm2_5i25.0:     IO Pin 031 (P2-11): IOPort
[   77.840455] hm2/hm2_5i25.0:     IO Pin 032 (P2-12): IOPort
[   77.840458] hm2/hm2_5i25.0:     IO Pin 033 (P2-13): IOPort
[   77.840529] hm2/hm2_5i25.0: registered
[   77.840532] hm2_5i25.0: initialized AnyIO board at 0000:02:00.0
[   77.876282] hm2/hm2_5i25.0: Watchdog has bit! (set the .has-bit pin to False to resume)
[   77.876290] hm2/hm2_5i25.0: Smart Serial Error: port 0 channel 0. You may see this error if the FPGA card read thread is not running. This error message will not repeat.
[   77.876294] hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (13) Communication error
[   77.876297] hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (3) Timeout
[   77.898259] hm2/hm2_5i25.0: Smart Serial Comms Error: There have been more than 1 errors in 10 thread executions at least 200 times. See other error messages for details.
[   77.898265] hm2/hm2_5i25.0: ***Smart Serial Port 0 will be stopped***
operator@tormachpcnc:~$ 
Pathpiot HAL
# Generated by PNCconf at Tue Apr 12 23:54:51 2016
# If you make changes to this file, they will be
# overwritten when you run PNCconf again

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_dio=34
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=1 num_pwmgens=0 num_stepgens=5 sserial_port_0=0000xxxx " 

loadrt pid names=pid.x,pid.y,pid.z,pid.s

addf hm2_5i25.0.read          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread
addf pid.y.do-pid-calcs       servo-thread
addf pid.z.do-pid-calcs       servo-thread
addf pid.s.do-pid-calcs       servo-thread
addf hm2_5i25.0.write         servo-thread

# external output signals


# --- SPINDLE-ON ---
net spindle-on hm2_5i25.0.7i76.0.0.output-00

# --- SPINDLE-CW ---
net spindle-cw hm2_5i25.0.7i76.0.0.output-01

# --- SPINDLE-CCW ---
net spindle-ccw hm2_5i25.0.7i76.0.0.output-02

# --- COOLANT-MIST ---
net coolant-mist hm2_5i25.0.7i76.0.0.output-03

# --- COOLANT-FLOOD ---
net coolant-flood hm2_5i25.0.7i76.0.0.output-04

# --- DOUT-00 ---
net dout-00 hm2_5i25.0.7i76.0.0.output-05

# --- DOUT-01 ---
net dout-01 hm2_5i25.0.7i76.0.0.output-06

# --- DOUT-02 ---
net dout-02 hm2_5i25.0.7i76.0.0.output-07

# --- DOUT-03 ---
net dout-03 hm2_5i25.0.7i76.0.0.output-08

# external input signals


# --- ESTOP-EXT ---
net estop-ext     <=  hm2_5i25.0.7i76.0.0.input-00

# --- HOME-X ---
net home-x     <=  hm2_5i25.0.7i76.0.0.input-01

# --- HOME-Y ---
net home-y     <=  hm2_5i25.0.7i76.0.0.input-02

# --- HOME-Z ---
net home-z     <=  hm2_5i25.0.7i76.0.0.input-03

# --- MIN-X ---
net min-x     <=  hm2_5i25.0.7i76.0.0.input-04

# --- MIN-Y ---
net min-y     <=  hm2_5i25.0.7i76.0.0.input-05

# --- MIN-Z ---
net min-z     <=  hm2_5i25.0.7i76.0.0.input-06

# --- MAX-X ---
net max-x     <=  hm2_5i25.0.7i76.0.0.input-07

# --- MAX-Y ---
net max-y     <=  hm2_5i25.0.7i76.0.0.input-08

# --- MAX-Z ---
net max-z     <=  hm2_5i25.0.7i76.0.0.input-09

# --- PROBE-IN ---
net probe-in     <=  hm2_5i25.0.7i76.0.0.input-10

# --- DIN-00 ---
net din-00     <=  hm2_5i25.0.7i76.0.0.input-11

# --- DIN-01 ---
net din-01     <=  hm2_5i25.0.7i76.0.0.input-12

# --- DIN-02 ---
net din-02     <=  hm2_5i25.0.7i76.0.0.input-13

# --- DIN-03 ---
net din-03     <=  hm2_5i25.0.7i76.0.0.input-14

#*******************
#  AXIS X
#*******************

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .0005

net x-index-enable  <=> pid.x.index-enable
net x-enable        =>  pid.x.enable
net x-pos-cmd       =>  pid.x.command
net x-vel-cmd       =>  pid.x.command-deriv
net x-pos-fb        =>  pid.x.feedback
net x-output        =>  pid.x.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.00.dirsetup        [AXIS_0]DIRSETUP
setp   hm2_5i25.0.stepgen.00.dirhold         [AXIS_0]DIRHOLD
setp   hm2_5i25.0.stepgen.00.steplen         [AXIS_0]STEPLEN
setp   hm2_5i25.0.stepgen.00.stepspace       [AXIS_0]STEPSPACE
setp   hm2_5i25.0.stepgen.00.position-scale  [AXIS_0]STEP_SCALE
setp   hm2_5i25.0.stepgen.00.step_type        0
setp   hm2_5i25.0.stepgen.00.control-type     1
setp   hm2_5i25.0.stepgen.00.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.00.maxvel           [AXIS_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= axis.0.motor-pos-cmd
net x-vel-cmd    <= axis.0.joint-vel-cmd
net x-output     <= hm2_5i25.0.stepgen.00.velocity-cmd
net x-pos-fb     <= hm2_5i25.0.stepgen.00.position-fb
net x-pos-fb     => axis.0.motor-pos-fb
net x-enable     <= axis.0.amp-enable-out
net x-enable     => hm2_5i25.0.stepgen.00.enable

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net min-x     =>  axis.0.neg-lim-sw-in
net max-x     =>  axis.0.pos-lim-sw-in

#*******************
#  AXIS Y
#*******************

setp   pid.y.Pgain     [AXIS_1]P
setp   pid.y.Igain     [AXIS_1]I
setp   pid.y.Dgain     [AXIS_1]D
setp   pid.y.bias      [AXIS_1]BIAS
setp   pid.y.FF0       [AXIS_1]FF0
setp   pid.y.FF1       [AXIS_1]FF1
setp   pid.y.FF2       [AXIS_1]FF2
setp   pid.y.deadband  [AXIS_1]DEADBAND
setp   pid.y.maxoutput [AXIS_1]MAX_OUTPUT
setp   pid.y.error-previous-target true
setp   pid.y.maxerror .0005

net y-index-enable  <=> pid.y.index-enable
net y-enable        =>  pid.y.enable
net y-pos-cmd       =>  pid.y.command
net y-vel-cmd       =>  pid.y.command-deriv
net y-pos-fb        =>  pid.y.feedback
net y-output        =>  pid.y.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.01.dirsetup        [AXIS_1]DIRSETUP
setp   hm2_5i25.0.stepgen.01.dirhold         [AXIS_1]DIRHOLD
setp   hm2_5i25.0.stepgen.01.steplen         [AXIS_1]STEPLEN
setp   hm2_5i25.0.stepgen.01.stepspace       [AXIS_1]STEPSPACE
setp   hm2_5i25.0.stepgen.01.position-scale  [AXIS_1]STEP_SCALE
setp   hm2_5i25.0.stepgen.01.step_type        0
setp   hm2_5i25.0.stepgen.01.control-type     1
setp   hm2_5i25.0.stepgen.01.maxaccel         [AXIS_1]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.01.maxvel           [AXIS_1]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net y-pos-cmd    <= axis.1.motor-pos-cmd
net y-vel-cmd    <= axis.1.joint-vel-cmd
net y-output     <= hm2_5i25.0.stepgen.01.velocity-cmd
net y-pos-fb     <= hm2_5i25.0.stepgen.01.position-fb
net y-pos-fb     => axis.1.motor-pos-fb
net y-enable     <= axis.1.amp-enable-out
net y-enable     => hm2_5i25.0.stepgen.01.enable

# ---setup home / limit switch signals---

net home-y     =>  axis.1.home-sw-in
net min-y     =>  axis.1.neg-lim-sw-in
net max-y     =>  axis.1.pos-lim-sw-in

#*******************
#  AXIS Z
#*******************

setp   pid.z.Pgain     [AXIS_2]P
setp   pid.z.Igain     [AXIS_2]I
setp   pid.z.Dgain     [AXIS_2]D
setp   pid.z.bias      [AXIS_2]BIAS
setp   pid.z.FF0       [AXIS_2]FF0
setp   pid.z.FF1       [AXIS_2]FF1
setp   pid.z.FF2       [AXIS_2]FF2
setp   pid.z.deadband  [AXIS_2]DEADBAND
setp   pid.z.maxoutput [AXIS_2]MAX_OUTPUT
setp   pid.z.error-previous-target true
setp   pid.z.maxerror .0005

net z-index-enable  <=> pid.z.index-enable
net z-enable        =>  pid.z.enable
net z-pos-cmd       =>  pid.z.command
net z-vel-cmd       =>  pid.z.command-deriv
net z-pos-fb        =>  pid.z.feedback
net z-output        =>  pid.z.output

# Step Gen signals/setup

setp   hm2_5i25.0.stepgen.02.dirsetup        [AXIS_2]DIRSETUP
setp   hm2_5i25.0.stepgen.02.dirhold         [AXIS_2]DIRHOLD
setp   hm2_5i25.0.stepgen.02.steplen         [AXIS_2]STEPLEN
setp   hm2_5i25.0.stepgen.02.stepspace       [AXIS_2]STEPSPACE
setp   hm2_5i25.0.stepgen.02.position-scale  [AXIS_2]STEP_SCALE
setp   hm2_5i25.0.stepgen.02.step_type        0
setp   hm2_5i25.0.stepgen.02.control-type     1
setp   hm2_5i25.0.stepgen.02.maxaccel         [AXIS_2]STEPGEN_MAXACCEL
setp   hm2_5i25.0.stepgen.02.maxvel           [AXIS_2]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net z-pos-cmd    <= axis.2.motor-pos-cmd
net z-vel-cmd    <= axis.2.joint-vel-cmd
net z-output     <= hm2_5i25.0.stepgen.02.velocity-cmd
net z-pos-fb     <= hm2_5i25.0.stepgen.02.position-fb
net z-pos-fb     => axis.2.motor-pos-fb
net z-enable     <= axis.2.amp-enable-out
net z-enable     => hm2_5i25.0.stepgen.02.enable

# ---setup home / limit switch signals---

net home-z     =>  axis.2.home-sw-in
net min-z     =>  axis.2.neg-lim-sw-in
net max-z     =>  axis.2.pos-lim-sw-in

#*******************
#  SPINDLE S
#*******************

setp   pid.s.Pgain     [SPINDLE_9]P
setp   pid.s.Igain     [SPINDLE_9]I
setp   pid.s.Dgain     [SPINDLE_9]D
setp   pid.s.bias      [SPINDLE_9]BIAS
setp   pid.s.FF0       [SPINDLE_9]FF0
setp   pid.s.FF1       [SPINDLE_9]FF1
setp   pid.s.FF2       [SPINDLE_9]FF2
setp   pid.s.deadband  [SPINDLE_9]DEADBAND
setp   pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp   pid.s.error-previous-target true
setp   pid.s.maxerror .0005

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm-abs     => pid.s.command
net spindle-vel-fb-rpm-abs      => pid.s.feedback
net spindle-output        <=  pid.s.output

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-enable             <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb-rps         =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


#******************************
# connect miscellaneous signals
#******************************

#  ---HALUI signals---

net joint-select-a        halui.joint.0.select
net x-is-homed            halui.joint.0.is-homed
net jog-x-pos             halui.jog.0.plus
net jog-x-neg             halui.jog.0.minus
net jog-x-analog          halui.jog.0.analog
net joint-select-b        halui.joint.1.select
net y-is-homed            halui.joint.1.is-homed
net jog-y-pos             halui.jog.1.plus
net jog-y-neg             halui.jog.1.minus
net jog-y-analog          halui.jog.1.analog
net joint-select-c        halui.joint.2.select
net z-is-homed            halui.joint.2.is-homed
net jog-z-pos             halui.jog.2.plus
net jog-z-neg             halui.jog.2.minus
net jog-z-analog          halui.jog.2.analog
net jog-selected-pos      halui.jog.selected.plus
net jog-selected-neg      halui.jog.selected.minus
net spindle-manual-cw     halui.spindle.forward
net spindle-manual-ccw    halui.spindle.reverse
net spindle-manual-stop   halui.spindle.stop
net machine-is-on         halui.machine.is-on
net jog-speed             halui.jog-speed 
net MDI-mode              halui.mode.is-mdi

#  ---coolant signals---

net coolant-mist      <=  iocontrol.0.coolant-mist
net coolant-flood     <=  iocontrol.0.coolant-flood

#  ---probe signal---

net probe-in     =>  motion.probe-input

# ---jogwheel signals to mesa encoder - shared MPG---

net joint-selected-count     <=  hm2_5i25.0.encoder.00.count

#  ---motion control signals---

net in-position               <=  motion.in-position
net machine-is-enabled        <=  motion.motion-enabled

#  ---digital in / out signals---

net dout-00     <=  motion.digital-out-00
net dout-01     <=  motion.digital-out-01
net dout-02     <=  motion.digital-out-02
net dout-03     <=  motion.digital-out-03
net din-00     =>  motion.digital-in-00
net din-01     =>  motion.digital-in-01
net din-02     =>  motion.digital-in-02
net din-03     =>  motion.digital-in-03
#  ---estop signals---

net estop-out     <=  iocontrol.0.user-enable-out
net estop-ext     =>  iocontrol.0.emc-enable-in

#  ---manual tool change signals---

#loadusr -W hal_manualtoolchange
#net tool-change-request     iocontrol.0.tool-change       =>  hal_manualtoolchange.change
#net tool-change-confirmed   iocontrol.0.tool-changed      <=  hal_manualtoolchange.changed
#net tool-number             iocontrol.0.tool-prep-number  =>  hal_manualtoolchange.number
#net tool-prepare-loopback   iocontrol.0.tool-prepare      =>  iocontrol.0.tool-prepared


I am very new to all this so I am not sure exactly how everything fits together and therefore what I15 am doing wrong.

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 08:35 #73279 by cncbasher
Replied by cncbasher on topic Smart Serial not working in pathpilot
no problem Kevin , i;'ll guide you through and help etc ,
i notice you posted this in another section to.

looking at your files , it appears you don't have field power connected to the 7i76 , this is required prior to starting the PC
as the serial port requires power before the 6i25 is powered up . you should then find the analog output as an option
on the spindle tab ,

and it should then give you a modified config to suit , pathpilot is fine with the 7i76 , so long as you have modified the files to load the 7i76x2 bitfile and not load the origional pathpilot version , if your not sure , just give me a call .
but please allow time zones etc , i'm in the UK .
The following user(s) said Thank You: KevinCT

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 08:54 #73281 by KevinCT
Replied by KevinCT on topic Smart Serial not working in pathpilot
Thank you,

Field IO is connected to 24v, it is working when I boot into LinuCNC 2.7 but not when i boot into PP.

Must I bridge all the Field IO +V "VFIELD" terminals together?

Thanks again.

Kevin.

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:05 - 14 Apr 2016 09:14 #73282 by cncbasher
Replied by cncbasher on topic Smart Serial not working in pathpilot
Hi Kevin ,
no you dont need to bridge all the field terminals just apply gnd to pin 8 and 24v pwr to pin 1

cr1 should be lit once you power up the pc (5v rail )

i notice your not finding the analog spindle ( needed for the 7i76 ) from the pncconf
make sure your using the correct bit file and load pncconf and dont forget to accept to update the pins , this if 24v is applied to field power BEFORE start up
if you start the pc before power is applied it will not load the GPIO and sserial , this shows as errors soon as you come to list pins .

archive your config folder Kevin and email them to me

which version of pathpilot are you using , there's quite a bit of editing to do to get pathpilot up and running properly .
take a look at the log file in your gcode folder for clues , any errors and pathpilot will not load .

sent you a PM
Sarah
Last edit: 14 Apr 2016 09:14 by cncbasher.

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:25 #73283 by KevinCT
Replied by KevinCT on topic Smart Serial not working in pathpilot
I have done it the way you describe in your Tutorial, but why can you not just rename the 5i25_7i76x2.bit file tormach_mill3.bit and replace the one in the mesa folder, then you wouldn't have to go find all mentions of it and change them.

How do I load pncconf on pathpilot?

Everything works great in LinuxCNC 2.7 and I literally shut down the PC then restart in PP and the smart Serial isn't happy. so I am fairly confident the physical requirements are being met.

I have messed around so much trying to get this to work I think I better start from scratch and send you those configs.

I copied my hal and ini files into the tmc configs folder and then ran operator_login script using the terminal to "debug" until pathpilot gui started. I am guessing I keep breaking something along the way.

this is copied from the terminal after running operator_login
pgrep -c -f "tee -a /home/operator/gcode/logfiles/pathpilotlog.txt"
REDIRECTION_RUNNING: 1
stdout/stderr redirection already in progress
sourcing /home/operator/tmc/scripts/rip-environment.sh /home/operator/tmc
Setting enviroment to run Tormach LinuxCNC to run-in-place for development
Using command line supplied EMC2_HOME: /home/operator/tmc
EMC2_HOME = /home/operator/tmc, absolute path for /home/operator/tmc
EMC2_HOME: /home/operator/tmc
new PATH: /home/operator/tmc/python:/home/operator/tmc/bin:/home/operator/tmc/scripts:/home/operator/tmc/bin:/home/operator/teamviewer9qs:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
new LD_LIBRARY_PATH: /home/operator/tmc/lib
new PYTHONPATH: /home/operator/tmc/python/scanner:/home/operator/tmc/python:/home/operator/tmc/python/config_picker:/home/operator/tmc/lib/python:/home/operator/tmc/python/scanner2
Temporary directory for linuxcnc: /tmp/linuxcnc
RIP environment setup complete...
setting touchscreen calibration
No calibration file found: /home/operator/gcode/pointercal.xinput
starting log rotator
logrotator.sh 3600 /home/operator/gcode/logfiles/logrotate.conf /home/operator/gcode/logfiles/logrotate.status
LOGROTATOR_PID: 1911
logrotate /home/operator/gcode/logfiles/logrotate.conf -s /home/operator/gcode/logfiles/logrotate.status
gnome-power-manager already running
HAVE_GNOME:  1
INI file: ~/tmc/configs/tormach_mill/tormach_1100-3.ini
/home/operator/tmc/configs/tormach_mill/tormach_1100-3.ini
[HOSTMOT2] BITFILE0 = 'mesa/5i25_7i76x2.bit'
[HOSTMOT2] BITFILE0 = /home/operator/tmc/mesa/5i25_7i76x2.bit
lspci -n -d 2718:5125: 02:00.0 1100: 2718:5125 (rev 01)
/home/operator/tmc/bin/mesaflash: root4755
linuxcnc ~/tmc/configs/tormach_mill/tormach_1100-3.ini
Setting enviroment to run Tormach LinuxCNC to run-in-place for development
Using command line supplied EMC2_HOME: /home/operator/tmc
EMC2_HOME = /home/operator/tmc, absolute path for /home/operator/tmc
PATH: /home/operator/tmc/python:/home/operator/tmc/bin:/home/operator/tmc/scripts:/home/operator/tmc/bin:/home/operator/teamviewer9qs:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
This script only needs to be run once per shell session.
Attempting to start Dropbox - if installed
Starting Dropbox...
The Dropbox daemon is not installed!
Run "dropbox start -i" to install the daemon
prefix: /home/operator/tmc
exec_prefix: /home/operator/tmc
EMC2_BIN_DIR=/home/operator/tmc/bin
EMC2_RTLIB_DIR=/home/operator/tmc/rtlib
tormach_splash.py: no alpha suppport
INIFILE: ~/tmc/configs/tormach_mill/tormach_1100-3.ini
~/tmc/configs/tormach_mill/tormach_1100-3.ini started with tilde
expanded INIFILE: /home/operator/tmc/configs/tormach_mill/tormach_1100-3.ini
EXTRA_ARGS: 
RUN_IN_PLACE=yes
LINUXCNC_DIR=
LINUXCNC_BIN_DIR=/home/operator/tmc/bin
LINUXCNC_RTLIB_DIR=/home/operator/tmc/rtlib
INIVAR=inivar
HALCMD=halcmd
LINUXCNC - 2.6.0~pre
inserted into PYTHONPATH: /home/operator/tmc/configs/tormach_mill/python
Machine configuration directory is '/home/operator/tmc/configs/tormach_mill'
Machine configuration file is 'tormach_1100-3.ini'
INIFILE=/home/operator/tmc/configs/tormach_mill/tormach_1100-3.ini
PARAMETER_FILE=~/mill_data/emc.var
Can not find -sec MOT -var MOT -num 1 
Can not find -sec IO -var IO -num 1 
TASK=milltask
HALUI=halui
DISPLAY=tormach_mill_ui.py
EMCDISPLAY_FULLPATH:  /home/operator/tmc/python/tormach_mill_ui.py
EMCDISPLAY_DIR:  /home/operator/tmc/python
inserted into PYTHONPATH:  /home/operator/tmc/python
NML_FILE: /home/operator/tmc/configs/common/linuxcnc.nml
User's HOME directory: /home/operator
/home/operator/tmc/scripts/check_mill_tool_table.py: tool file is /home/operator/mill_data/tool.tbl
scanning mill tool table
tool table is already up to date
Can not find -sec REDIS -var DISABLE_SERVER -num 1 
DISABLE_SERVER=
Can not find -sec REDIS -var SERVER_PATH -num 1 
SERVER_PATH=
Can not find -sec REDIS -var SERVER_ARGS -num 1 
SERVER_ARGS=
REDIS_SERVER_ARGS: 
REDIS_SERVER_ARGS: 
Can not find -sec REDIS -var SERVER_LOG -num 1 
SERVER_LOG=
Starting LinuxCNC...
Starting redis server program: 
redis server started as: 'redis-server ', logging to: /dev/null
Starting LinuxCNC server program: linuxcncsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
module helper '/home/operator/tmc/bin/linuxcnc_module_helper' found.
Starting LinuxCNC IO program: io
io started
halcmd loadusr io started
Starting HAL User Interface program: halui
halcmd loadusr -Wn halui halui -ini /home/operator/tmc/configs/tormach_mill/tormach_1100-3.ini
Starting TASK program: milltask
task pid=2059
Starting DISPLAY program: /home/operator/tmc/python/tormach_mill_ui.py
hm2/hm2_5i25.0: Smart Serial Error: port 0 channel 0. You may see this error if the FPGA card read thread is not running. This error message will not repeat.

emcTaskInit: using builtin interpreter
Setting tolerance to 0.000000
Setting tolerance to 0.000000
hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (13) Communication error

hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (3) Timeout

hm2/hm2_5i25.0: Smart Serial Comms Error: There have been more than 1 errors in 10 thread executions at least 200 times. See other error messages for details.

hm2/hm2_5i25.0: ***Smart Serial Port 0 will be stopped***

Warning: missing POSTGUI_SHUTTLEXPRESS_HALFILE in .INI file.
UI version: v1.9.5
spindle type: 0
Retrieval of MDI history failed.
no enc_door_open_max_rpm found in redis defaulting to 1000
enclosure door open max rpm: 1000
hm2/hm2_5i25.0: Smart Serial Error: port 0 channel 0. You may see this error if the FPGA card read thread is not running. This error message will not repeat.

hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (13) Communication error

hm2/hm2_5i25.0: Smart serial card hm2_5i25.0.7i76.0.0 error = (3) Timeout

hm2/hm2_5i25.0: Smart Serial Comms Error: There have been more than 1 errors in 10 thread executions at least 200 times. See other error messages for details.

hm2/hm2_5i25.0: ***Smart Serial Port 0 will be stopped***

LinuxCNC status.task_mode change was unknown is now MODE_MANUAL
LinuxCNC interp_state change was unknown is now INTERP_IDLE
status.task_state was unknown is now STATE_ESTOP
exit button was pressed at  2016-04-14 09:36:02
CPU usage was 0.0, is now 36.9
CPU usage was 36.9, is now 10.0
CPU usage was 10.0, is now 4.0

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:42 - 14 Apr 2016 09:46 #73284 by cncbasher
Replied by cncbasher on topic Smart Serial not working in pathpilot
look at the log files in the gcode directory , it will tell you the error
any error at any stage will result in pathpilot not starting and closing down

yes you can rename the bit file to the same as pathpilot , but dont forget to remove the pathpilot one
they are located in /lib/firmware/hm2/5i25/
you'll need to use sudo to copy the file across

your error is here
hm2/hm2_5i25.0: Smart Serial Error: port 0 channel 0. You may see this error if the FPGA card read thread is not running. This error message will not repeat.
&
Warning: missing POSTGUI_SHUTTLEXPRESS_HALFILE in .INI file.
Last edit: 14 Apr 2016 09:46 by cncbasher.

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:49 #73285 by KevinCT
Replied by KevinCT on topic Smart Serial not working in pathpilot
Are you saying this error should cause PP to fail and close? If so I may have broken something else too, PP still starts up it displays this error in the status if you click he e-stop it repeats the error message.

I am going to reinstall PP and start from scratch.

Kevin

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:53 - 14 Apr 2016 09:55 #73286 by cncbasher
Replied by cncbasher on topic Smart Serial not working in pathpilot
how are you installing pathpilot ?
and which version of linuxcnc , if you have both installed be careful you will have a confilct of rtai kernels
as pathpilot only uses the older 2.6. kernels that it is compiled for .

once you hit estop , the only way to recover is then to restart the pc , from power down
Last edit: 14 Apr 2016 09:55 by cncbasher.

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 09:57 #73289 by KevinCT
Replied by KevinCT on topic Smart Serial not working in pathpilot
I have a disc from Tormach and using optical drive.

I have LinuxCNC 2.7 on a separate Drive from PP I can't find where to download LinuxCNC 2.6

thanks

Kevin

Please Log in or Create an account to join the conversation.

More
14 Apr 2016 10:11 #73290 by cncbasher
Replied by cncbasher on topic Smart Serial not working in pathpilot
you need to remember at the moment , linuxcnc uses debian wheezy or jessie & pathpilot uses the older Ubuntu 10.04
so their are significant differences, both in kernels & linuxcnc functionality .

Please Log in or Create an account to join the conversation.

Time to create page: 0.069 seconds
Powered by Kunena Forum