Files
mayo-mill-probasic/mayo-mill-remora.hal
2026-06-06 18:16:06 +02:00

70 lines
2.6 KiB
Plaintext

# Generated by stepconf, adapted for Remora Ethernet on RP2040
# Using W5500-EVB-Pico or RP2040 with W5500 module
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_dio=6 num_aio=3
loadrt remora-eth-3.0
# Add Remora read/update/write functions to the servo thread
addf remora.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf remora.update servo-thread
addf remora.write servo-thread
# --- ESTOP ---
net estop-out <= iocontrol.0.user-enable-out
# E-stop input from Remora input 3 (GP28)
# If your hardware E-stop switch is active-low (Normally Closed to GND, open on press)
# and you need to invert it in HAL, you can load a 'not' component.
# Otherwise, we connect it directly here:
net estop-ext <= remora.input.3 => iocontrol.0.emc-enable-in
# --- PROBE ---
# Probe input from Remora input 4 (GP27)
net probe-in <= remora.input.4 => motion.probe-input
# --- SPINDLE ---
# Spindle signal is driven in custom.hal, we connect it here to the Remora output 0 (GP8)
net spindle-on => remora.output.0
# --- JOINT 0 (X AXIS) ---
setp remora.joint.0.scale [JOINT_0]SCALE
setp remora.joint.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp remora.joint.0.pgain [JOINT_0]P_GAIN
setp remora.joint.0.deadband [JOINT_0]DEADBAND
net xpos-cmd joint.0.motor-pos-cmd => remora.joint.0.pos-cmd
net xpos-fb remora.joint.0.pos-fb => joint.0.motor-pos-fb
net xenable joint.0.amp-enable-out => remora.joint.0.enable
net home-x <= remora.input.0 => joint.0.home-sw-in
# --- JOINT 1 (Y AXIS) ---
setp remora.joint.1.scale [JOINT_1]SCALE
setp remora.joint.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp remora.joint.1.pgain [JOINT_1]P_GAIN
setp remora.joint.1.deadband [JOINT_1]DEADBAND
net ypos-cmd joint.1.motor-pos-cmd => remora.joint.1.pos-cmd
net ypos-fb remora.joint.1.pos-fb => joint.1.motor-pos-fb
net yenable joint.1.amp-enable-out => remora.joint.1.enable
net home-y <= remora.input.1 => joint.1.home-sw-in
# --- JOINT 2 (Z AXIS) ---
setp remora.joint.2.scale [JOINT_2]SCALE
setp remora.joint.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp remora.joint.2.pgain [JOINT_2]P_GAIN
setp remora.joint.2.deadband [JOINT_2]DEADBAND
net zpos-cmd joint.2.motor-pos-cmd => remora.joint.2.pos-cmd
net zpos-fb remora.joint.2.pos-fb => joint.2.motor-pos-fb
net zenable joint.2.amp-enable-out => remora.joint.2.enable
net home-z <= remora.input.2 => joint.2.home-sw-in
# --- TOOL CHANGE ---
net tool-change-request <= iocontrol.0.tool-change
net tool-change-confirmed => iocontrol.0.tool-changed
net tool-number <= iocontrol.0.tool-prep-number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared