# 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-eth-3.0 # 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 #----------------------------------------------------------------------- #Machine ON/OFF #----------------------------------------------------------------------- net machine_on <= halui.machine.is-on => halui.home-all #net machine_on <= remora.input.04 => halui.machine.on halui.home-all net machine_off <= remora.input.05.not => halui.machine.off #----------------------------------------------------------------------- #end-stops #----------------------------------------------------------------------- # net X-min remora.input.04 => joint.0.home-sw-in # net Y1-min remora.input.05 => joint.1.home-sw-in # net Y0-min remora.input.06 => joint.3.home-sw-in # net Z-min remora.input.07 => joint.2.home-sw-in #----------------------------------------------------------------------- #setup axis & joints #----------------------------------------------------------------------- # 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 (Y0 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 3 setup (Y1 axis) setp remora.joint.3.scale [JOINT_3]SCALE setp remora.joint.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL 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 # 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