Mesa Configuration Tool

More
29 Nov 2024 14:09 #315545 by tommy
Replied by tommy on topic Mesa Configuration Tool
Using firmware PCW attached above, I see following:
Starting LinuxCNC...
libnml/buffer/shmem.cc 320: Shared memory buffers toolCmd and toolCmd may conflict. (key=1004(0x3EC))
libnml/buffer/shmem.cc 320: Shared memory buffers toolSts and toolSts may conflict. (key=1005(0x3ED))
libnml/buffer/shmem.cc 320: Shared memory buffers emcError and emcError may conflict. (key=1003(0x3EB))
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(REL): ./main.hal
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:15:80:87
hm2_eth: discovered 7I95T
hm2/hm2_7i95.0: Low Level init 0.15
hm2/hm2_7i95.0: Smart Serial Firmware Version 43
hm2/hm2_7i95.0: 58 I/O Pins used:
hm2/hm2_7i95.0:     IO Pin 000 (TB3-02/TB3-03): StepGen #0, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 001 (TB3-04/TB3-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 002 (TB3-08/TB3-09): StepGen #1, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 003 (TB3-10/TB3-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 004 (TB3-14/TB3-15): StepGen #2, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 005 (TB3-16/TB3-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 006 (TB3-20/TB3-21): StepGen #3, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 007 (TB3-22/TB3-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 008 (TB4-02/TB4-03): StepGen #4, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 009 (TB4-04/TB4-05): StepGen #4, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 010 (TB4-08/TB4-09): StepGen #5, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 011 (TB4-10/TB4-11): StepGen #5, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 012 (TB4-14/TB4-15): IOPort
hm2/hm2_7i95.0:     IO Pin 013 (TB4-16/TB4-17): IOPort
hm2/hm2_7i95.0:     IO Pin 014 (TB3-16/TB3-17): IOPort
hm2/hm2_7i95.0:     IO Pin 015 (TB4-20/TB4-21): IOPort
hm2/hm2_7i95.0:     IO Pin 016 (TB4-22/TB4-23): IOPort
hm2/hm2_7i95.0:     IO Pin 017 (TB4-22/TB4-23): IOPort
hm2/hm2_7i95.0:     IO Pin 018 (TB1-01/TB1-09): Muxed Encoder #0, pin Muxed A (Input)
hm2/hm2_7i95.0:     IO Pin 019 (TB1-04/TB1-12): Muxed Encoder #0, pin Muxed B (Input)
hm2/hm2_7i95.0:     IO Pin 020 (TB1-07/TB1-15): Muxed Encoder #0, pin Muxed Index (Input)
hm2/hm2_7i95.0:     IO Pin 021 (TB1-17/TB2-01): Muxed Encoder #1, pin Muxed A (Input)
hm2/hm2_7i95.0:     IO Pin 022 (TB1-20/TB2-04): Muxed Encoder #1, pin Muxed B (Input)
hm2/hm2_7i95.0:     IO Pin 023 (TB1-23/TB2-07): Muxed Encoder #1, pin Muxed Index (Input)
hm2/hm2_7i95.0:     IO Pin 024 (TB2-09/TB2-17): Muxed Encoder #2, pin Muxed A (Input)
hm2/hm2_7i95.0:     IO Pin 025 (TB2-12/TB2-20): Muxed Encoder #2, pin Muxed B (Input)
hm2/hm2_7i95.0:     IO Pin 026 (TB2-15/TB2-23): Muxed Encoder #2, pin Muxed Index (Input)
hm2/hm2_7i95.0:     IO Pin 027 (Internal EncMux): Muxed Encoder Select #0, pin Mux Select 0 (Output)
hm2/hm2_7i95.0:     IO Pin 028 (Internal InMux0): InMux Input Mux #0, pin addr0 (Output)
hm2/hm2_7i95.0:     IO Pin 029 (Internal InMux1): InMux Input Mux #0, pin addr1 (Output)
hm2/hm2_7i95.0:     IO Pin 030 (Internal InMux2): InMux Input Mux #0, pin addr2 (Output)
hm2/hm2_7i95.0:     IO Pin 031 (Internal InMux3): InMux Input Mux #0, pin addr3 (Output)
hm2/hm2_7i95.0:     IO Pin 032 (Internal InMux4): InMux Input Mux #0, pin addr4 (Output)
hm2/hm2_7i95.0:     IO Pin 033 (Internal InMuxData): InMux Input Mux #0, pin muxdata (Input)
hm2/hm2_7i95.0:     IO Pin 034 (TB5-13/TB5-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i95.0:     IO Pin 035 (TB5-15/TB5-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i95.0:     IO Pin 036 (TB5-17/TB5-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i95.0:     IO Pin 037 (TB5-19/TB5-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i95.0:     IO Pin 038 (TB5-21/TB5-22): SSR #0, pin Out-04 (Output)
hm2/hm2_7i95.0:     IO Pin 039 (TB5-23/TB5-24): SSR #0, pin Out-05 (Output)
hm2/hm2_7i95.0:     IO Pin 040 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i95.0:     IO Pin 041 (P1-01/DB25-01): StepGen #6, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 042 (P1-02/DB25-14): StepGen #6, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 043 (P1-03/DB25-02): StepGen #7, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 044 (P1-04/DB25-15): StepGen #7, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 045 (P1-05/DB25-03): StepGen #8, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 046 (P1-06/DB25-16): StepGen #8, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 047 (P1-07/DB25-04): StepGen #9, pin Direction (Output)
hm2/hm2_7i95.0:     IO Pin 048 (P1-08/DB25-17): StepGen #9, pin Step (Output)
hm2/hm2_7i95.0:     IO Pin 049 (P1-09/DB25-05): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i95.0:     IO Pin 050 (P1-11/DB25-06): IOPort
hm2/hm2_7i95.0:     IO Pin 051 (P1-13/DB25-07): IOPort
hm2/hm2_7i95.0:     IO Pin 052 (P1-15/DB25-08): IOPort
hm2/hm2_7i95.0:     IO Pin 053 (P1-17/DB25-09): IOPort
hm2/hm2_7i95.0:     IO Pin 054 (P1-19/DB25-10): IOPort
hm2/hm2_7i95.0:     IO Pin 055 (P1-21/DB25-11): Muxed Encoder #3, pin Muxed Index (Input)
hm2/hm2_7i95.0:     IO Pin 056 (P1-23/DB25-12): Muxed Encoder #3, pin Muxed B (Input)
hm2/hm2_7i95.0:     IO Pin 057 (P1-25/DB25-13): Muxed Encoder #3, pin Muxed A (Input)
hm2/hm2_7i95.0: registered
Found file(REL): ./io.hal

Souldn't be there 7 encoder inputs?

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

More
29 Nov 2024 15:01 #315553 by tommylight
Replied by tommylight on topic Mesa Configuration Tool
Muxed encoders, so that would make 8 available encoders.
Muxed = multiplexed , IIRC that is 2 encoders on a single channel .

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

More
30 Nov 2024 16:29 #315660 by tommy
Replied by tommy on topic Mesa Configuration Tool
In MesaCT I configured 6 axis on 7i95T and one on 7i78, but for that one there are no stepgens defined in .hal file:

 
# This file was created with the Mesa Configuration Tool on Nov 30 2024 17:11:51
# If you make changes to this file DO NOT run the configuration tool again!
# This file will be replaced with a new file if you do!

# kinematics
loadrt [KINS](KINEMATICS)

# motion controller
loadrt [EMCMOT](EMCMOT) servo_period_nsec=[EMCMOT](SERVO_PERIOD) num_joints=[KINS](JOINTS)

# hostmot2 driver
loadrt hostmot2
loadrt [HM2](DRIVER) board_ip=[HM2](ADDRESS) config="sserial_port_0=00000000"

setp hm2_[MESA](BOARD).0.watchdog.timeout_ns 5000000

loadrt pid names=pid.x,pid.y,pid.z,pid.a,pid.b,pid.c,pid.u

# PID Information for Stepper Boards
# Mesa hardware step generators at every servo thread invocation, the step
# generator hardware is given a new velocity. Without feedback from the PID
# controller the hardware position would slowly drift because of clock speed and
# timing differences between LinuxCNC and the step generator hardware.
# The PID controller gets feedback from the actual (fractional) step position and
# corrects for these small differences.

# THREADS
addf hm2_[MESA](BOARD).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.a.do-pid-calcs servo-thread
addf pid.b.do-pid-calcs servo-thread
addf pid.c.do-pid-calcs servo-thread
addf pid.u.do-pid-calcs servo-thread
addf hm2_[MESA](BOARD).0.write servo-thread

# DPLL TIMER
setp hm2_[MESA](BOARD).0.dpll.01.timer-us -50
setp hm2_[MESA](BOARD).0.stepgen.timer-number 1

# amp enable
net motion-enable <= motion.motion-enabled

# Board: 7i95

# Axis: X Joint: 0 Output: 0
# PID Setup
setp pid.x.Pgain [JOINT_0](P)
setp pid.x.Igain [JOINT_0](I)
setp pid.x.Dgain [JOINT_0](D)
setp pid.x.bias [JOINT_0](BIAS)
setp pid.x.FF0 [JOINT_0](FF0)
setp pid.x.FF1 [JOINT_0](FF1)
setp pid.x.FF2 [JOINT_0](FF2)
setp pid.x.deadband [JOINT_0](DEADBAND)
setp pid.x.maxoutput [JOINT_0](MAX_OUTPUT)
setp pid.x.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.x.maxerror [JOINT_0](MAX_ERROR)

# joint-0 enable chain
net joint-0-index-enable <=> pid.x.index-enable
net joint-0-index-enable <=> joint.0.index-enable

net joint-0-enable <= joint.0.amp-enable-out
net joint-0-enable => pid.x.enable

net joint-0-enable => hm2_[MESA](BOARD).0.stepgen.00.enable

# Joint 0 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.00.dirsetup [JOINT_0](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.00.dirhold [JOINT_0](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.00.steplen [JOINT_0](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.00.stepspace [JOINT_0](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.00.position-scale [JOINT_0](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.00.maxvel [JOINT_0](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.00.maxaccel [JOINT_0](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.00.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.00.control-type 1


# position command and feedback
net joint-0-pos-cmd <= joint.0.motor-pos-cmd
net joint-0-pos-cmd => pid.x.command

net joint-0-pos-fb <= hm2_[MESA](BOARD).0.stepgen.00.position-fb
net joint-0-pos-fb => joint.0.motor-pos-fb
net joint-0-pos-fb => pid.x.feedback

# PID Output
net joint.0.output <= pid.x.output
net joint.0.output => hm2_[MESA](BOARD).0.stepgen.00.velocity-cmd

# Axis: Y Joint: 1 Output: 1
# PID Setup
setp pid.y.Pgain [JOINT_1](P)
setp pid.y.Igain [JOINT_1](I)
setp pid.y.Dgain [JOINT_1](D)
setp pid.y.bias [JOINT_1](BIAS)
setp pid.y.FF0 [JOINT_1](FF0)
setp pid.y.FF1 [JOINT_1](FF1)
setp pid.y.FF2 [JOINT_1](FF2)
setp pid.y.deadband [JOINT_1](DEADBAND)
setp pid.y.maxoutput [JOINT_1](MAX_OUTPUT)
setp pid.y.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.y.maxerror [JOINT_1](MAX_ERROR)

# joint-1 enable chain
net joint-1-index-enable <=> pid.y.index-enable
net joint-1-index-enable <=> joint.1.index-enable

net joint-1-enable <= joint.1.amp-enable-out
net joint-1-enable => pid.y.enable

net joint-1-enable => hm2_[MESA](BOARD).0.stepgen.01.enable

# Joint 1 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.01.dirsetup [JOINT_1](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.01.dirhold [JOINT_1](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.01.steplen [JOINT_1](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.01.stepspace [JOINT_1](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.01.position-scale [JOINT_1](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.01.maxvel [JOINT_1](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.01.maxaccel [JOINT_1](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.01.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.01.control-type 1


# position command and feedback
net joint-1-pos-cmd <= joint.1.motor-pos-cmd
net joint-1-pos-cmd => pid.y.command

net joint-1-pos-fb <= hm2_[MESA](BOARD).0.stepgen.01.position-fb
net joint-1-pos-fb => joint.1.motor-pos-fb
net joint-1-pos-fb => pid.y.feedback

# PID Output
net joint.1.output <= pid.y.output
net joint.1.output => hm2_[MESA](BOARD).0.stepgen.01.velocity-cmd

# Axis: Z Joint: 2 Output: 2
# PID Setup
setp pid.z.Pgain [JOINT_2](P)
setp pid.z.Igain [JOINT_2](I)
setp pid.z.Dgain [JOINT_2](D)
setp pid.z.bias [JOINT_2](BIAS)
setp pid.z.FF0 [JOINT_2](FF0)
setp pid.z.FF1 [JOINT_2](FF1)
setp pid.z.FF2 [JOINT_2](FF2)
setp pid.z.deadband [JOINT_2](DEADBAND)
setp pid.z.maxoutput [JOINT_2](MAX_OUTPUT)
setp pid.z.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.z.maxerror [JOINT_2](MAX_ERROR)

# joint-2 enable chain
net joint-2-index-enable <=> pid.z.index-enable
net joint-2-index-enable <=> joint.2.index-enable

net joint-2-enable <= joint.2.amp-enable-out
net joint-2-enable => pid.z.enable

net joint-2-enable => hm2_[MESA](BOARD).0.stepgen.02.enable

# Joint 2 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.02.dirsetup [JOINT_2](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.02.dirhold [JOINT_2](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.02.steplen [JOINT_2](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.02.stepspace [JOINT_2](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.02.position-scale [JOINT_2](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.02.maxvel [JOINT_2](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.02.maxaccel [JOINT_2](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.02.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.02.control-type 1


# position command and feedback
net joint-2-pos-cmd <= joint.2.motor-pos-cmd
net joint-2-pos-cmd => pid.z.command

net joint-2-pos-fb <= hm2_[MESA](BOARD).0.stepgen.02.position-fb
net joint-2-pos-fb => joint.2.motor-pos-fb
net joint-2-pos-fb => pid.z.feedback

# PID Output
net joint.2.output <= pid.z.output
net joint.2.output => hm2_[MESA](BOARD).0.stepgen.02.velocity-cmd

# Axis: A Joint: 3 Output: 3
# PID Setup
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
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.a.maxerror [JOINT_3](MAX_ERROR)

# joint-3 enable chain
net joint-3-index-enable <=> pid.a.index-enable
net joint-3-index-enable <=> joint.3.index-enable

net joint-3-enable <= joint.3.amp-enable-out
net joint-3-enable => pid.a.enable

net joint-3-enable => hm2_[MESA](BOARD).0.stepgen.03.enable

# Joint 3 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.03.dirsetup [JOINT_3](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.03.dirhold [JOINT_3](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.03.steplen [JOINT_3](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.03.stepspace [JOINT_3](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.03.position-scale [JOINT_3](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.03.maxvel [JOINT_3](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.03.maxaccel [JOINT_3](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.03.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.03.control-type 1


# position command and feedback
net joint-3-pos-cmd <= joint.3.motor-pos-cmd
net joint-3-pos-cmd => pid.a.command

net joint-3-pos-fb <= hm2_[MESA](BOARD).0.stepgen.03.position-fb
net joint-3-pos-fb => joint.3.motor-pos-fb
net joint-3-pos-fb => pid.a.feedback

# PID Output
net joint.3.output <= pid.a.output
net joint.3.output => hm2_[MESA](BOARD).0.stepgen.03.velocity-cmd

# Axis: B Joint: 4 Output: 4
# PID Setup
setp pid.b.Pgain [JOINT_4](P)
setp pid.b.Igain [JOINT_4](I)
setp pid.b.Dgain [JOINT_4](D)
setp pid.b.bias [JOINT_4](BIAS)
setp pid.b.FF0 [JOINT_4](FF0)
setp pid.b.FF1 [JOINT_4](FF1)
setp pid.b.FF2 [JOINT_4](FF2)
setp pid.b.deadband [JOINT_4](DEADBAND)
setp pid.b.maxoutput [JOINT_4](MAX_OUTPUT)
setp pid.b.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.b.maxerror [JOINT_4](MAX_ERROR)

# joint-4 enable chain
net joint-4-index-enable <=> pid.b.index-enable
net joint-4-index-enable <=> joint.4.index-enable

net joint-4-enable <= joint.4.amp-enable-out
net joint-4-enable => pid.b.enable

net joint-4-enable => hm2_[MESA](BOARD).0.stepgen.04.enable

# Joint 4 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.04.dirsetup [JOINT_4](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.04.dirhold [JOINT_4](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.04.steplen [JOINT_4](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.04.stepspace [JOINT_4](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.04.position-scale [JOINT_4](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.04.maxvel [JOINT_4](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.04.maxaccel [JOINT_4](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.04.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.04.control-type 1


# position command and feedback
net joint-4-pos-cmd <= joint.4.motor-pos-cmd
net joint-4-pos-cmd => pid.b.command

net joint-4-pos-fb <= hm2_[MESA](BOARD).0.stepgen.04.position-fb
net joint-4-pos-fb => joint.4.motor-pos-fb
net joint-4-pos-fb => pid.b.feedback

# PID Output
net joint.4.output <= pid.b.output
net joint.4.output => hm2_[MESA](BOARD).0.stepgen.04.velocity-cmd

# Axis: C Joint: 5 Output: 5
# PID Setup
setp pid.c.Pgain [JOINT_5](P)
setp pid.c.Igain [JOINT_5](I)
setp pid.c.Dgain [JOINT_5](D)
setp pid.c.bias [JOINT_5](BIAS)
setp pid.c.FF0 [JOINT_5](FF0)
setp pid.c.FF1 [JOINT_5](FF1)
setp pid.c.FF2 [JOINT_5](FF2)
setp pid.c.deadband [JOINT_5](DEADBAND)
setp pid.c.maxoutput [JOINT_5](MAX_OUTPUT)
setp pid.c.error-previous-target True
# limit stepgen velocity corrections caused by position feedback jitter
setp pid.c.maxerror [JOINT_5](MAX_ERROR)

# joint-5 enable chain
net joint-5-index-enable <=> pid.c.index-enable
net joint-5-index-enable <=> joint.5.index-enable

net joint-5-enable <= joint.5.amp-enable-out
net joint-5-enable => pid.c.enable

net joint-5-enable => hm2_[MESA](BOARD).0.stepgen.05.enable

# Joint 5 Step Generator Settings
setp hm2_[MESA](BOARD).0.stepgen.05.dirsetup [JOINT_5](DIRSETUP)
setp hm2_[MESA](BOARD).0.stepgen.05.dirhold [JOINT_5](DIRHOLD)
setp hm2_[MESA](BOARD).0.stepgen.05.steplen [JOINT_5](STEPLEN)
setp hm2_[MESA](BOARD).0.stepgen.05.stepspace [JOINT_5](STEPSPACE)
setp hm2_[MESA](BOARD).0.stepgen.05.position-scale [JOINT_5](SCALE)
setp hm2_[MESA](BOARD).0.stepgen.05.maxvel [JOINT_5](STEPGEN_MAX_VEL)
setp hm2_[MESA](BOARD).0.stepgen.05.maxaccel [JOINT_5](STEPGEN_MAX_ACC)
setp hm2_[MESA](BOARD).0.stepgen.05.step_type 0
setp hm2_[MESA](BOARD).0.stepgen.05.control-type 1


# position command and feedback
net joint-5-pos-cmd <= joint.5.motor-pos-cmd
net joint-5-pos-cmd => pid.c.command

net joint-5-pos-fb <= hm2_[MESA](BOARD).0.stepgen.05.position-fb
net joint-5-pos-fb => joint.5.motor-pos-fb
net joint-5-pos-fb => pid.c.feedback

# PID Output
net joint.5.output <= pid.c.output
net joint.5.output => hm2_[MESA](BOARD).0.stepgen.05.velocity-cmd

# Board: 7i78

# Axis: U Joint: 6 Output: 0
# PID Setup
setp pid.u.Pgain [JOINT_6](P)
setp pid.u.Igain [JOINT_6](I)
setp pid.u.Dgain [JOINT_6](D)
setp pid.u.bias [JOINT_6](BIAS)
setp pid.u.FF0 [JOINT_6](FF0)
setp pid.u.FF1 [JOINT_6](FF1)
setp pid.u.FF2 [JOINT_6](FF2)
setp pid.u.deadband [JOINT_6](DEADBAND)
setp pid.u.maxoutput [JOINT_6](MAX_OUTPUT)
setp pid.u.error-previous-target True

# joint-6 enable chain
net joint-6-index-enable <=> pid.u.index-enable
net joint-6-index-enable <=> joint.6.index-enable

net joint-6-enable <= joint.6.amp-enable-out
net joint-6-enable => pid.u.enable

# position command and feedback
net joint-6-pos-cmd <= joint.6.motor-pos-cmd
net joint-6-pos-cmd => pid.u.command

net joint-6-pos-fb <= hm2_[MESA](BOARD).0.stepgen.06.position-fb
net joint-6-pos-fb => joint.6.motor-pos-fb
net joint-6-pos-fb => pid.u.feedback

# PID Output
net joint.6.output <= pid.u.output

# Standard I/O Block - EStop, Etc
# create a signal for the estop loopback
net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out
Attachments:

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

More
30 Nov 2024 18:09 #315670 by PCW
Replied by PCW on topic Mesa Configuration Tool
Looks like a mesact bug.

In the mean time you could just copy/paste/renumber
the stepgen section from another axis to get it working.

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

  • JT
  • JT's Avatar Topic Author
  • Away
  • Administrator
  • Administrator
More
01 Dec 2024 12:30 - 01 Dec 2024 12:35 #315727 by JT
Replied by JT on topic Mesa Configuration Tool
Fixed the 7i78 stepgens, download the deb again and reinstall.

JT
Last edit: 01 Dec 2024 12:35 by JT.
The following user(s) said Thank You: tommylight

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

Time to create page: 0.086 seconds
Powered by Kunena Forum