No parport registered but Stepconf works

More
22 May 2022 12:12 #243551 by SirHamburger
Hello,
i'm completly new to cncs and tried to configure my cnc to work with linuxcnc. The configuration was done by Stepconf and tests in Stepconf work. But if i try the configuration in linuxcnc i get the error message
No parport registered at 0x9800. This is not always an error. Continuing.
lspci shows the following parallel port:
04:00.2 Parallel controller: Asix Electronics Corporation Device 9100 (prog-if 03 [IEEE1284])
    Subsystem: Device a000:2000
    Flags: bus master, fast devsel, latency 0, IRQ 10, NUMA node 0
    I/O ports at 9800 [size=8]
    I/O ports at 9400 [size=8]
    Memory at fdafd000 (32-bit, non-prefetchable) [size=4K]
    Memory at fdafc000 (32-bit, non-prefetchable) [size=4K]
    Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
    Capabilities: [78] Power Management version 3
    Capabilities: [80] Express Legacy Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
The card is a DIGITUS IO Card with an AX99100 Chip
My HAL-File is the following:
# Generated by stepconf 1.1 at Sun May 22 13:08:30 2022
# Änderungen an dieser Datei werden beim nächsten
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0x9800 0x9400"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd-rpm     <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps     <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed    => spindle.0.at-speed

net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net ydir            => parport.0.pin-04-out
net ystep           => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
net zdir            => parport.0.pin-06-out
net zstep           => parport.0.pin-07-out
setp parport.0.pin-07-out-reset 1
net estop-ext       <= parport.0.pin-11-in-not
net all-home        <= parport.0.pin-12-in

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 70000
setp stepgen.0.dirsetup 70000
setp stepgen.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net xpos-cmd joint.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net all-home => joint.0.home-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 70000
setp stepgen.1.dirsetup 70000
setp stepgen.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net ypos-cmd joint.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net all-home => joint.1.home-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 70000
setp stepgen.2.dirsetup 70000
setp stepgen.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net zpos-cmd joint.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable joint.2.amp-enable-out => stepgen.2.enable
net all-home => joint.2.home-sw-in

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

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed 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
The full console output is the following:
linuxcnc /home/sirhamburger/linuxcnc/configs/my-mill/my-mill.ini
LINUXCNC - 2.8.2-11-g6a3d0a434
Machine configuration directory is '/home/sirhamburger/linuxcnc/configs/my-mill'
Machine configuration file is 'my-mill.ini'
Starting LinuxCNC...
Found file(REL): ./my-mill.hal
Note: Using POSIX realtime
config string '0x9800 0x9400'
No parport registered at 0x9800. This is not always an error. Continuing.
No parport registered at 0x9400. This is not always an error. Continuing.
Found file(REL): ./custom.hal
No parport registered at 0x9800. This is not always an error. Continuing.

No parport registered at 0x9400. This is not always an error. Continuing.

note: MAXV     max: 30.000 units/sec 1800.000 units/min
note: LJOG     max: 30.000 units/sec 1800.000 units/min
note: LJOG default: 3.000 units/sec 180.000 units/min
note: jog_order='XYZ'
note: jog_invert=set([])
Unexpected realtime delay on task 0 with period 100000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.

Unexpected realtime delay on task 0 with period 100000
This Message will only display once per session.
Run the Latency Test and resolve before continuing.
Does anybody know how to get it working?

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

More
22 May 2022 12:21 #243554 by tommylight
loadrt hal_parport cfg="0x9800 0x9400"
Remove one of the addresses and try again
loadrt hal_parport cfg="0x9800"
loadrt hal_parport cfg="0x9400"

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

More
22 May 2022 12:28 #243555 by SirHamburger
Thank you for your message. The port which works with Stepconf is 0x9800 i did add them both in the hope that it works. But the error is also there if i only use 0x9800:
LINUXCNC - 2.8.2-11-g6a3d0a434
Machine configuration directory is '/home/sirhamburger/linuxcnc/configs/my-mill'
Machine configuration file is 'my-mill.ini'
Starting LinuxCNC...
Found file(REL): ./my-mill.hal
Note: Using POSIX realtime
config string '0x9800'
No parport registered at 0x9800. This is not always an error. Continuing.
Found file(REL): ./custom.hal
No parport registered at 0x9800. This is not always an error. Continuing.

note: MAXV     max: 30.000 units/sec 1800.000 units/min
note: LJOG     max: 30.000 units/sec 1800.000 units/min
note: LJOG default: 3.000 units/sec 180.000 units/min
note: jog_order='XYZ'
note: jog_invert=set([])
First block of HAL-File:
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0x9800"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0

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

More
22 May 2022 19:13 #243569 by tommylight
What pin is used to enable the drives?
Try inverting that pin in StepConf.

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

More
23 May 2022 14:17 #243613 by SirHamburger
So I did try some thinks and it seems like the emergency stop button was the issue. The button was inverterted but since Linuxcnc doesn't find the seriell port it disabled the whole mashine. If I remove the invertion the mashine works but the emergency stop doesn't.
But thank you very much tommylight for your time and help.
The following user(s) said Thank You: tommylight

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

More
23 May 2022 22:33 - 23 May 2022 22:34 #243652 by andypugh
No parport registered at 0x9800. This is not always an error. Continuing.
Last edit: 23 May 2022 22:34 by andypugh.

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

Time to create page: 0.085 seconds
Powered by Kunena Forum