loadrt trivkins # core HAL config file for steppers # first load the stepper module loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD loadrt stepgen step_type=0,0,0,0,0,0 # hook its functions to realtime threads addf stepgen.capture-position servo-thread addf stepgen.update-freq servo-thread addf stepgen.make-pulses base-thread #add motion controller to the threads addf motion-command-handler servo-thread addf motion-controller servo-thread # connect position commands from motion module to step generator net Xpos-cmd <= axis.0.motor-pos-cmd net Xpos-cmd => stepgen.0.position-cmd net Ypos-cmd <= axis.1.motor-pos-cmd net Ypos-cmd => stepgen.1.position-cmd net Zpos-cmd <= axis.2.motor-pos-cmd net Zpos-cmd => stepgen.2.position-cmd net Apos-cmd <= axis.3.motor-pos-cmd net Apos-cmd => stepgen.3.position-cmd net Bpos-cmd <= axis.4.motor-pos-cmd net Bpos-cmd => stepgen.4.position-cmd net Cpos-cmd <= axis.5.motor-pos-cmd net Cpos-cmd => stepgen.5.position-cmd # connect position feedback from step generators # to motion module net Xpos-fb <= stepgen.0.position-fb net Xpos-fb => axis.0.motor-pos-fb net Ypos-fb <= stepgen.1.position-fb net Ypos-fb => axis.1.motor-pos-fb net Zpos-fb <= stepgen.2.position-fb net Zpos-fb => axis.2.motor-pos-fb net Apos-fb <= stepgen.3.position-fb net Apos-fb => axis.3.motor-pos-fb net Bpos-fb <= stepgen.4.position-fb net Bpos-fb => axis.4.motor-pos-fb net Cpos-fb <= stepgen.5.position-fb net Cpos-fb => axis.5.motor-pos-fb # connect enable signals for step generators net Xen <= axis.0.amp-enable-out net Xen => stepgen.0.enable net Yen <= axis.1.amp-enable-out net Yen => stepgen.1.enable net Zen <= axis.2.amp-enable-out net Zen => stepgen.2.enable net Aen <= axis.3.amp-enable-out net Aen => stepgen.3.enable net Ben <= axis.4.amp-enable-out net Ben => stepgen.4.enable net Cen <= axis.5.amp-enable-out net Cen => stepgen.5.enable # connect signals to step pulse generator outputs net Xstep stepgen.0.step net Xdir stepgen.0.dir net Ystep stepgen.1.step net Ydir stepgen.1.dir net Zstep stepgen.2.step net Zdir stepgen.2.dir net Astep stepgen.3.step net Adir stepgen.3.dir net Bstep stepgen.4.step net Bdir stepgen.4.dir net Cstep stepgen.5.step net Cdir stepgen.5.dir # set stepgen module scaling - get values from ini file setp stepgen.0.position-scale [AXIS_0]INPUT_SCALE setp stepgen.1.position-scale [AXIS_1]INPUT_SCALE setp stepgen.2.position-scale [AXIS_2]INPUT_SCALE setp stepgen.3.position-scale [AXIS_3]INPUT_SCALE setp stepgen.4.position-scale [AXIS_4]INPUT_SCALE setp stepgen.5.position-scale [AXIS_5]INPUT_SCALE # set stepgen module velocity limits - get values from ini file setp stepgen.0.maxvel [AXIS_0]STEPGEN_MAXVEL setp stepgen.1.maxvel [AXIS_1]STEPGEN_MAXVEL setp stepgen.2.maxvel [AXIS_2]STEPGEN_MAXVEL setp stepgen.3.maxvel [AXIS_3]STEPGEN_MAXVEL setp stepgen.4.maxvel [AXIS_4]STEPGEN_MAXVEL setp stepgen.5.maxvel [AXIS_5]STEPGEN_MAXVEL # set stepgen module accel limits - get values from ini file setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL setp stepgen.3.maxaccel [AXIS_3]STEPGEN_MAXACCEL setp stepgen.4.maxaccel [AXIS_4]STEPGEN_MAXACCEL setp stepgen.5.maxaccel [AXIS_5]STEPGEN_MAXACCEL # load realtime portion of scope, just to have it handy loadrt scope_rt