# load RT components loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS loadrt arisc pwm="p,p,p,p,p,f" in=PA2,PC1,PA19,PA7,PG8,PC3,PA10,PA20 out=PA3,PG7,PG6 encoders=3 # add RT functions to the servo thread addf arisc.encoder.read servo-thread addf arisc.gpio.read servo-thread addf arisc.pwm.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread addf arisc.gpio.write servo-thread addf arisc.pwm.write servo-thread # X axis setup # PA0:STEP, PA6:DIR setp arisc.pwm.0.pos-scale [JOINT_0]SCALE setp arisc.pwm.0.dc-cmd 0.5 # 50% setp arisc.pwm.0.dc-max-t 5000 setp arisc.pwm.0.dir-hold 50000 setp arisc.pwm.0.dir-setup 50000 setp arisc.pwm.0.pwm-port 0 setp arisc.pwm.0.pwm-pin 0 setp arisc.pwm.0.dir-port 0 setp arisc.pwm.0.dir-pin 6 net x-pos-cmd joint.0.motor-pos-cmd arisc.pwm.0.pos-cmd net x-pos-fb joint.0.motor-pos-fb arisc.pwm.0.pos-fb net x-vel-cmd joint.0.vel-cmd arisc.pwm.0.vel-cmd net x-en joint.0.amp-enable-out arisc.pwm.0.enable # X2 axis setup # PC4:STEP, PD14:DIR, PA3:EN setp arisc.pwm.1.pos-scale [JOINT_3]SCALE setp arisc.pwm.1.dc-cmd 0.5 # 50% setp arisc.pwm.1.dc-max-t 5000 setp arisc.pwm.1.dir-hold 50000 setp arisc.pwm.1.dir-setup 50000 setp arisc.pwm.1.pwm-port 2 # PC setp arisc.pwm.1.pwm-pin 4 setp arisc.pwm.1.dir-port 3 # PD setp arisc.pwm.1.dir-pin 14 net x2-pos-cmd joint.1.motor-pos-cmd arisc.pwm.1.pos-cmd net x2-pos-fb joint.1.motor-pos-fb arisc.pwm.1.pos-fb net x2-vel-cmd joint.1.vel-cmd arisc.pwm.1.vel-cmd net x2-en joint.1.amp-enable-out arisc.pwm.1.enable # Y axis setup # PA12:STEP, PA1:DIR setp arisc.pwm.2.pos-scale [JOINT_1]SCALE setp arisc.pwm.2.dc-cmd 0.5 # 50% setp arisc.pwm.2.dc-max-t 5000 setp arisc.pwm.2.dir-hold 50000 setp arisc.pwm.2.dir-setup 50000 setp arisc.pwm.2.pwm-port 0 # PA setp arisc.pwm.2.pwm-pin 12 setp arisc.pwm.2.dir-port 0 # PA setp arisc.pwm.2.dir-pin 1 net y-pos-cmd joint.2.motor-pos-cmd arisc.pwm.2.pos-cmd net y-pos-fb joint.2.motor-pos-fb arisc.pwm.2.pos-fb net y-vel-cmd joint.2.vel-cmd arisc.pwm.2.vel-cmd net y-en joint.2.amp-enable-out arisc.pwm.2.enable # Y2 axis setup # PA14:STEP, PC7:DIR, PA3:EN setp arisc.pwm.3.pos-scale [JOINT_4]SCALE setp arisc.pwm.3.dc-cmd 0.5 # 50% setp arisc.pwm.3.dc-max-t 5000 setp arisc.pwm.3.dir-hold 50000 setp arisc.pwm.3.dir-setup 50000 setp arisc.pwm.3.pwm-port 0 # PA setp arisc.pwm.3.pwm-pin 14 setp arisc.pwm.3.dir-port 2 # PC setp arisc.pwm.3.dir-pin 7 net y2-pos-cmd joint.3.motor-pos-cmd arisc.pwm.3.pos-cmd net y2-pos-fb joint.3.motor-pos-fb arisc.pwm.3.pos-fb net y2-vel-cmd joint.3.vel-cmd arisc.pwm.3.vel-cmd net y2-en joint.3.amp-enable-out arisc.pwm.3.enable # Z axis setup # PA13:STEP, PA11:DIR setp arisc.pwm.4.pos-scale [JOINT_2]SCALE setp arisc.pwm.4.dc-cmd 0.5 # 50% setp arisc.pwm.4.dc-max-t 5000 setp arisc.pwm.4.dir-hold 50000 setp arisc.pwm.4.dir-setup 50000 setp arisc.pwm.4.pwm-port 0 # PA setp arisc.pwm.4.pwm-pin 13 setp arisc.pwm.4.dir-port 0 # PA setp arisc.pwm.4.dir-pin 11 net z-pos-cmd joint.4.motor-pos-cmd arisc.pwm.4.pos-cmd net z-pos-fb joint.4.motor-pos-fb arisc.pwm.4.pos-fb net z-vel-cmd joint.4.vel-cmd arisc.pwm.4.vel-cmd net z-en joint.4.amp-enable-out arisc.pwm.4.enable # Encoder X # A - PA8, B - PA9 setp arisc.encoder.0.pos-scale [JOINT_0]SCALE setp arisc.encoder.0.A-port 0 # 0=PA setp arisc.encoder.0.A-pin 8 setp arisc.encoder.0.B-port 0 # 0=PA setp arisc.encoder.0.B-pin 9 # net x-enc-en arisc.encoder.0.enable joint.0.amp-enable-out # net x-pos-fb arisc.encoder.0.pos joint.0.motor-pos-fb # Encoder Y # A - PA18, B - PG9 setp arisc.encoder.1.pos-scale [JOINT_4]SCALE setp arisc.encoder.1.A-port 0 setp arisc.encoder.1.A-pin 18 setp arisc.encoder.1.B-port 6 setp arisc.encoder.1.B-pin 9 # net x-enc-en arisc.encoder.1.enable joint.2.amp-enable-out # net x-pos-fb arisc.encoder.1.pos joint.2.motor-pos-fb # Encoder Z # A - PC2, B - PA21 setp arisc.encoder.2.pos-scale [JOINT_4]SCALE setp arisc.encoder.2.A-port 2 setp arisc.encoder.2.A-pin 2 setp arisc.encoder.2.B-port 0 setp arisc.encoder.2.B-pin 21 # net x-enc-en arisc.encoder.2.enable joint.4.amp-enable-out # net x-pos-fb arisc.encoder.2.pos joint.4.motor-pos-fb # spindle setup # PC0:PWM setp arisc.pwm.5.freq-cmd 1000.0 # Hz setp arisc.pwm.5.dc-scale 24000.0 # max RPM setp arisc.pwm.5.pwm-port 0 # PA setp arisc.pwm.5.pwm-pin 0 setp arisc.pwm.5.dir-port 0 # PA setp arisc.pwm.5.dir-pin 3 setp arisc.pwm.5.dir-invert 1 net s-rpm spindle.0.speed-out arisc.pwm.5.dc-cmd net s-en spindle.0.on arisc.pwm.5.enable # X-MIN PA2 net home-x joint.0.home-sw-in joint.0.neg-lim-sw-in arisc.gpio.PA2-in # X2-MIN PA7 net home-x2 joint.1.home-sw-in joint.1.neg-lim-sw-in arisc.gpio.PA7-in # Y-MIN PC1 net home-y joint.2.home-sw-in joint.2.neg-lim-sw-in arisc.gpio.PC1-in # Y2-MIN PG8 net home-y2 joint.3.home-sw-in joint.3.neg-lim-sw-in arisc.gpio.PG8-in # Z-MIN PA19 net home-z joint.4.home-sw-in joint.4.neg-lim-sw-in arisc.gpio.PA19-in # LIMITS PC3 net limits arisc.gpio.PC3-in # probe PA10 net probe motion.probe-input arisc.gpio.PA10-in # estop in PA20 net estop-in iocontrol.0.emc-enable-in arisc.gpio.PA20-in # Cooling PG7 net coolant-flood iocontrol.0.coolant-flood arisc.gpio.PG7-out # ESTOP out PG6 net estop-out iocontrol.0.user-enable-out arisc.gpio.PG6-out # steppers enable (inverted) PA3 net x-en arisc.gpio.PA3-out # Uncomment for overriding external endstop # net estop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in