So far this is my working HAL on EC500 V5.
# Basic HAL config file for NVEM controller board running Remora firmware
# Configured for 3 joints (A, Y, Z axes) with home and limit switches
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
# load the Remora real-time component
loadrt remora-nv
# estop and SPI comms enable and feedback
net user-enable-out <= iocontrol.0.user-enable-out => remora.enable
net user-request-enable <= iocontrol.0.user-request-enable => remora.reset
net remora-status <= remora.status => iocontrol.0.emc-enable-in
# add the remora and motion functions to threads
addf remora.read servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf remora.update-freq servo-thread
addf remora.write servo-thread
# joint 0 setup (X axis)
setp remora.joint.0.scale [JOINT_0]SCALE
setp remora.joint.0.maxaccel [JOINT_0]STEPGEN_MAXACCEL
net j0pos-cmd joint.0.motor-pos-cmd => remora.joint.0.pos-cmd
net j0pos-fb remora.joint.0.pos-fb => joint.0.motor-pos-fb
net j0enable joint.0.amp-enable-out => remora.joint.0.enable
# joint 1 setup (Y axis)
setp remora.joint.1.scale [JOINT_1]SCALE
setp remora.joint.1.maxaccel [JOINT_1]STEPGEN_MAXACCEL
net j1pos-cmd joint.1.motor-pos-cmd => remora.joint.1.pos-cmd
net j1pos-fb remora.joint.1.pos-fb => joint.1.motor-pos-fb
net j1enable joint.1.amp-enable-out => remora.joint.1.enable
# joint 2 setup (Z axis)
setp remora.joint.2.scale [JOINT_2]SCALE
setp remora.joint.2.maxaccel [JOINT_2]STEPGEN_MAXACCEL
net j2pos-cmd joint.2.motor-pos-cmd => remora.joint.2.pos-cmd
net j2pos-fb remora.joint.2.pos-fb => joint.2.motor-pos-fb
net j2enable joint.2.amp-enable-out => remora.joint.2.enable
#Spindle Control 0V-10V Analog (working with 24K Spindle) At 12K getting 4.96V at 24K getting 9.77V
net spindle-cw remora.output.5
loadrt pwmgen output_type=1
loadrt scale count=1
loadrt lowpass count=1
loadrt abs count=1
addf scale.0 servo-thread
addf lowpass.0 servo-thread
addf abs.0 servo-thread
setp scale.0.gain 0.00416666667
net spindle-cmd-rpm spindle.0.speed-out => scale.0.in
net spindle-cmd-rpm-abs scale.0.out => abs.0.in
net spindle-speed-DAC abs.0.out => remora.SP.0
net spindle-cw <= spindle.0.forward
#Output Coolant Control M7 M8 M9
net coolant-flood iocontrol.0.coolant-flood remora.output.6
net coolant-mist iocontrol.0.coolant-mist remora.output.7
#Inputs
net estop-ext <= remora.input.24
net home-x <= remora.input.19
net home-y <= remora.input.13
net home-z <= remora.input.12
net spindle-index <= remora.input.5