32#define MODAL_GROUP_G0 0
33#define MODAL_GROUP_G1 1
34#define MODAL_GROUP_G2 2
35#define MODAL_GROUP_G3 3
36#define MODAL_GROUP_G4 4
37#define MODAL_GROUP_G5 5
38#define MODAL_GROUP_G6 6
39#define MODAL_GROUP_G7 7
40#define MODAL_GROUP_G8 8
41#define MODAL_GROUP_G12 9
42#define MODAL_GROUP_G13 10
44#define MODAL_GROUP_M4 11
45#define MODAL_GROUP_M7 12
46#define MODAL_GROUP_M8 13
47#define MODAL_GROUP_M9 14
57#define NON_MODAL_NO_ACTION 0
58#define NON_MODAL_DWELL 4
59#define NON_MODAL_SET_COORDINATE_DATA 10
60#define NON_MODAL_GO_HOME_0 28
61#define NON_MODAL_SET_HOME_0 38
62#define NON_MODAL_GO_HOME_1 30
63#define NON_MODAL_SET_HOME_1 40
64#define NON_MODAL_ABSOLUTE_OVERRIDE 53
65#define NON_MODAL_SET_COORDINATE_OFFSET 92
66#define NON_MODAL_RESET_COORDINATE_OFFSET 102
69#define MOTION_MODE_SEEK 0
70#define MOTION_MODE_LINEAR 1
71#define MOTION_MODE_CW_ARC 2
72#define MOTION_MODE_CCW_ARC 3
73#define MOTION_MODE_PROBE_TOWARD 140
74#define MOTION_MODE_PROBE_TOWARD_NO_ERROR 141
75#define MOTION_MODE_PROBE_AWAY 142
76#define MOTION_MODE_PROBE_AWAY_NO_ERROR 143
77#define MOTION_MODE_NONE 80
80#define PLANE_SELECT_XY 0
81#define PLANE_SELECT_ZX 1
82#define PLANE_SELECT_YZ 2
85#define DISTANCE_MODE_ABSOLUTE 0
86#define DISTANCE_MODE_INCREMENTAL 1
89#define DISTANCE_ARC_MODE_INCREMENTAL 0
92#define PROGRAM_FLOW_RUNNING 0
93#define PROGRAM_FLOW_PAUSED 3
94#define PROGRAM_FLOW_OPTIONAL_STOP 1
95#define PROGRAM_FLOW_COMPLETED_M2 2
96#define PROGRAM_FLOW_COMPLETED_M30 30
99#define FEED_RATE_MODE_UNITS_PER_MIN 0
100#define FEED_RATE_MODE_INVERSE_TIME 1
103#define UNITS_MODE_MM 0
104#define UNITS_MODE_INCHES 1
107#define CUTTER_COMP_DISABLE 0
110#define CONTROL_MODE_EXACT_PATH 0
113#define SPINDLE_DISABLE 0
114#define SPINDLE_ENABLE_CW PL_COND_FLAG_SPINDLE_CW
115#define SPINDLE_ENABLE_CCW PL_COND_FLAG_SPINDLE_CCW
118#define COOLANT_DISABLE 0
119#define COOLANT_FLOOD_ENABLE PL_COND_FLAG_COOLANT_FLOOD
120#define COOLANT_MIST_ENABLE PL_COND_FLAG_COOLANT_MIST
123#define TOOL_LENGTH_OFFSET_CANCEL 0
124#define TOOL_LENGTH_OFFSET_ENABLE_DYNAMIC 1
127#ifdef DEACTIVATE_PARKING_UPON_INIT
128 #define OVERRIDE_DISABLED 0
129 #define OVERRIDE_PARKING_MOTION 1
131 #define OVERRIDE_PARKING_MOTION 0
132 #define OVERRIDE_DISABLED 1
154#define GC_UPDATE_POS_TARGET 0
155#define GC_UPDATE_POS_SYSTEM 1
156#define GC_UPDATE_POS_NONE 2
159#define GC_PROBE_FOUND GC_UPDATE_POS_SYSTEM
160#define GC_PROBE_ABORT GC_UPDATE_POS_NONE
161#define GC_PROBE_FAIL_INIT GC_UPDATE_POS_NONE
162#define GC_PROBE_FAIL_END GC_UPDATE_POS_TARGET
163#ifdef SET_CHECK_MODE_PROBE_TO_START
164 #define GC_PROBE_CHECK_MODE GC_UPDATE_POS_NONE
166 #define GC_PROBE_CHECK_MODE GC_UPDATE_POS_TARGET
170#define GC_PARSER_NONE 0
171#define GC_PARSER_JOG_MOTION bit(0)
172#define GC_PARSER_CHECK_MANTISSA bit(1)
173#define GC_PARSER_ARC_IS_CLOCKWISE bit(2)
174#define GC_PARSER_PROBE_IS_AWAY bit(3)
175#define GC_PARSER_PROBE_IS_NO_ERROR bit(4)
176#define GC_PARSER_LASER_FORCE_SYNC bit(5)
177#define GC_PARSER_LASER_DISABLE bit(6)
178#define GC_PARSER_LASER_ISMOTION bit(7)
uint8_t gc_execute_line(char *line)
static char line[LINE_BUFFER_SIZE]
uint8_t non_modal_command