diff --git a/LatheMacro.svg b/LatheMacro.svg old mode 100755 new mode 100644 index 86674ae726d45cfed573bf30c592926596e9e922..ed0e517555cb52d87071f3aacd463462ab773c4e --- a/LatheMacro.svg +++ b/LatheMacro.svg @@ -14,7 +14,7 @@ viewBox="0 0 888 686.00002" height="686" width="888" - inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" + inkscape:version="0.92.0 r15299" sodipodi:docname="LatheMacro.svg"> + inkscape:cx="610.67797" + inkscape:cy="326.46346" + inkscape:window-x="1912" + inkscape:window-y="244" + inkscape:window-maximized="1" + inkscape:current-layer="g6995-7" /> - Zero - Angle - Zero - Diameter - Zero - Depth - Zero - - Zero - + y="545.14081" /> Pitch - Zero - + y="585.67712" /> Feed + + 50 - diff --git a/gmoccapy_postgui.hal b/gmoccapy_postgui.hal index 3ae46c6a11e591875bfd035727c8786f5af99c3c..3d90ca8dd3b5f17082c1906cdfc8f5a46d79e6fc 100755 --- a/gmoccapy_postgui.hal +++ b/gmoccapy_postgui.hal @@ -1,8 +1,3 @@ -loadrt not count=2 - -addf not.0 servo-thread -addf not.1 servo-thread - net X-homed => halui.joint.0.home net Z-homed => halui.joint.2.home net Y-Homed => halui.joint.1.home @@ -11,47 +6,42 @@ net Home-All <= gmoccapy.joint.all.home net Home-X <= gmoccapy.joint.0.home net Home-Z <= gmoccapy.joint.2.home -net ToolChangeFailed halui.program.stop +net ToolChangeFailed halui.program.stop -net SpindleNormal halui.spindle.0.forward -net SpindleOff halui.spindle.0.stop -net SpindleReverse halui.spindle.0.reverse +net SpindleNormal halui.spindle.0.forward +net SpindleOff halui.spindle.0.stop +net SpindleReverse halui.spindle.0.reverse -net CoolantBtnOn halui.flood.on -net CoolantBtnOff halui.flood.off -net CoolantPumpOnLamp halui.flood.is-on +net CoolantOn halui.flood.on +net CoolantOff halui.flood.off +net CoolantPump halui.flood.is-on -net CycleStart halui.program.run -net ProgramPause halui.program.pause -net ProgramResume halui.program.resume -net ProgramStep halui.program.step +net CycleStartBtn halui.program.run +net FeedHoldBtn halui.program.pause -net FeedHoldLamp halui.program.is-paused -net CycleStartLamp halui.program.is-running +net XSelect halui.axis.x.select +net ZSelect halui.axis.z.select +net XJogPlus gmoccapy.jog.axis.jog-x-plus +net XJogMinus gmoccapy.jog.axis.jog-x-minus +net ZJogPlus gmoccapy.jog.axis.jog-z-plus +net ZJogMinus gmoccapy.jog.axis.jog-z-minus -net XSelect halui.axis.x.select -net ZSelect halui.axis.z.select -net XJogPlus gmoccapy.jog.axis.jog-x-plus -net XJogMinus gmoccapy.jog.axis.jog-x-minus -net ZJogPlus gmoccapy.jog.axis.jog-z-plus -net ZJogMinus gmoccapy.jog.axis.jog-z-minus - -net XZeroed halui.joint.0.is-homed -net ZZeroed halui.joint.2.is-homed -net MachineIsOn halui.machine.is-on -net MachineOn halui.machine.on -#net ModeManual halui.mode.is−manual +net XZeroed halui.joint.0.is-homed +net ZZeroed halui.joint.2.is-homed +net MachineIsOn halui.machine.is-on +net MachineOn halui.machine.on +#net ModeManual halui.mode.is−manual #net ToolChangeRequest iocontrol.0.tool-change #net ToolPrepPrepPocket iocontrol.0.tool-prep-pocket #net ToolChangeOk iocontrol.0.tool-changed -net ModeAuto halui.mode.auto -net ModeMDI halui.mode.mdi -net ModeMan halui.mode.manual +net ModeAuto halui.mode.auto +net ModeMDI halui.mode.mdi +net ModeMan halui.mode.manual -net ManualTC halui.mdi-command-00 +net ManualTC halui.mdi-command-00 #net ManualTC2 => halui.mdi−command−02 #net ManualTC3 => halui.mdi−command−03 #net ManualTC4 => halui.mdi−command−04 @@ -60,28 +50,21 @@ net ManualTC halui.mdi-command-00 #net ManualTC7 => halui.mdi−command−07 #net ManualTC8 => halui.mdi−command−08 -############################################################ -#Mode modifiers -############################################################ +setp gmoccapy.feed.feed-override.analog-enable true +net FeedOverride gmoccapy.feed.feed-override.direct-value +setp gmoccapy.jog.jog-velocity.analog-enable true +net FeedOverride gmoccapy.jog.jog-velocity.direct-value + +setp gmoccapy.rapid.rapid-override.analog-enable true +net RapidOverride gmoccapy.rapid.rapid-override.direct-value -net BlockDeleteBtn halui.program.block-delete.on -net BlockDeleteBtn not.0.in -net BlockDeleteBtn_not not.0.out -net BlockDeleteBtn_not halui.program.block-delete.off +setp gmoccapy.spindle.spindle-override.analog-enable true +net SpindleOverride gmoccapy.spindle.spindle-override.direct-value -net OptstopBtn halui.program.optional-stop.on -net OptstopBtn not.1.in -net OptstopBtn_not not.1.out -net OptstopBtn_not halui.program.optional-stop.off +net spindle-vel-fb-rpm-abs gmoccapy.spindle_feedback_bar -############################################################ -#Overrides -############################################################ +net PanelKey gmoccapy.unlock-settings -setp gmoccapy.feed.feed-override.analog-enable true -net FeedOverride gmoccapy.feed.feed-override.direct-value -setp gmoccapy.jog.jog-velocity.analog-enable true -net FeedOverride gmoccapy.jog.jog-velocity.direct-value +net RapidJog gmoccapy.jog.turtle-jog -setp gmoccapy.rapid.rapid-override.analog-enable true -net RapidOverride gmoccapy.rapid.rapid-override.direct-value +#net CycleStartBtn gladevcp.cycle-start diff --git a/lathemacro/boring.ngc b/lathemacro/boring.ngc deleted file mode 100755 index 37356833b19f7c8855ebd5e4c2a56026de4aa0be..0000000000000000000000000000000000000000 --- a/lathemacro/boring.ngc +++ /dev/null @@ -1,92 +0,0 @@ -;boring -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G8 ; Lathe radius Mode -G90 ; Absolute Distance -G91.1 ; but not for arcs - -; #1 X coord -; #2 surface speed -; #3 cut size -; #4 feed/rpm -; #5 Z coord -; #6 radius -; #7 angle -; #8 tool number -; #9 coolant - - O10 if [#9 EQ 1] - M8 - O10 endif - -;M6 T#8 G43 - O100 if [#8 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#1 = [#1 / 2] ; because of radius mode - -#14 = [#<_x>] (startinG X) -#13 = #<_z> (startinG Z) - -#20 = [#6 * SIN[#7]] -#21 = [-#6 * COS[#7]] -#22 = [#6 / COS[#7]] -#23 = [#5 + #6 - #20] -#24 = [[#23 - #13] * TAN[#7]] - -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 ;Start Spindle -G95 F#4 ; Feed-Per-Rev Mode -G4P1 ; Wait to reach speed - -(debuG, TurninG finish dia #1 start dia #14 start lenGth #13 finish lenGth #5) - O101 WHILE [#14 LT [#1 - #3]] - G0 X #14 - #14=[#14 + #3] - G1 X #14 - G1 Z #23 X[#14 + #24] - - o102 IF [#6 GT 0] - G3 Z#5 X[#14 + #24 + #21] I#21 K#20 - G1 X[#14 + #24 + #21 - #3] - o102 ELSE - G1 X[#14 + #24 - [#3 * 1.5]] - o102 ENDIF - - G0 Z[#13] - O101 ENDWHILE - -G0 X#1 -G1 Z#23 X[#1 + #24] - - O103 IF [#6 GT 0] - G3 Z#5 X[#1 + #24 + #21] I#21 K#20 - G1 X[#1 + #24 + #21 - #3] - O103 ELSE - G1 X[#1 + #24 - #3] - O103 ENDIF - -G0 Z#13 -G0 X#1 ; For touch-off - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/chamfer.ngc b/lathemacro/chamfer.ngc deleted file mode 100755 index 9069fe39ddebafddc9a9188bbc3378df3e0fc025..0000000000000000000000000000000000000000 --- a/lathemacro/chamfer.ngc +++ /dev/null @@ -1,108 +0,0 @@ -;chamfer -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G8 ; Lathe radius Mode -G90 ; Absolute Distance - -; #1 X coord -; #2 feed/rpm -; #3 0.5 ? -; #4 0 ? -; #5 Z coord -; #6 tool number -; #7 0 ? -; #8 chamfer size -; #9 exterior front -; #10 interior -; #11 exterior rear -; #12 coolant - - O10 if [#12 EQ 1] - M8 - O10 endif - - -;M6 T#6 G43 - O100 if [#6 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#1 = [#1 / 2] ; because of radius mode - -#14 = [#<_x>] (starting X) -#13 = [#<_z>] (starting Z) - -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 -G95 F0.1 ; Feed-Per-Rev Mode - -#20 = 0 - O101 if [#9 GT 0.5] ; front outside - o102 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 - #20] z#13 - G1 z#5 - G1 x#1 z[#5 - #20] - G1 x #14 - G0 z#13 - o102 endwhile - G0 x#14 z#13 - G0 x[#1 - #8] - G1 z#5 - G1 x#1 z[#5 - #8] - G1 x #14 - G0 z#13 - O101 elseif [#10 GT 0.5] ; front inside - o103 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 + #20] z#13 - G1 z#5 - G1 x#1 z[#5 - #20] - G1 x #14 - G0 z#13 - o103 endwhile - - G0 x#14 z#13 - G0 x[#1 + #8] - G1 z#5 - G1 x#1 z[#5 - #8] - G1 x #14 - G0 z#13 - O101 elseif [#11 GT 0.5] ; back outside - o104 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 - #20] z#13 - G1 z#5 - G1 x#1 z[#5 + #20] - G1 x #14 - G0 z#13 - o104 endwhile - - G0 x#14 z#13 - G0 x[#1 - #8] - G1 z#5 - G1 x#1 z[#5 + #8] - G1 x #14 - G0 z#13 - O101 endif - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/drill.ngc b/lathemacro/drill.ngc deleted file mode 100755 index 2a9934d4f62cd21abf5c11207cdac27371ee0e9d..0000000000000000000000000000000000000000 --- a/lathemacro/drill.ngc +++ /dev/null @@ -1,62 +0,0 @@ -;drill -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G7 ; diameter mode -G90 ; Absolute Distance - -; #1 drill diameter -; #2 ydepth -; #3 speed -; #4 feed/rpm -; #5 tool number -; #6 peck amount -; #7 retract amount -; #8 coolant - - O10 if [#8 EQ 1] - M8 - O10 endif - -#9 = #<_y> (starting Y) - -;M6 T#5 G43 - O100 if [#5 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#7 = [[1000 * #3] / [3.1415 * #1]] ; metric mode RPM - -G97 S#7 ; Constant RPM mode -M3 ;Start Spindle -G95 F#4 ; Feed-Per-Rev Mode -G4 P1 ; Wait to reach speed - -(debug, Drilling dia #1 depth #2 asked-speed #3 feed/rpm #4 tool #5 peck dist #6 calculated-rpm #7 start-Y #9) -(MSG, ERROR : TODO must retract the X axis to home position) -; G0 X0 ; TODO must retract the X axis to home position -;G0 Y#9 -G98 -G83 Y#2 R#9 Q#6 -G80 -;G0 Y#9 - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/facing.ngc b/lathemacro/facing.ngc deleted file mode 100755 index 58e39e6568c278de4d2d814f1ec30e5313bfe0a7..0000000000000000000000000000000000000000 --- a/lathemacro/facing.ngc +++ /dev/null @@ -1,71 +0,0 @@ -;Facing -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G7 ; diameter mode -G90 ; Absolute Distance - -; #1 X coord -; #2 surface speed -; #3 cut size -; #4 feed/rpm -; #5 Z coord -; #6 angles -; #7 tool number -; #8 coolant - - O10 if [#8 EQ 1] - M8 - O10 endif - - O20 IF [#6 NE 0] - (MSG, Angled facing isn't supported yet) - O20 ENDIF - -;M6 T#7 G43 - O100 if [#7 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#14 = [#<_x> * 2] (starting X) -#13 = #<_z> (starting Z) - -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 -G95 F#4 ; Feed-Per-Rev Mode -G4P1 ; Wait to reach speed - - O200 WHILE [#13 GT #5 + #3] - #13=[#13-#3] - G1 Z#13 - G1 X#1 - G0 Z[#13+#3] - G0 X#14 - G0 Z#13 - O200 ENDWHILE - -G1 Z#5 -G1 X#1 -G0 Z[#13+#3] -G0 X[#14+#3] -G0 Z#5 ; For touch-off - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/radius.ngc b/lathemacro/radius.ngc deleted file mode 100755 index 5bdf44ad95cd4cdc502e4b98c50bf56b59b88404..0000000000000000000000000000000000000000 --- a/lathemacro/radius.ngc +++ /dev/null @@ -1,109 +0,0 @@ -;radius -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G7 ; diameter mode -G90 ; Absolute Distance - -; #1 X coord -; #2 feed/rpm -; #3 0.5 ? -; #4 0 ? -; #5 Z coord -; #6 tool number -; #7 0 ? -; #8 radius size -; #9 exterior front -; #10 interior -; #11 exterior rear -; #12 coolant - - O10 if [#12 EQ 1] - M8 - O10 endif - -;M6 T#6 G43 - O100 if [#6 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#1 = [#1 / 2] ; because of radius mode -#14 = [#<_x>] (starting X) -#13 = [#<_z>] (starting Z) - -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 -G95 F0.1 ; Feed-Per-Rev Mode -G4P1 ; Wait to reach speed - -#20 = 0 - O101 if [#9 GT 0.5] ; Front outside - o102 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 - #20] z#13 - G1 z#5 - G3 x#1 z[#5 - #20] K[-#20] - G1 x #14 - G0 z#13 - o102 endwhile - G0 x#14 z#13 - G0 x[#1 - #8] - G1 z#5 - G3 x#1 z[#5 - #8] K[-#8] - G1 x #14 - G0 z#13 - O101 elseif [#10 GT 0.5] ; front inside - o103 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 + #20] z#13 - G1 z#5 - G2 x#1 z[#5 - #20] K[-#20] - G1 x #14 - G0 z#13 - o103 endwhile - - G0 x#14 z#13 - G0 x[#1 + #8] - G1 z#5 - G2 x#1 z[#5 - #8] K[-#8] - G1 x #14 - G0 z#13 - - O101 elseif [#11 GT 0.5] ; back outside - o104 while [[#20 + #3] lt #8] - #20 = [#20 + #3] - G0 x[#1 - #20] z#13 - G1 z#5 - G2 x#1 z[#5 + #20] K#20 - G1 x #14 - G0 z#13 - o104 endwhile - - G0 x#14 z#13 - G0 x[#1 - #8] - G1 z#5 - G2 x#1 z[#5 + #8] K#8 - G1 x #14 - G0 z#13 - - O101 endif - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/restore.ngc b/lathemacro/restore.ngc deleted file mode 100755 index 3c2b5838c6f3a2cacfe369ef77e607e2893612f4..0000000000000000000000000000000000000000 --- a/lathemacro/restore.ngc +++ /dev/null @@ -1,93 +0,0 @@ -; restore metric/inch absolute/relative, feed as per paramter values -; call as 'O call [originalmetric] [originalabs] [originalfeed] [originalcomp] -; -;[#] [#] [#] [#] [#] [#] [#] -; -O sub -O100 if [#1 NE #<_metric>] -O200 if [#1] - G21 -O200 else - G20 -O200 endif -O100 endif - -O300 if [#2 NE #<_absolute>] -O400 if [#2] - G90 -O400 else - G91 -O400 endif -O300 endif - -O500 if [#3 NE #<_feed>] - F[#3] -O500 endif - - -O600 if [#4 NE #<_ccomp>] - O601 if [#4 EQ 400] - G40 - O601 endif - O602 if [#4 EQ 411] - G41.1 - O602 endif - O603 if [#4 EQ 420] - G42 - O603 endif - O604 if [#4 EQ 421] - G42.1 - O604 endif -O600 endif - - -O700 if [#5 NE #<_coord_system>] - O701 if [#5 EQ 540] - G54 - O701 endif - O702 if [#5 EQ 550] - G55 - O702 endif - O703 if [#5 EQ 560] - G56 - O703 endif - O704 if [#5 EQ 570] - G57 - O704 endif - O705 if [#5 EQ 580] - G58 - O705 endif - O706 if [#5 EQ 590] - G59 - O706 endif - O707 if [#5 EQ 591] - G59.1 - O707 endif - O708 if [#5 EQ 592] - G59.2 - O708 endif - O709 if [#5 EQ 593] - G59.3 - O709 endif -O700 endif - - -O800 if [#6 NE #<_lathe_diameter_mode>] - O801 if [#6] - G7 - O801 else - G8 - O801 endif -O800 endif - - -O900 if [#7 NE #<_ijk_absolute_mode>] - O901 if [#7] - G90.1 - O901 else - G91.1 - O901 endif -O900 endif - -O endsub -M2 diff --git a/lathemacro/threading.ngc b/lathemacro/threading.ngc deleted file mode 100755 index 81e567e1bd7aa2d6c38f2647000e990038235f4c..0000000000000000000000000000000000000000 --- a/lathemacro/threading.ngc +++ /dev/null @@ -1,96 +0,0 @@ -;threading -O sub - -; #1=thread.x, #2=thread.sf, #3=thread.tool-s, #4=thread.pitch-f, #5=thread.z-f, #6=thread.internal #7=thread.external - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G8 ; Lathe radius Mode -G90 ; Absolute Distance - -; #1 X coord -; #2 feed/rpm -; #3 tool number -; #4 pitch -; #5 Z coord -; #6 interior -; #7 exterior -; #8 coolant - - O10 if [#8 EQ 1] - M8 - O10 endif -;M6 T#3 G43 - O100 if [#3 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#1 = [#1 / 2.0] -#14 = [#<_x> * 2] (starting X) -#13 = #<_z> (starting Z) -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 -G4 P1 ; Wait to reach speed - -# = [0.86603 * #4] -# = [# * 0.125] -# = [# * 0.250] -# = [# * 0.625] -;(debug, #40 # # #) - - O101 IF [#<_metric>] - # = 0.2 - # = 0.1 - O101 ELSE - # = 0.007 - # = 0.004 - O101 ENDIF - -G95 F# ; Feed-Per-Rev Mode - -;Threading - O102 IF [#6 GT 0.5] ;internal - ;cut the minor flat diameter - ;(debug, INTERNAL Threading thread dia-#1 start-#13 finish-#5 Pitch-#4 Depth-#3) - G0 Z #13 - G0 X [#1 + # - #] - G1 Z #5 - G0 X [#1 - #] - G0 Z #13 - G96 D600 S#2 ; limit RPM in threading mode - G76 P#4 Z#5 i# j# k# H3 R1.5 Q29.5 E0 L0 - G0 X [#1 - 0.5] - O102 ELSE ;external - ; cut the major diameter - ;(debug, EXTERNAL Threading thread dia-#1 start-#13 finish-#5 Pitch-#4 Depth-#3 MF #) - G0 Z #13 - G0 X #1 - G1 X [#1 - #] - G1 Z #5 - G0 X #1 - G0 Z #13 - G96 D600 S#2 ; limit RPM in threading mode - G76 P#4 Z#5 i[-#] j# k# H3 R1.5 Q29.5 E0 L0 - G0 X [#1 + 0.5] - O102 ENDIF - -G0 Z#13 - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro/turning.ngc b/lathemacro/turning.ngc deleted file mode 100755 index 6507f1b14886685294cf2cf446ec97638e979c1a..0000000000000000000000000000000000000000 --- a/lathemacro/turning.ngc +++ /dev/null @@ -1,102 +0,0 @@ -;Turning -O sub - -# = #<_ccomp> -# = #<_metric> -# = #<_absolute> -# = #<_feed> -# = #<_coord_system> -# = #<_lathe_diameter_mode> -# = #<_ijk_absolute_mode> - -G8 ; Lathe radius Mode -G90 ; Absolute Distance -G91.1 ; but not for arcs - -; #1 X coord -; #2 surface speed -; #3 cut size -; #4 feed/rpm -; #5 Z coord -; #6 radius -; #7 angle -; #8 tool number -; #9 coolant - - O10 if [#9 EQ 1] - M8 - O10 endif - -;M6 T#8 G43 - O100 if [#8 NE #<_current_tool>] - (MSG, ERROR : Set tool before use macro) - O call [#] [#] [#] [#] [#] [#] [#] - O100 return [-2] ; indicate failure to epilog - O100 endif - -#1 = [#1 / 2] ; because of radius mode -#14 = [#<_x>] (starting X) -#13 = #<_z> (starting Z) - -#20 = [#6 * SIN[#7]] -#21 = [#6 * COS[#7]] -#22 = [#6 / COS[#7]] -#23 = [#5 + #6 - #20] -#24 = [[#13 - #23] * TAN[#7]] - -G96 D2500 S#2 ; Constant Surface Speed Mode -M3 ;Start Spindle -G95 F#4 ; Feed-Per-Rev Mode -G4P1 ; Wait to reach speed - -(debug, Turning finish rad #1 start rad #14 start length #13 finish length #5) - -;[${turn.x-f}] [${turn.sf-f}] [${turn.cut-f}] [${turn.feed-f}] [${turn.z-f}] [${turn.rad-f}] [${turn.angle-f}] [${turn.tool-s}] - - O101 WHILE [#14 GT [#1 + #3 / 2]] - G0 X #14 - #14=[#14-#3 / 2] - G1 X #14 - G1 Z #23 X[#14 + #24] - - o102 IF [#6 GT 0] - G2 Z#5 X[#14 + #24 + #21] I#21 K#20 - G1 X[#14 + #24 + #21 + #3/2] - o102 ELSE - G1 X[#14 + #24 + [#3 * .6]] - o102 ENDIF - - o103 IF [#7 LT 0] - G0 X#14 - o103 ENDIF - - G0 Z[#13] - O101 ENDWHILE - -G0 X#1 -G1 Z #23 X[#1 + #24] - - O104 IF [#6 GT 0] - G2 Z#5 X[#1 + #24 + #21] I#21 K#20 - G1 X[#1 + #24 + #21 + #3] - O104 ELSE - G1 X[#1 + #24 + #3] - O104 ENDIF - - O105 IF [#7 LT 0] - G0 X#14 - O105 ENDIF - -G0 Z#13 -G0 X#1 ; For touch-off - -M5 -M9 - -; restore g20/21, g90/g91, feed - O call [#] [#] [#] [#] [#] [#] [#] - -O endsub - -M2 -% diff --git a/lathemacro_postgui.hal b/lathemacro_postgui.hal new file mode 100644 index 0000000000000000000000000000000000000000..721888388b5a41c361ce98b9b52710aea8aefc3e --- /dev/null +++ b/lathemacro_postgui.hal @@ -0,0 +1,3 @@ +## For use clear axis notification You also need to add this or for general use add a POSTGUI_HALFILE file or add this is your postgui.hal +net clear-axis-message <= motion.digital-out-00 +net clear-axis-message => axisui.notifications-clear-info diff --git a/lathemacros/backup_restore.ngc b/lathemacros/backup_restore.ngc new file mode 100644 index 0000000000000000000000000000000000000000..7a545e26486ee12bc72679eaf9dac022362f8867 --- /dev/null +++ b/lathemacros/backup_restore.ngc @@ -0,0 +1,172 @@ +; backup_restore metric/inch absolute/relative, feed as per paramter values +; call as o call ; backup_restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var +; +o sub +; +;RS274NGC_STARTUP_CODE = G7 G18 G21 G40 G49 G54 G64 P0.001 G80 G90 G90.1 G92.1 G94 G97 G99 M5 M9 M53 +;for a complete restore according to what is configured in my ini +G64P0.001 G97 G99 M5 M9 + + + +o1 if [EXISTS [#<_backup_metric>]] + + (DEBUG,RESTORE MODAL STATUS USING _BACKUP_VAR) + + o10 if [#<_backup_metric> NE #<_metric>] + o11 if [#<_backup_metric>] + G21 + o11 else + G20 + o11 endif + o10 endif + + + o20 if [#<_backup_absolute> NE #<_absolute>] + o21 if [#<_backup_absolute>] + G90 + o21 else + G91 + o21 endif + o20 endif + + + o30 if [#<_backup_feed> NE #<_feed>] + F[#<_backup_feed>] + o30 endif + + + o40 if [#<_backup_ccomp> NE #<_ccomp>] + o41 if [#<_backup_ccomp> EQ 400] + G40 + o41 elseif [#<_backup_ccomp> EQ 410] + G41 + o41 elseif [#<_backup_ccomp> EQ 411] + G41.1 + o41 elseif [#<_backup_ccomp> EQ 420] + G42 + o41 elseif [#<_backup_ccomp> EQ 421] + G42.1 + o41 endif + o40 endif + + + o50 if [#<_backup_tool_offset> NE #<_tool_offset>] + o51 if [#<_backup_tool_offset> EQ 490] + G49 + o51 elseif [#<_backup_tool_offset> EQ 430] + G43 + o51 elseif [#<_backup_tool_offset> EQ 431] + G43.1 + o51 elseif [#<_backup_tool_offset> EQ 432] + G43.2 + o51 endif + o50 endif + + + o60 if [#<_backup_coord_system> NE #<_coord_system>] + o61 if [#<_backup_coord_system> EQ 540] + G54 + o61 elseif [#<_backup_coord_system> EQ 550] + G55 + o61 elseif [#<_backup_coord_system> EQ 560] + G56 + o61 elseif [#<_backup_coord_system> EQ 570] + G57 + o61 elseif [#<_backup_coord_system> EQ 580] + G58 + o61 elseif [#<_backup_coord_system> EQ 590] + G59 + o61 elseif [#<_backup_coord_system> EQ 591] + G59.1 + o61 elseif [#<_backup_coord_system> EQ 592] + G59.2 + o61 elseif [#<_backup_coord_system> EQ 593] + G59.3 + o61 endif + o60 endif + + + o70 if [#<_backup_ijk_abs_mode> NE #<_ijk_absolute_mode>] + o71 if [#<_backup_ijk_abs_mode>] + G90.1 + o71 else + G91.1 + o71 endif + o70 endif + + + ;o80 if [#<_backup_lathe_mode>} + o81 if [#<_backup_lathe_diam_mode> NE #<_lathe_diameter_mode>] + o82 if [#<_backup_lathe_diam_mode>] + G7 (lathe diameter mode) + o82 else + G8 + o82 endif + o81 endif + ;o80 endif + + + o90 if [#<_backup_plane> NE #<_plane>] + o91 if [#<_backup_plane> EQ 170] + G17 + o91 elseif [#<_backup_plane> EQ 180] + G18 + o91 elseif [#<_backup_plane> EQ 190] + G19 + o91 elseif [#<_backup_plane> EQ 171] + G17.1 + o91 elseif [#<_backup_plane> EQ 181] + G18.1 + o91 else if [#<_backup_plane> EQ 191] + G19.1 + o91 endif + o90 endif + + + o100 if [#<_backup_units_per_min> NE #<_units_per_minute>] + o101 if [#<_backup_units_per_min> EQ 1] + G94 + o101 else + G95 + o101 endif + o100 endif + + + o110 if [#<_backup_retract_old_z> NE #<_retract_old_z>] + o111 if [#<_backup_retract_old_z> EQ 1] + G99 + o111 else + G98 + o111 endif + o110 endif + +o1 else + + (DEBUG,RESTORE MODAL STATUS USING FIXED VALUE) + + ; FULL STATRUP LIST FROM CONFIG + ;G7 G18 G21 G40 G49 G54 G64P0.001 G80 G90 G90.1 G92.1 G94 G97 G99 M5 M9 M53 + + ; o1 if [#<_ini[DISPLAY]LATHE> EQ 1] + ; G7 (lathe diameter mode) + ; o1 endif + + G21 (metric) + G40 (cutter compensation off) + G54 (origin offsets are set to the default) + G64 P0.001 (Path Blending) + G80 (cancel canned cycle) + G90 (absolute) + G90.1 (Arc Distance mode) + G92.1 + G94 (feed mode: units/minute) + G97 (spindle rpm mode) + G99 (canned cycle return mode) + M48 (set feed and speed overrides) + M53 (feed Stop Control) + +o1 endif + +o endsub +M2 diff --git a/lathemacros/backup_status.ngc b/lathemacros/backup_status.ngc new file mode 100644 index 0000000000000000000000000000000000000000..9bbd10f1d47ca57d2fd1d1830844c48b1938bd2e --- /dev/null +++ b/lathemacros/backup_status.ngc @@ -0,0 +1,21 @@ +o sub + +#<_backup_retract_old_z> = #<_retract_old_z> +#<_backup_units_per_min> = #<_units_per_minute> +#<_backup_plane> = #<_plane> +#<_backup_metric> = #<_metric> +#<_backup_absolute> = #<_absolute> +#<_backup_feed> = #<_feed> +#<_backup_ccomp> = #<_ccomp> +#<_backup_tool_offset> = #<_tool_offset> +#<_backup_coord_system> = #<_coord_system> +#<_backup_ijk_abs_mode> = #<_ijk_absolute_mode> +;o10 if [#<_ini[DISPLAY]LATHE> EQ 1] + #<_backup_lathe_diam_mode> = #<_lathe_diameter_mode> +; #<_backup_lathe_mode> = 1 +;o10 else +; #<_backup_lathe_mode> = 0 +;o10 endif + +o endsub +M2 diff --git a/lathemacros/boring.ngc b/lathemacros/boring.ngc new file mode 100644 index 0000000000000000000000000000000000000000..cd744d7b63deeb05da7deaf00ecad6341dda93a2 --- /dev/null +++ b/lathemacros/boring.ngc @@ -0,0 +1,86 @@ +;boring +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 +# = #4 +# = #5 +# = #6 +# = #7 +# = #8 +# = #9 + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G8 ; Lathe radius Mode +G18 ; XZ Plane +G21 ; Metric Units +G90 ; Absolute Distance +G91.1 ; but not for arcs + +# = [# / 2] ; because of radius mode +# = [#<_x>] (startinG X) +# = #<_z> (startinG Z) + +#20 = [# * SIN[#]] +#21 = [-# * COS[#]] +#22 = [# / COS[#]] +#23 = [# + # - #20] +#24 = [[#23 - #] * TAN[#]] + +G96 D2500 S# ; Constant Surface Speed Mode +M3 ; Start Spindle +G95 F# ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +(DEBUG,Turning finish dia-# start rad-# start length-# finish length-#) + + O200 while [# LT [# - #]] + G0 X # + #=[# + #] + G1 X # + G1 Z #23 X[# + #24] + + o201 if [# GT 0] + G3 Z# X[# + #24 + #21] I#21 K#20 + G1 X[# + #24 + #21 - #] + o201 else + G1 X[# + #24 - [# * 1.5]] + o201 endif + + G0 Z[#] + O200 endwhile + + G0 X# + G1 Z#23 X[# + #24] + + O300 if [# GT 0] + G3 Z# X[# + #24 + #21] I#21 K#20 + G1 X[# + #24 + #21 - #] + O300 else + G1 X[# + #24 - #] + O300 endif + + G0 Z# + G0 X# ; For touch-off + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/chamfer.ngc b/lathemacros/chamfer.ngc new file mode 100644 index 0000000000000000000000000000000000000000..7c21d6de9b012502e05ad85cf8a50d6f9e4811ad --- /dev/null +++ b/lathemacros/chamfer.ngc @@ -0,0 +1,103 @@ +;chamfer +o sub + + o call + o call + +# = #1 +# = #2 +# = # ;0.5 ? +# = #4 ;0 ? +# = #5 +# = #6 +# = #7 ;0 ? +# = #8 +# = #9 +# = #10 +# = #11 +# = #12 + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G8 ; Lathe radius Mode +G18 ; XZ Plane +G21 ; Metric Units +G90 ; Absolute Distance + + +# = [# / 2] ; because of radius mode +# = #<_x> (starting X) +# = #<_z> (starting Z) + +G96 D1500 S#2 ; Constant Surface Speed Mode +M3 ; Start Spindle +G95 F0.1 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +# = 0 + O200 if [# GT 0.5] ; front outside + o201 while [[# + # ] lt # ] + # = [# + # ] + G0 x[# - #] z# + G1 z# + G1 x# z[# - #] + G1 x# + G0 z# + o201 endwhile + + G0 x# z# + G0 x[# - # ] + G1 z# + G1 x# z[# - # ] + G1 x# + G0 z# + O200 elseif [# GT 0.5] ; front inside + o202 while [[# + # ] lt # ] + # = [# + # ] + G0 x[# + #] z# + G1 z# + G1 x# z[# - #] + G1 x# + G0 z# + o202 endwhile + + G0 x# z# + G0 x[# + # ] + G1 z# + G1 x# z[# - # ] + G1 x# + G0 z# + O200 elseif [# GT 0.5] ; back outside + o203 while [[# + # ] lt # ] + # = [# + # ] + G0 x[# - #] z# + G1 z# + G1 x# z[# + #] + G1 x# + G0 z# + o203 endwhile + + G0 x# z# + G0 x[# - # ] + G1 z# + G1 x# z[# + # ] + G1 x# + G0 z# + O200 endif + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/clear-axis-notif.ngc b/lathemacros/clear-axis-notif.ngc new file mode 100644 index 0000000000000000000000000000000000000000..e37f1f51efd88dd5a73669c6f09129c2f7d27810 --- /dev/null +++ b/lathemacros/clear-axis-notif.ngc @@ -0,0 +1,16 @@ +o sub + +; you need to add that in your postgui hal file +; --- Used in some macro for remove displayed message after success need to be in postgui +;net clear-axis-message <= motion.digital-out-00 +;net clear-axis-message => axisui.notifications-clear-info + + M65 P0 ; reset flasg before clear if last state stay on for be sure this is done (turn off digital output immediately) + G4 P0.1 + M64 P0 ; After success probing clear all notification (turn on digital output immediately) + G4 P0.1 + M65 P0 ; reset flasg after clear all notification (turn off digital output immediately) + +o endsub + +M2 diff --git a/lathemacros/drill.ngc b/lathemacros/drill.ngc new file mode 100644 index 0000000000000000000000000000000000000000..bc4f565555c288e93a0a5f9527c89ac669edba14 --- /dev/null +++ b/lathemacros/drill.ngc @@ -0,0 +1,53 @@ +;drill +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 +# = #4 +# = #5 +# = #6 +# = #7 +# = #8 + +# = #<_y> (starting Y) + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G7 ; diameter mode +G18 ; XZ Plane +G21 ; Metric Units +G90 ; Absolute Distance + +# = [[1000 * #] / [3.1415 * #]] ; metric mode RPM + +G97 S# ; Constant RPM mode +M3 ; Start Spindle +G95 F# ; Feed-Per-Rev Mode +G4 P1 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +(DEBUG,Drilling dia-# depth-# asked-speed-# feed/rpm-# tool-# peck dist-# retract amount-# calculated-rpm-# start-Y-#) + +G98 +G83 Y# R# Q# +G80 + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/facing.ngc b/lathemacros/facing.ngc new file mode 100644 index 0000000000000000000000000000000000000000..4d89732d8ca9a8897fe0659baaeb78fc5dff830b --- /dev/null +++ b/lathemacros/facing.ngc @@ -0,0 +1,68 @@ +;Facing +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 +# = #4 +# = #5 +# = #6 +# = #7 +# = #8 + + O10 if [# NE 0] + (MSG,Angled facing isn't supported yet) + O10 return [-2] ; indicate failure to epilog + O10 endif + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G7 ; diameter mode +G18 ; XZ Plane +G21 ; Metric Units +G90 ; Absolute Distance + +# = [#<_x> * 2] (starting X) +# = #<_z> (starting Z) + +G96 D4000 S# ; Constant Surface Speed Mode +M3 ; Start Spindle +G95 F# ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +(DEBUG,facing finish rad-# start rad-# start length-# finish length-#) + + O200 while [# GT # + #] + #=[#-#] + G1 Z# + G1 X# + G0 Z[#+#] + G0 X# + G0 Z# + O200 endwhile + + G1 Z# + G1 X# + G0 Z[#+#] + G0 X[#+#] + G0 Z# ; For touch-off + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/radius.ngc b/lathemacros/radius.ngc new file mode 100644 index 0000000000000000000000000000000000000000..05fc79c97b2bf3ae5bffb8845b2f18f44d7240ab --- /dev/null +++ b/lathemacros/radius.ngc @@ -0,0 +1,103 @@ +;radius +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 ;0.5 ? +# = #4 ;0 ? +# = #5 +# = #6 +# = #7 ;0 ? +# = #8 +# = #9 +# = #10 +# = #11 +# = #12 + +;M6 T# G43 + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G7 ; Lathe diameter mode +G18 ; XZ Plane +G21 ; Metric Units +G90 ; Absolute Distance + +# = [# / 2] ; because of radius mode +# = #<_x> (starting X) +# = #<_z> (starting Z) + +G96 D2500 S# ; Constant Surface Speed Mode +M3 ; Start Spindle +G95 F0.1 ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +# = 0 + O200 if [# GT 0.5] ; Front outside + o201 while [[# + #] lt #] + # = [# + #] + G0 x[# - #] z# + G1 z# + G3 x# z[# - #] K[-#] + G1 x# + G0 z# + o201 endwhile + + G0 x# z# + G0 x[# - #] + G1 z# + G3 x# z[# - #] K[-#] + G1 x# + G0 z# + O200 elseif [# GT 0.5] ; front inside + o202 while [[# + #] lt #] + # = [# + #] + G0 x[# + #] z# + G1 z# + G2 x# z[# - #] K[-#] + G1 x# + G0 z# + o202endwhile + + G0 x# z# + G0 x[# + #] + G1 z# + G2 x# z[# - #] K[-#] + G1 x# + G0 z# + O300 elseif [# GT 0.5] ; back outside + o301 while [[# + #] lt #] + # = [# + #] + G0 x[# - #] z# + G1 z# + G2 x# z[# + #] K# + G1 x# + G0 z# + o301 endwhile + + G0 x# z# + G0 x[# - #] + G1 z# + G2 x# z[# + #] K# + G1 x# + G0 z# + O300 endif + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/threading.ngc b/lathemacros/threading.ngc new file mode 100644 index 0000000000000000000000000000000000000000..7e944a6c35de2997aba595c9a2b2f8c04cf407f5 --- /dev/null +++ b/lathemacros/threading.ngc @@ -0,0 +1,96 @@ +;threading +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 +# = #4 +# = #5 +# = #6 +# = #7 +# = #8 + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G8 ; Lathe radius Mode +G18 ; XZ Plane +G90 ; Absolute Distance + +# = [# / 2.0] +# = [#<_x> * 2] (starting X) +# = #<_z> (starting Z) +G96 D1500 S# ; Constant Surface Speed Mode +M4 ; Start Spindle +G4 P2 ; Wait to reach speed + + O110 if [#] + M8 + O110 endif + +# = [0.86603 * #] +# = [# * 0.125] +# = [# * 0.250] +# = [# * 0.625] +;(DEBUG,# # # #) + + O200 if [#<_metric>] + # = 0.2 + # = 0.1 + O200 else + # = 0.007 + # = 0.004 + O200 endif + +;(DEBUG,test) +G95 F# ; Feed-Per-Rev Mode +;(DEBUG,Test2) + +;Threading +;(DEBUG,Test3) + O300 if [# GT 0.5] ;internal + ;(DEBUG,interior) + ;cut the minor flat diameter + ;(DEBUG,INTERNAL Threading thread dia-# startZ-# finishZ-# Pitch-# Tool-#) + G0 Z # + G0 X [# + # - #] + G1 Z # + G0 X [# - #] + G0 Z # + G96 D600 S# ; limit RPM in threading mode + G76 P# Z# i# j# k# H3 R1.5 Q29.5 E0 L0 + G0 X [# - 0.5] + O300 else ;external + ;(DEBUG,Test2) + ;(DEBUG,TEST) + ; cut the major diameter + (DEBUG,EXTERNAL Threading thread dia-# startZ-# finishZ-# Pitch-# Tool-# MF #) + G0 Z # + G0 X # + G1 X [# - #] + G1 Z # + G0 X # + G0 Z # + G96 D600 S# ; limit RPM in threading mode + G4 p2 + G76 P# Z# i[-#] j# k# H3 R1.5 Q29.5 E0 L0 + G0 X [# + 0.5] + O300 endif + ;(DEBUG,Test4) + + G0 Z# + +M5 +M9 + + o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/lathemacros/turning.ngc b/lathemacros/turning.ngc new file mode 100644 index 0000000000000000000000000000000000000000..4dbae74cb60b067d06ad20fc25ac7b04440bd104 --- /dev/null +++ b/lathemacros/turning.ngc @@ -0,0 +1,94 @@ +;Turning +o sub + + o call + o call + +# = #1 +# = #2 +# = #3 +# = #4 +# = #5 +# = #6 +# = #7 +# = #8 +# = #9 + + O100 if [# NE #<_current_tool>] + (MSG,ERROR : Set tool before use macro) + O100 return [-2] ; indicate failure to epilog + O100 endif + +G8 ; Radius mode (easier maths) +G18 ; XZ Plane +G21 ; Metric Units ; it is really not possible to use imperial ? +G90 ; Absolute Distance +G91.1 ; but not for arcs + +# = [# / 2] ; because of radius mode +# = #<_x> (starting X) +# = #<_z> (starting Z) + +#20 = [# * SIN[#]] +#21 = [# * COS[#]] +#22 = [# / COS[#]] +#23 = [# + # - #20] +#24 = [[# - #23] * TAN[#]] + +G96 D4000 S# ; Constant Surface Speed Mode +M3 ; Start Spindle +G95 F# ; Feed-Per-Rev Mode +G4P1 ; Wait to reach speed + + o110 if [#] + M8 + o110 endif + +(DEBUG,Turning finish rad-# start rad-# start length-# finish length-#) + + o200 while [# GT [# + # / 2]] + G0 X# + #=[#-# / 2] + G1 X# + G1 Z#23 X[# + #24] + + o201 if [# GT 0] + G2 Z# X[# + #24 + #21] I#21 K#20 + G1 X[# + #24 + #21 + #/2] + o201 else + G1 X[# + #24 + [# * .6]] + o201 endif + + o202 IF [# LT 0] + G0 X# + o202 endif + + G0 Z[#] + o200 endwhile + + G0 X# + G1 Z #23 X[# + #24] + + o300 if [# GT 0] + G2 Z# X[# + #24 + #21] I#21 K#20 + G1 X[# + #24 + #21 + #] + o300 else + G1 X[# + #24 + #] + o300 endif + + O400 IF [# LT 0] + G0 X# + O400 endif + + G0 Z# + G0 X# ; For touch-off + +M5 +M9 + +o call ; restore g20/21, g90/g91, feedrate cuter-comp and other using now global _backup_var + +o endsub + +M2 +% diff --git a/maurice-common.ini b/maurice-common.ini index 25427a44bc3fa348381954369e6a39ab7c7da637..5d1c4f9b54ec358ccdd91545cce1f959e16d78c9 100755 --- a/maurice-common.ini +++ b/maurice-common.ini @@ -9,16 +9,17 @@ MACHINE = EtherCAT Machine DEBUG = 1 [DISPLAY] -DISPLAY = ./maurice_gmoccapy.py +DISPLAY = ./maurice_gmoccapy.py +#-logo logo.jpg #EMBED_TAB_NAME = right_side_panel #EMBED_TAB_LOCATION = box_custom_4 #EMBED_TAB_COMMAND = gladevcp -x {XID} -H vcp_box.hal vcp_box.glade EMBED_TAB_NAME = Cycles -EMBED_TAB_LOCATION = ntb_user_tabs -EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro.ui -#EMBED_TAB_COMMAND =h alcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro-en-numpad.ui +EMBED_TAB_LOCATION = ntb_preview +#EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro.ui +EMBED_TAB_COMMAND =halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -u lathehandler.py -x {XID} lathemacro-en-numpad.ui PREFERENCE_FILE_PATH = gmoccapy_preferences LATHE = 1 @@ -31,7 +32,7 @@ DEFAULT_LINEAR_VELOCITY = 15 PROGRAM_PREFIX = ../../nc_files/ INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 0 -INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm +#INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image @@ -43,7 +44,7 @@ py = python [RS274NGC] PARAMETER_FILE = linuxcnc.var -SUBROUTINE_PATH = macros:lathemacro +SUBROUTINE_PATH = macros:lathemacros [EMCMOT] @@ -82,8 +83,8 @@ KINEMATICS = trivkins JOINTS = 3 [AXIS_X] -MIN_LIMIT = -2000 -MAX_LIMIT = 2000 +MIN_LIMIT = -130 +MAX_LIMIT = 0 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 2000.0 @@ -96,8 +97,8 @@ STEPGEN_MAXACCEL = 0 SCALE = 1 FERROR = 1 MIN_FERROR = 2000 -MIN_LIMIT = -2000 -MAX_LIMIT = 2000 +MIN_LIMIT = -130 +MAX_LIMIT = 0.5 HOME_DELAY = 5 HOME_VEL = 1 HOME_OFFSET = 0 @@ -116,8 +117,8 @@ HOME_LATCH_VEL = 0 HOME_SEQUENCE = 0 [AXIS_Z] -MIN_LIMIT = -2000 -MAX_LIMIT = 2000 +MIN_LIMIT = -199 +MAX_LIMIT = 2 MAX_VELOCITY = 100.0 MAX_ACCELERATION = 2000.0 @@ -130,8 +131,8 @@ STEPGEN_MAXACCEL = 0 SCALE = 0.001 FERROR = 1 MIN_FERROR = 2000 -MIN_LIMIT = -2000 -MAX_LIMIT = 2000 +MIN_LIMIT = -199 +MAX_LIMIT = 2 HOME_DELAY = 5 HOME_VEL = 1 HOME_OFFSET = 0 @@ -140,3 +141,14 @@ HOME_LATCH_VEL = 0 HOME_USE_INDEX = NO HOME_IGNORE_LIMITS = YES HOME_SEQUENCE = 2 + +[SPINDLE_0] +P = 0.0 +I = 0.0 +D = 0.0 +FF0 = 1.0 +FF1 = 0.0 +FF2 = 0.0 +BIAS = 0.0 +DEADBAND = 0.0 +MAX_OUTPUT = 6000 diff --git a/maurice-simu.hal b/maurice-simu.hal index dd46eaf194189f6ecd7a4132b45a1aa5b19163a1..405fa7c91fb15fc417f59cbb4cf8bff9e3c5f499 100644 --- a/maurice-simu.hal +++ b/maurice-simu.hal @@ -1 +1,3 @@ -sets state-op 1 \ No newline at end of file +sets state-op 1 +sets FeedOverride 0.6666666 +sets STBEstop 1 \ No newline at end of file diff --git a/maurice-simu.ini b/maurice-simu.ini index a8fb8a9188f72beed4f99bcef27d2692af11dbc1..299ae61c616f6cc9969afcc2df00e918b3c08f08 100755 --- a/maurice-simu.ini +++ b/maurice-simu.ini @@ -5,5 +5,6 @@ HALUI = halui HALFILE = lcec_simu.hal HALFILE = maurice.hal HALFILE = classicladder.hal -HALFILE = maurice-simu.hal POSTGUI_HALFILE = gmoccapy_postgui.hal +POSTGUI_HALFILE = maurice-simu.hal +POSTGUI_HALFILE = lathemacro_postgui.hal \ No newline at end of file diff --git a/maurice.clp b/maurice.clp index 16320f59dd986fa08943d8e23bcf7d4848c542e6..a51df384cf39fe4896531bad657dc021bb88b0b3 100644 --- a/maurice.clp +++ b/maurice.clp @@ -88,13 +88,13 @@ _FILE-rung_15.csv #VER=2.0 #LABEL= #COMMENT= -#PREVRUNG=-1 -#NEXTRUNG=16 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 +#PREVRUNG=19 +#NEXTRUNG=-1 +9-0-0/0 , 1-0-50/39 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/48 +9-0-0/0 , 1-0-50/39 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-60/48 +0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-0-0/0 , 99-0-0/0 , 13-0-0/14 , 99-0-0/0 , 13-0-0/15 , 9-1-0/0 , 53-0-60/49 +0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-1-0/0 , 99-0-0/0 , 99-0-0/0 , 99-0-0/0 , 99-0-0/0 , 0-0-0/0 , 0-0-0/0 +9-0-0/0 , 1-0-50/40 , 9-0-0/0 , 9-1-0/0 , 9-0-0/0 , 9-0-0/14 , 9-0-0/0 , 9-0-0/15 , 9-0-0/0 , 52-0-60/49 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 _/FILE-rung_15.csv _FILE-rung_28.csv @@ -167,8 +167,8 @@ _FILE-timers_iec.csv 1,5,1 1,3,0 2,2,2 -1,0,0 -1,0,0 +2,1,0 +1,2,2 1,0,0 1,0,0 1,0,0 @@ -200,12 +200,12 @@ _FILE-rung_18.csv #COMMENT= #PREVRUNG=17 #NEXTRUNG=19 -1-0-0/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/15 +1-0-0/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/46 0-0-50/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -1-0-0/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/43 -1-0-0/11 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-1-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/44 -0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -1-0-0/11 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 99-0-0/0 , 99-0-0/0 , 60-0-0/16 +0-0-0/10 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/43 +1-0-0/12 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/44 +0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-60/0 +1-0-0/11 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/47 _/FILE-rung_18.csv _FILE-monostables.csv 1,0 @@ -236,8 +236,6 @@ _FILE-arithmetic_expressions.csv 0012,@270/0@=0 0013,@300/1@<1 0014,@300/1@<1 -0015,@310/0@=0.001 -0016,@310/0@=0.1 0017,@300/1@<1 0018,@300/1@<1 _/FILE-arithmetic_expressions.csv @@ -249,8 +247,8 @@ _FILE-rung_11.csv #NEXTRUNG=10 3-0-50/26 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-50/26 , 9-0-0/0 , 53-0-60/26 1-0-50/26 , 2-0-0/3 , 9-0-60/0 , 9-0-0/0 , 9-0-60/0 , 9-0-60/0 , 9-0-0/0 , 99-0-0/0 , 13-0-0/10 , 52-0-60/26 -2-0-60/25 , 1-0-60/24 , 2-0-60/26 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 0-0-0/0 -1-0-60/21 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-1-60/0 , 9-0-0/0 , 50-0-60/24 +2-0-60/25 , 1-0-60/24 , 2-0-60/26 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 99-1-0/0 , 99-0-0/0 , 50-0-60/28 +1-0-60/21 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 9-1-60/0 , 9-0-0/0 , 50-1-60/24 0-0-0/0 , 0-0-0/0 , 0-0-60/21 , 0-0-0/0 , 9-1-50/25 , 9-0-0/0 , 1-0-50/25 , 9-0-0/12 , 9-0-0/12 , 50-0-60/25 1-0-50/26 , 9-0-0/0 , 1-0-0/3 , 9-0-0/0 , 2-0-60/24 , 9-0-0/0 , 1-0-50/25 , 9-0-0/0 , 0-1-0/0 , 0-0-60/25 _/FILE-rung_11.csv @@ -335,8 +333,8 @@ _FILE-symbols.csv %I36,Mode2, %I37,Mode3, %I38,Mode4, -%I39,FeedOv1, -%I40,FeedOv2, +%I39,CoolBtnOn, +%I40,CoolBtnOf, %I41,FeedOv3, %I42,FeedOv4, %I43,RapidOv1, @@ -424,7 +422,7 @@ _FILE-symbols.csv %Q25,TcOk, %Q26,TcFail, %Q27,ManualTc, -%Q28,%Q28, +%Q28,TcLed, %Q29,%Q29, %Q30,%Q30, %Q31,%Q31, @@ -437,15 +435,15 @@ _FILE-symbols.csv %Q38,%Q38, %Q39,%Q39, %Q40,%Q40, -%Q41,ModeAuto, -%Q42,ModeMDI, -%Q43,ModeMan, -%Q44,MPGVelMod, +%Q41,QModeAuto, +%Q42,QModeMDI, +%Q43,QModeMan, +%Q44,QModeJ, %Q45,RapidJog, -%Q46,%Q46, -%Q47,%Q47, -%Q48,%Q48, -%Q49,%Q49, +%Q46,QModeX1, +%Q47,QModeX10, +%Q48,CoolOn, +%Q49,CoolOff, %Q50,ChkClose, %Q51,ChkOpen, %Q52,ChkOk, @@ -576,7 +574,7 @@ _FILE-rung_16.csv #VER=2.0 #LABEL= #COMMENT= -#PREVRUNG=15 +#PREVRUNG=-1 #NEXTRUNG=4 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 50-0-60/19 1-0-50/48 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-1-60/18 @@ -693,13 +691,13 @@ _FILE-rung_19.csv #LABEL= #COMMENT= #PREVRUNG=18 -#NEXTRUNG=-1 +#NEXTRUNG=15 1-0-0/10 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 1-0-0/11 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 1-0-0/12 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-1-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/43 1-0-0/13 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 0-1-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 , 0-0-0/0 -1-0-0/13 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 50-0-60/45 +1-0-0/13 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 9-0-0/0 , 51-0-60/45 _/FILE-rung_19.csv _FILE-rung_27.csv #VER=2.0 @@ -782,7 +780,7 @@ _FILE-sections.csv 000,0,-1,20,0,0 001,0,-1,11,7,0 002,0,-1,6,22,0 -003,0,-1,15,19,0 +003,0,-1,16,15,0 004,0,-1,24,28,0 005,0,-1,27,26,0 _/FILE-sections.csv diff --git a/maurice.hal b/maurice.hal index 24c0ca72ca09efa19cc0fad8e6d2cdd1d65e76c1..2006079dbb7b7c4d12376ad149669774dd90af84 100644 --- a/maurice.hal +++ b/maurice.hal @@ -12,6 +12,9 @@ loadrt weighted_sum wsum_sizes=4,4,2 loadrt sum2 count=3 loadrt conv_s32_float count=3 loadrt scale count=3 +loadrt and2 count=1 + +loadusr atv_vfd -r 9600 -p even addf motion-command-handler servo-thread addf motion-controller servo-thread @@ -21,6 +24,8 @@ addf conv-s32-float.0 servo-thread addf conv-s32-float.1 servo-thread addf scale.0 servo-thread addf scale.1 servo-thread +addf scale.2 servo-thread +addf and2.0 servo-thread #loadusr halui -ini maurice.ini #loadusr io @@ -28,7 +33,10 @@ addf scale.1 servo-thread # Global machine logic #========================================== -net state-op => iocontrol.0.emc-enable-in +net state-op => and2.0.in0 +net STBEstop and2.0.in1 +net Estop-and-out and2.0.out iocontrol.0.emc-enable-in + #========================================== # X axis @@ -171,3 +179,8 @@ net RapidOvF scale.1.in setp scale.1.gain -0.333333333333333333333 setp scale.1.offset 1 net RapidOverride scale.1.out + +net SpindlePot scale.2.in +setp scale.2.gain 0.0000317581300813008 +setp scale.2.offset -0.0137195121951 +net SpindleOverride scale.2.out diff --git a/maurice.ini b/maurice.ini index 7ce3110bd01ab83aefdbab1787b3f9879a498428..73cf029a6f1244d76ac73f2a4d615e4424640ad1 100644 --- a/maurice.ini +++ b/maurice.ini @@ -6,5 +6,8 @@ HALFILE = lcec.hal HALFILE = maurice.hal HALFILE = mb2hal.hal HALFILE = classicladder.hal +HALFILE = mesa.hal +HALFILE = atv_vfd.hal POSTGUI_HALFILE = gmoccapy_postgui.hal +POSTGUI_HALFILE = lathemacro_postgui.hal diff --git a/maurice_gmoccapy.py b/maurice_gmoccapy.py index 9934ac619b0b5a2234444a36e45fe0f0ae3a86cb..69dfade4a7338cc37f9f93627e75713dff6f8de5 100755 --- a/maurice_gmoccapy.py +++ b/maurice_gmoccapy.py @@ -3219,6 +3219,7 @@ class gmoccapy(object): self.widgets.lbl_active_feed.set_label(feed_str) self.widgets.lbl_feed_act.set_text(real_feed_str) + self.halcomp["real_feed"] = real_feed def _update_coolant(self): if self.stat.flood: @@ -5199,6 +5200,7 @@ class gmoccapy(object): self.halcomp.newpin("joint.all.home", hal.HAL_BIT, hal.HAL_OUT) self.halcomp.newpin("joint.0.home", hal.HAL_BIT, hal.HAL_OUT) self.halcomp.newpin("joint.2.home", hal.HAL_BIT, hal.HAL_OUT) + self.halcomp.newpin("real_feed", hal.HAL_FLOAT, hal.HAL_OUT) # Hal Pin Handling End # ========================================================= diff --git a/mb2hal.hal b/mb2hal.hal index f82e7ec7c8e58fcd94ede7ec03aac8185261689a..cf32cfd36f8e7e2f628decfdf187a637c8bd5dbd 100644 --- a/mb2hal.hal +++ b/mb2hal.hal @@ -53,14 +53,14 @@ net TurretLS12 mb2hal.STBIn.TurretLS12 net TurretLS13 mb2hal.STBIn.TurretLS13 net TurretIndex mb2hal.STBIn.TurretIndex -net MachineErrorIn mb2hal.STBIn.MachineError +net PanelKey mb2hal.STBIn.MachineError net MachineReadyFin mb2hal.STBIn.MachineReadyFin net PressureSwitch mb2hal.STBIn.PressureSwitch net ChuckOpenLimit mb2hal.STBIn.ChuckOpenLimit net ChuckCloseLimit mb2hal.STBIn.ChuckCloseLimit net DoorSwitchs mb2hal.STBIn.DoorSwitchs -#mb2hal.STBIn.SpindlePot +net SpindlePot mb2hal.STBIn.SpindlePot ############################################################### #STB Inputs @@ -74,14 +74,14 @@ net OptionnalStopLed mb2hal.STBOut.OptionnalStop net FeedHoldLamp mb2hal.STBOut.FeedHoldLamp net CycleStartLamp mb2hal.STBOut.CycleStartLamp net ToolChangeLed mb2hal.STBOut.TurretIndexLamp -net CoolantPumpLed mb2hal.STBOut.CoolantPumpOnLamp -net CoolantOffLed mb2hal.STBOut.CoolantPumpOffLamp +net CoolantPump mb2hal.STBOut.CoolantPumpOnLamp +net CoolantOff mb2hal.STBOut.CoolantPumpOffLamp net ChuckClampLed mb2hal.STBOut.ChuckClampLamp net ProgramEnd mb2hal.STBOut.ProgramEndLamp setp mb2hal.STBOut.ProgramErrorLamp 1 net MachineErrorLamp mb2hal.STBOut.MachineErrorLamp #mb2hal.STBOut.ServoReady -#mb2hal.STBOut.CoolantPump +net CoolantPump mb2hal.STBOut.CoolantPump #mb2hal.STBOut.DDO3705-16 diff --git a/mesa.hal b/mesa.hal new file mode 100644 index 0000000000000000000000000000000000000000..ed018e112569aab69f6c2b6bd65f1051bdf453e9 --- /dev/null +++ b/mesa.hal @@ -0,0 +1,46 @@ +#Load Hostmot support +loadrt hostmot2 +loadrt hm2_pci config="num_encoders=2 num_pwmgens=0" +loadrt mux8 names=mpg +loadrt abs count=1 + +addf hm2_5i24.0.read servo-thread +addf hm2_5i24.0.write servo-thread +addf mpg servo-thread +addf abs.0 servo-thread + +#We have a 6i24 in emulation mode so all pin will be hm2_5i24.0. + +#################################################################### +#Spindle handling +#################################################################### + +setp hm2_5i24.0.encoder.00.scale 4096 +net spindle-revs hm2_5i24.0.encoder.00.position +net spindle-vel-fb-rps hm2_5i24.0.encoder.00.velocity +net spindle-vel-fb-rpm abs.0.in hm2_5i24.0.encoder.00.velocity-rpm +net spindle-vel-fb-rpm-abs abs.0.out +net spindle-index-enable hm2_5i24.0.encoder.00.index-enable + +#################################################################### +#Jog Handling +#################################################################### + +net XSelect joint.0.jog-enable +net ZSelect joint.2.jog-enable + +net ModeX1 mpg.sel2 +net ModeX10 mpg.sel1 +net ModeJ mpg.sel0 + +setp mpg.in1 0.00025 +setp mpg.in2 0.0025 +setp mpg.in4 0.025 + + +net JogScale mpg.out + +setp hm2_5i24.0.encoder.01.scale 4 +net JogCount hm2_5i24.0.encoder.01.count +net JogScale joint.0.jog-scale joint.2.jog-scale +net JogCount joint.0.jog-counts joint.2.jog-counts \ No newline at end of file