# This file was created with the Mesa Configuration Tool on feb 03 2026 16:05:43 # 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="num_encoders=6 num_pwmgens=6 sserial_port_0=00000000" setp hm2_[MESA](BOARD).0.watchdog.timeout_ns 5000000 loadrt pid names=pid.x # 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 hm2_[MESA](BOARD).0.write servo-thread # amp enable net motion-enable <= motion.motion-enabled #net motion-enable => hm2_7i97t.0.out-00 #net motion-enable => hm2_[MESA](BOARD).0.gpio.000.out #oprindelig # Global PWM setup setp hm2_[MESA](BOARD).0.pwmgen.pwm_frequency 25000 # Board: 7i97t # 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 net joint-0-enable <= joint.0.amp-enable-out net joint-0-enable => pid.x.enable net joint-0-enable => hm2_[MESA](BOARD).0.pwmgen.00.enable # PWM Generator setup #setp hm2_[MESA](BOARD).0.pwmgen.00.value 1.0 #sætter fast 1 volt Proof of life setp hm2_[MESA](BOARD).0.pwmgen.00.output-type 1 #PWM pin0 setp hm2_[MESA](BOARD).0.pwmgen.00.offset-mode 1 #offset mode so 50% = 0 setp hm2_[MESA](BOARD).0.pwmgen.00.scale 10 #setp hm2_[MESA](BOARD).0.pwmgen.00.enable true # 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.encoder.00.position 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.pwmgen.00.value # Encoder Setup setp hm2_[MESA](BOARD).0.encoder.00.scale [JOINT_0](ENCODER_SCALE) setp hm2_[MESA](BOARD).0.encoder.00.counter-mode 0 setp hm2_[MESA](BOARD).0.encoder.00.filter 1 # 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 #loadusr -W halui #net estop-in halui.estop.activate => iocontrol.0.emc-enable-in #net estop-out iocontrol.0.emc-enable-out => halui.estop.reset # Kun til test – bypass enable-kæden #setp hm2_7i97t.0.pwmgen.00.enable true #setp pid.x.enable true #Hvis der skal bruges et enable signal fra "net motion-eable <= motion.motion-enabled" skal det kobes #til nogle fyskiske pins såsom #setp hm2_7i97t.0.gpio.XXX.is_output true # Forbind motion-enable til fysisk pin #net motion-enable => hm2_7i97t.0.gpio.XXX.out