3 github links on at the start of this topic, 1 was updated 3 weeks ago, 1 a month ago, and on seems nothing changed for 2 years.
forum.linuxcnc.org/27-driver-boards/4442...board?start=0#228191
So it is still alive, although if stuff is working properly, there would be need for changes.
I made a header board for 5A-75E8.2 and started testing the litexcnc firmware and encountered the following problems.
1- When I close the linuxcnc software or press the estop key, the motors start moving.
2- For homing using encoder z pulse, after receiving the z pulse instead of stopping, it makes a strange movement at full speed and then stops.
I posted this problem before but couldn't find a solution for it.
Does anyone have any suggestions for solving these problems?
Code:
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt litexcnc connections="eth:10.0.0.10"
loadrt estop_latch
loadrt pid names=pid.x,pid.z,pid.y,pid.a,pid.s
addf estop-latch.0 servo-thread
addf 5A-75B:V8.2.read servo-thread
addf 5A-75B:V8.2.write 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.a.do-pid-calcs servo-thread
addf pid.s.do-pid-calcs servo-thread
setp 5A-75B:V8.2.watchdog.has_bitten 0
setp 5A-75B:V8.2.watchdog.timeout_ns 1500000
# Tie the watchdog into the E-STOP chain
net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= 5A-75B:V8.2.watchdog.has_bitten
# More sources for E-stop (such as a GPIO-in) can be added to this E-Stop circuit.
#*******************
# AXIS A JOINT 3
#*******************
setp pid.a.Pgain [JOINT_3]P
setp pid.a.Igain [JOINT_3]I
setp pid.a.Dgain [JOINT_3]D
setp pid.a.bias [JOINT_3]BIAS
setp pid.a.FF0 [JOINT_3]FF0
setp pid.a.FF1 [JOINT_3]FF1
setp pid.a.FF2 [JOINT_3]FF2
setp pid.a.deadband [JOINT_3]DEADBAND
setp pid.a.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.a.error-previous-target true
net encoder-counts <= 5A-75B:V8.2.encoder.03.counts
net a-indea-enable => pid.a.indea-enable <= joint.3.indea-enable => 5A-75B:V8.2.encoder.03.indea-enable
net a-enable pid.a.enable <= joint.3.amp-enable-out => 5A-75B:V8.2.stepgen.03.enable => 5A-75B:V8.2.gpio.j1:3.out
net a-pos-cmd joint.3.motor-pos-cmd => pid.a.command
net a-vel-fb 5A-75B:V8.2.encoder.03.velocity => pid.a.feedback-deriv
net axis.3.motor-pos-fb <= 5A-75B:V8.2.encoder.03.position => pid.a.feedback
net a-output pid.a.output => 5A-75B:V8.2.stepgen.03.velocity-cmd
setp 5A-75B:V8.2.stepgen.03.position-scale [JOINT_3]STEP_SCALE
setp 5A-75B:V8.2.stepgen.03.steplen [JOINT_3]STEPLEN
setp 5A-75B:V8.2.stepgen.03.stepspace [JOINT_3]STEPSPACE
setp 5A-75B:V8.2.stepgen.03.dir-hold-time [JOINT_3]DIRHOLD
setp 5A-75B:V8.2.stepgen.03.dir-setup-time [JOINT_3]DIRSETUP
setp 5A-75B:V8.2.stepgen.03.maa-velocity [JOINT_3]MAX_VELOCITY
setp 5A-75B:V8.2.stepgen.03.maa-acceleration [JOINT_3]STEPGEN_MAXACCEL
setp 5A-75B:V8.2.encoder.03.x4_mode
net a-home-sw => joint.3.home-sw-in