# 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 # 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 #----------------------------------------------------------------------- #- Setup Estop - #----------------------------------------------------------------------- # Allow external estop button loadrt estop_latch loadrt and2 #Add Estop pins to thread addf estop-latch.0 servo-thread addf and2.0 servo-thread #Estop and SPI comms enable and feedback net estop-button => estop-latch.0.fault-in <= remora.input.00 net estop-tripped-by-gui <= remora.status => and2.0.in0 net estop-gui-button <= estop-latch.0.ok-out => and2.0.in1 net stop-buttons-good <= and2.0.out => iocontrol.0.emc-enable-in net user-enable-out <= iocontrol.0.user-enable-out => remora.enable => estop-latch.0.ok-in net user-request-enable <= iocontrol.0.user-request-enable => remora.reset => estop-latch.0.reset net switch-off halui.machine.off remora.input.04 # net cancel-run halui.program.stop remora.input.05 halui.mdi-command-00 # net switch-off halui.machine.off remora.input.05 #----------------------------------------------------------------------- #end-stops - Home #----------------------------------------------------------------------- net X-min remora.input.01 => joint.0.home-sw-in net Y-min remora.input.02 => joint.1.home-sw-in net Z-min remora.input.03 => joint.2.home-sw-in # joint 0 setup (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]PGAIN 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 setp remora.joint.1.pgain [JOINT_1]PGAIN 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 setp remora.joint.2.pgain [JOINT_2]PGAIN 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 #joint 3 setup (A axis) setp remora.joint.3.scale [JOINT_3]SCALE setp remora.joint.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL setp remora.joint.2.pgain [JOINT_3]PGAIN setp remora.joint.0.ff1gain [JOINT_3]FF1_GAIN setp remora.joint.0.deadband [JOINT_3]DEADBAND net j3pos-cmd joint.3.motor-pos-cmd => remora.joint.3.pos-cmd net j3pos-fb remora.joint.3.pos-fb => joint.3.motor-pos-fb net j3enable joint.3.amp-enable-out => remora.joint.3.enable