Daisy.ngc
This is LinuxCNC Dialect G-code for playing the tune Daisy on a 4-axis stepper motor machine. The code is found in the G-code examples folder of any LinuxCNC distribution. I highlighted the code and placed it here to make it easier to read.
You can listen to my mill running this code here.
The original code can be found here.
You can listen to my mill running this code here.
The original code can be found here.
G20 O100 sub ([f0] [f1] [f2] [f3]) #61=#1 O110 if [#2 gt 0] #62=#2 O110 else #62=#1 O110 endif O111 if [#3 gt 0] #63=#3 O111 else #63=#1 O111 endif O112 if [#4 gt 0] #64=#4 O112 else #64=#1 O112 endif #41=0 #42=0 #43=0 #44=0 G0 X0Y0Z0A0 G93 O100 endsub O200 sub ([t] [p1] [p2] [p3] [p4]) (Find new X) #2=[#2*#1/#61] O210 if [#41 gt 0] #41=[#41-#2] O210 else #41=[#41+#2] O210 endif (Find new Y) #3=[#3*#1/#62] O220 if [#42 gt 0] #42=[#42-#3] O220 else #42=[#42+#3] O220 endif (Find new Z) #4=[#4*#1/#63] O230 if [#43 gt 0] #43=[#43-#4] O230 else #43=[#43+#4] O230 endif (Find new A) #5=[#5*#1/#64] O240 if [#44 gt 0] #44=[#44-#5] O240 else #44=[#44+#5] O240 endif G1 X#41 Y#42 Z#43 A#44 F[60/#1] O200 endsub #100 = [440*1.781797] (Key of G) (equal temperament chromatic scale) #101 = [#100*1.059463] (g#) #102 = [#100*1.122462] (a) #103 = [#100*1.189207] (a#) #104 = [#100*1.259921] (b) #105 = [#100*1.334840] (c) #106 = [#100*1.414214] (c#) #107 = [#100*1.498307] (d) #108 = [#100*1.587401] (d#) #109 = [#100*1.681793] (e) #110 = [#100*1.781797] (f) #111 = [#100*1.887749] (f#) (set XYZA axis scales) O100 call [6400] [6400] [8000] [80] G4P2 O200 call [1] [#107] [#100/2.0] [#104/2.0] [0] (Dai-) (G) O200 call [1] [#104] [#100/2.0] [#104/2.0] [0] (-sy) O200 call [1] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (Dai-) O200 call [1] [#107/2.0] [#100/2.0] [#104/2.0] [#110/2.0] (-sy) (G7) O200 call [0.333] [#109/2.0] [#100/2.0] [#105/2.0] [#109/2.0] (Give) (C) O200 call [0.333] [#111/2.0] [#100/2.0] [#105/2.0] [#109/2.0] (me) O200 call [0.333] [#100] [#100/2.0] [#105/2.0] [#109/2.0] (your) O200 call [0.667] [#109/2.0] [#102/2.0] [#105/2.0] [#100] (ans-) (Am7) O200 call [0.333] [#100] [#102/2.0] [#105/2.0] [#100] (-wer) O200 call [2] [#107/2.0] [#100/2.0] [#104/2.0] [#107/2.0] (do.) (G) O200 call [1] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (I'm) (D7) O200 call [1] [#107] [#111/4.0] [#105/2.0] [#107/2.0] (half) O200 call [1] [#104] [#100/2.0] [#104/2.0] [#107/2.0] (cra-) (G) O200 call [1] [#100] [#100/2.0] [#104/2.0] [#109/2.0] (-zy) (Em) O200 call [0.333] [#109/2.0] [#102/2.0] [#106/2.0] [#100] (All) (A7) O200 call [0.333] [#111/2.0] [#102/2.0] [#106/2.0] [#100] (for) O200 call [0.333] [#100] [#102/2.0] [#106/2.0] [#100] (the) O200 call [0.667] [#102] [#102/2.0] [#106/2.0] [#100] (love) O200 call [0.333] [#104] [#102/2.0] [#106/2.0] [#100] (of) O200 call [1.667] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (you..) (D7) O200 call [0.333] [#104] [#111/4.0] [#105/2.0] [#107/2.0] (it) O200 call [0.333] [#105] [#111/4.0] [#105/2.0] [#107/2.0] (won't) (D7) O200 call [0.333] [#104] [#111/4.0] [#105/2.0] [#107/2.0] (be) O200 call [0.333] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (a) O200 call [0.667] [#107] [#111/4.0] [#105/2.0] [#107/2.0] (sty-) O200 call [0.333] [#104] [#111/4.0] [#105/2.0] [#107/2.0] (-lish) O200 call [0.333] [#102] [#100/2.0] [#104/2.0] [#107/2.0] (marr-) (G) O200 call [1.333] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (iage...) O200 call [0.333] [#102] [#100/2.0] [#104/2.0] [#107/2.0] (I) O200 call [0.667] [#104] [#100/2.0] [#104/2.0] [#107/2.0] (can't) O200 call [0.333] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (a-) O200 call [0.667] [#109/2.0] [#100/2.0] [#105/2.0] [#109/2.0] (-fford) (C) O200 call [0.333] [#100] [#100/2.0] [#105/2.0] [#109/2.0] (a) O200 call [0.333] [#109/2.0] [#100/2.0] [#104/2.0] [#107/2.0] (carr-) (G) O200 call [1.333] [#107/2.0] [#100/2.0] [#104/2.0] [#107/2.0] (iage...) O200 call [0.333] [#107/2.0] [#100/2.0] [#104/2.0] [#107/2.0] (but) O200 call [0.667] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (you'll) (G) O200 call [0.333] [#104] [#100/2.0] [#104/2.0] [#107/2.0] (look) O200 call [0.667] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (sweet) (D7) O200 call [0.333] [#107/2.0] [#111/4.0] [#105/2.0] [#107/2.0] (up-) O200 call [0.667] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (-on) (G) O200 call [0.333] [#104] [#100/2.0] [#104/2.0] [#107/2.0] (the) O200 call [0.333] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (seat) (D7) O200 call [0.333] [#104] [#111/4.0] [#105/2.0] [#107/2.0] (of) O200 call [0.333] [#105] [#111/4.0] [#105/2.0] [#107/2.0] (a) O200 call [0.333] [#107] [#100/2.0] [#104/2.0] [#107/2.0] (bi-) (G) O200 call [0.333] [#104] [#100/2.0] [#104/2.0] [#107/2.0] (-cy-) O200 call [0.333] [#100] [#100/2.0] [#104/2.0] [#107/2.0] (-cle) O200 call [0.667] [#102] [#111/4.0] [#105/2.0] [#107/2.0] (built) (D7) O200 call [0.333] [#107/2.0] [#111/4.0] [#105/2.0] [#107/2.0] (for) O200 call [2] [#100] [#100/4.0] [#104/2.0] [#107/2.0] (two.) (G) G4P2 G0 X0Y0Z0A0 M2