Below are the following G and M codes supported by SMNC:

Codes Description
G0 Rapid Linear movement                                                                           
G1 Normal Linear movement
G2 Clockwise circular movement
G3 Counter-Clockwise circular movement
G4 Wait
G17 Select the X-Y plane for circular movements
G18 Select the X-Z plane for circular movements
G19 Select the Y-Z plane for circular movements
G20 Change units to inch
G21 Change units to Millimeter
G28 Return to the 1st Reference point
G30 Return to the 2nd Reference point
G40 Cancel cutter compensation
G41 Start cutter compensation left
G42 Start cutter compensation right
G43 Start tool length compensation
G49 Cancel tool length compensation
G54 Use preset coordinate system 1
G55 Use preset coordinate system 2
G56 Use preset coordinate system 3
G57 Use preset coordinate system 4
G58 Use preset coordinate system 5
G59 Use preset coordinate system 6
G80 Cancel Modal Motion (Used with canned cycles)
G81 Canned cycle: drilling
G82 Canned cycle: drilling with dwell
Codes Description
G83 Canned cycle: peck drilling
G85 Canned cycle: boring, no dwell, feed out
G89 Canned cycle: boring dwell feed out
G90 Change coordinate system to absolute
G91 Change coordinate system to incremental
G92 Change the logical origin
G98 Initial level return mode in Canned cycle
G99 Retract-point level return mode in Canned cycle
G101 Move the rotary axis
D Change the tool index for cutter compensation (G40, G41, G42)
F Change the Feedrate (Normal Speed)
H Change the tool index for tool length compensation (G43, G49)
S Change the Spindle Speed
T Current tool index (M6)
M0 Pause
M1 Optional Stop
M2 End of program
M3 Turn on Spindle Clockwise
M4 Turn on Spindle Counterclockwise
M5 Turn off Spindle
M6 Change current Tool
M8 Turn on the Coolant
M9 Turn off the Coolant
M30 End of program and force turning off all of digital outputs
M98 Call Subroutine
M99 End the program and restart it