33 #define MAX_OFFSET_ENTRIES 4
67 #if ENABLE_ACCELERATION_PROFILES
69 NonModal_SetAccelerationProfile = 187
177 #if COMPATIBILITY_LEVEL <= 1
326 #if SET_CHECK_MODE_PROBE_TO_START
505 #if ENABLE_PATH_BLENDING
515 #if ENABLE_ACCELERATION_PROFILES
516 float acceleration_factor;
523 #if NGC_PARAMETERS_ENABLE
601 #if NGC_PARAMETERS_ENABLE
623 #if ENABLE_PATH_BLENDING
624 float path_tolerance;
629 #if NGC_EXPRESSIONS_ENABLE
647 #if NGC_PARAMETERS_ENABLE
676 #if NGC_PARAMETERS_ENABLE
727 #define gc_sync_position() system_convert_array_steps_to_mpos (gc_state.position, sys.position)
730 #define sync_position() plan_sync_position(); system_convert_array_steps_to_mpos (gc_state.position, sys.position)
758 #if NGC_PARAMETERS_ENABLE
763 #if ENABLE_ACCELERATION_PROFILES
764 float gc_get_accel_factor (uint8_t profile);
#define N_SYS_SPINDLE
Defines number of simultaneously active spindles supported - minimum 1 (none), maximum 8.
Definition: config.h:65
#define N_AXIS
Defines number of axes supported - minimum 3, maximum 8. If more than 3 axes are configured a complia...
Definition: config.h:42
status_code_t
Definition: errors.h:31
override_mode_t
Definition: gcode.h:216
@ Override_FeedRate
50 - M50
Definition: gcode.h:219
@ Override_FeedHold
53 - M53
Definition: gcode.h:221
@ Override_FeedSpeedDisable
49 - M49
Definition: gcode.h:218
@ Override_SpindleSpeed
51 - M51
Definition: gcode.h:220
@ Override_Parking
56 - M56
Definition: gcode.h:222
@ Override_FeedSpeedEnable
48 - M48
Definition: gcode.h:217
modal_state_action_t
Definition: gcode.h:76
@ ModalState_Save
70 - M70
Definition: gcode.h:78
@ ModalState_Invalidate
71 - M71
Definition: gcode.h:79
@ ModalState_NoAction
0 - Default, must be zero
Definition: gcode.h:77
@ ModalState_SaveAutoRestore
73 - M73
Definition: gcode.h:81
@ ModalState_Restore
72 - M72
Definition: gcode.h:80
char * gc_normalize_block(char *block, status_code_t *status, char **message)
Definition: gcode.c:968
int32_t tool_id_t
Definition: gcode.h:35
feed_mode_t
Definition: gcode.h:131
@ FeedMode_InverseTime
1 - G93
Definition: gcode.h:133
@ FeedMode_UnitsPerRev
2 - G95
Definition: gcode.h:134
@ FeedMode_UnitsPerMin
0 - G94 - Default, must be zero
Definition: gcode.h:132
#define MAX_OFFSET_ENTRIES
Definition: gcode.h:33
int8_t offset_id_t
Definition: gcode.h:38
tool_offset_mode_t
Definition: gcode.h:148
@ ToolLengthOffset_EnableDynamic
2 - G43.1
Definition: gcode.h:151
@ ToolLengthOffset_Cancel
0 - G49 - Default, must be zero
Definition: gcode.h:149
@ ToolLengthOffset_Enable
1 - G43
Definition: gcode.h:150
@ ToolLengthOffset_ApplyAdditional
3 - G43.2
Definition: gcode.h:152
plane_t * gc_get_plane_data(plane_t *plane, plane_select_t select)
Definition: gcode.c:332
void gc_init(bool stop)
Definition: gcode.c:719
motion_mode_t
Definition: gcode.h:88
@ MotionMode_RigidTapping
331 - G33.1
Definition: gcode.h:96
@ MotionMode_DrillChipBreak
73 - G73
Definition: gcode.h:97
@ MotionMode_CannedCycle84
83 - G84, right hand tapping - experimental
Definition: gcode.h:102
@ MotionMode_CannedCycle82
82 - G82, drill with dwell
Definition: gcode.h:100
@ MotionMode_CannedCycle83
83 - G83, peck drill
Definition: gcode.h:101
@ MotionMode_CannedCycle89
89 - G89, not implemented
Definition: gcode.h:105
@ MotionMode_CcwArc
3 - G3
Definition: gcode.h:92
@ MotionMode_Seek
0 - G0 - Default, must be zero
Definition: gcode.h:89
@ MotionMode_ProbeToward
140 - G38.2
Definition: gcode.h:106
@ MotionMode_SpindleSynchronized
33 - G33
Definition: gcode.h:95
@ MotionMode_CubicSpline
5 - G5
Definition: gcode.h:93
@ MotionMode_CwArc
2 - G2
Definition: gcode.h:91
@ MotionMode_ProbeAway
142 - G38.4
Definition: gcode.h:108
@ MotionMode_Linear
1 - G1
Definition: gcode.h:90
@ MotionMode_ProbeTowardNoError
141 - G38.3
Definition: gcode.h:107
@ MotionMode_Threading
76 - G76
Definition: gcode.h:98
@ MotionMode_QuadraticSpline
51 - G5.1
Definition: gcode.h:94
@ MotionMode_CannedCycle86
86 - G86, not implemented
Definition: gcode.h:104
@ MotionMode_CannedCycle85
85 - G85, not implemented
Definition: gcode.h:103
@ MotionMode_CannedCycle81
81 - G81, drill
Definition: gcode.h:99
@ MotionMode_None
80 - G80
Definition: gcode.h:110
@ MotionMode_ProbeAwayNoError
143 - G38.5
Definition: gcode.h:109
io_mcode_t
Definition: gcode.h:227
@ IoMCode_OutputOffSynced
63 - M63
Definition: gcode.h:229
@ IoMCode_WaitOnInput
66 - M66
Definition: gcode.h:232
@ IoMCode_OutputOnSynced
62 - M62
Definition: gcode.h:228
@ IoMCode_AnalogOutSynced
67 - M67
Definition: gcode.h:233
@ IoMCode_AnalogOutImmediate
68 - M68
Definition: gcode.h:234
@ IoMCode_OutputOnImmediate
64 - M64
Definition: gcode.h:230
@ IoMCode_OutputOffImmediate
65 - M65
Definition: gcode.h:231
struct output_command output_command_t
Data for M62, M63 and M67 commands when executed synchronized with motion.
parameter_words_t gc_get_g65_arguments(void)
non_modal_t
Definition: gcode.h:51
@ NonModal_SetCoordinateData
10 - G10
Definition: gcode.h:54
@ NonModal_SetHome_1
40 - G30.1
Definition: gcode.h:58
@ NonModal_SetCoordinateOffset
92 - G92
Definition: gcode.h:63
@ NonModal_SetHome_0
38 - G28.1
Definition: gcode.h:56
@ NonModal_MacroCall
65 - G65
Definition: gcode.h:60
@ NonModal_AbsoluteOverride
53 - G53
Definition: gcode.h:59
@ NonModal_MacroCall2
98 - M98
Definition: gcode.h:64
@ NonModal_Dwell
4 - G4
Definition: gcode.h:53
@ NonModal_NoAction
0 - Default, must be zero
Definition: gcode.h:52
@ NonModal_RestoreCoordinateOffset
122 - G92.3
Definition: gcode.h:71
@ NonModal_GoHome_1
30 - G30
Definition: gcode.h:57
@ NonModal_ResetCoordinateOffset
102 - G92.1
Definition: gcode.h:65
@ NonModal_ClearCoordinateOffset
112 - G92.2
Definition: gcode.h:66
@ NonModal_GoHome_0
28 - G28
Definition: gcode.h:55
@ Modal_MacroCall
66 - G66
Definition: gcode.h:61
@ Modal_MacroEnd
67 - G67
Definition: gcode.h:62
pos_update_t
Parser position updating flags.
Definition: gcode.h:311
@ GCUpdatePos_None
2
Definition: gcode.h:314
@ GCUpdatePos_System
1
Definition: gcode.h:313
@ GCUpdatePos_Target
0
Definition: gcode.h:312
size_t gc_macro_get_pos(macro_id_t id, vfs_file_t *file)
Definition: gcode.c:628
bool gc_modal_state_restore(gc_modal_snapshot_t *snapshot)
Definition: gcode.c:576
spindle_t * gc_spindle_get(spindle_num_t spindle)
Definition: gcode.c:823
user_mcode_t
Definition: gcode.h:240
@ Trinamic_ModeToggle
569 - M569, Marlin format
Definition: gcode.h:271
@ Plasma_SelectMaterial
150 - M190, LinuxCNC format
Definition: gcode.h:261
@ Macro_Execute6
816 - M816, Marlin format
Definition: gcode.h:278
@ RGB_WriteLEDs
150 - M150, Marlin format
Definition: gcode.h:260
@ LaserPPI_Enable
126 - M126
Definition: gcode.h:253
@ OpenPNP_FinishMoves
400 - M400
Definition: gcode.h:267
@ OpenPNP_GetADCScaled
144 - M144
Definition: gcode.h:258
@ OpenPNP_GetCurrentPosition
114 - M114
Definition: gcode.h:248
@ Macro_Execute2
812 - M812, Marlin format
Definition: gcode.h:274
@ UserMCode_Generic1
101 - For private use only
Definition: gcode.h:242
@ UserMCode_Generic4
104 - For private use only
Definition: gcode.h:245
@ UserMCode_Generic2
102 - For private use only
Definition: gcode.h:243
@ SetFeedOverrides
220 - M220, Marlin format
Definition: gcode.h:264
@ OpenPNP_SettingsReset
502 - M502
Definition: gcode.h:270
@ OpenPNP_GetPinState
143 - M143
Definition: gcode.h:257
@ Trinamic_ChopperTiming
919 - M919, Marlin format
Definition: gcode.h:287
@ OpenPNP_FirmwareInfo
115 - M115
Definition: gcode.h:249
@ Laser_Overdrive
129 - M129
Definition: gcode.h:256
@ UserMCode_Generic3
103 - For private use only
Definition: gcode.h:244
@ OpenPNP_SetADCScaling
145 - M145
Definition: gcode.h:259
@ PWMServo_SetPosition
280 - M280, Marlin format
Definition: gcode.h:265
@ LaserPPI_PulseLength
128 - M128
Definition: gcode.h:255
@ Trinamic_StepperCurrent
906 - M906, Marlin format
Definition: gcode.h:282
@ Trinamic_ReportPrewarnFlags
911 - M911, Marlin format
Definition: gcode.h:283
@ Macro_Execute9
819 - M819, Marlin format
Definition: gcode.h:281
@ Sienci_Atci_Enable
960 - M960
Definition: gcode.h:288
@ Macro_Execute3
813 - M813, Marlin format
Definition: gcode.h:275
@ Macro_Execute1
811 - M811, Marlin format
Definition: gcode.h:273
@ Trinamic_HomingSensitivity
914 - M914, Marlin format
Definition: gcode.h:286
@ Probe_Deploy
401 - M401, Marlin format
Definition: gcode.h:268
@ Macro_Execute0
810 - M810, Marlin format
Definition: gcode.h:272
@ Probe_Stow
402 - M402, Marlin format
Definition: gcode.h:269
@ Macro_Execute8
818 - M818, Marlin format
Definition: gcode.h:280
@ Macro_Execute4
814 - M814, Marlin format
Definition: gcode.h:276
@ RGB_Inspection_Light
356 - M356
Definition: gcode.h:266
@ Fan_Off
107 - M107, Marlin format
Definition: gcode.h:247
@ Macro_Execute5
815 - M815, Marlin format
Definition: gcode.h:277
@ LaserPPI_Rate
127 - M127
Definition: gcode.h:254
@ Trinamic_DebugReport
122 - M122, Marlin format
Definition: gcode.h:250
@ OpenPNP_SetJerk
20130 - M201.3
Definition: gcode.h:262
@ Trinamic_HybridThreshold
913 - M913, Marlin format
Definition: gcode.h:285
@ Spindle_Select
Value to be assigned later!
Definition: gcode.h:289
@ OpenPNP_SetPinState
42 - M42
Definition: gcode.h:241
@ Macro_Execute7
817 - M817, Marlin format
Definition: gcode.h:279
@ Trinamic_ClearPrewarnFlags
912 - M912, Marlin format
Definition: gcode.h:284
@ Trinamic_ReadRegister
123 - M123
Definition: gcode.h:251
@ Fan_On
106 - M106, Marlin format
Definition: gcode.h:246
@ OpenPNP_SetAcceleration
204 - M204
Definition: gcode.h:263
@ Trinamic_WriteRegister
124 - M124
Definition: gcode.h:252
program_flow_t
Definition: gcode.h:204
@ ProgramFlow_EndPercent
255 - %
Definition: gcode.h:212
@ ProgramFlow_Running
0 - Default, must be zero
Definition: gcode.h:205
@ ProgramFlow_CompletedM60
60 - M60
Definition: gcode.h:210
@ ProgramFlow_OptionalStop
1 - M1
Definition: gcode.h:207
@ ProgramFlow_CompletedM2
2 - M2
Definition: gcode.h:208
@ ProgramFlow_Return
99 - M99
Definition: gcode.h:211
@ ProgramFlow_Paused
3 - M0
Definition: gcode.h:206
@ ProgramFlow_CompletedM30
30 - M30
Definition: gcode.h:209
uint16_t macro_id_t
Definition: gcode.h:37
gc_taper_type
Thread taper types.
Definition: gcode.h:554
@ Taper_None
0
Definition: gcode.h:555
@ Taper_Both
3
Definition: gcode.h:558
@ Taper_Exit
2
Definition: gcode.h:557
@ Taper_Entry
1
Definition: gcode.h:556
gc_probe_t
Definition: gcode.h:321
@ GCProbe_FailEnd
0
Definition: gcode.h:325
@ GCProbe_FailInit
2
Definition: gcode.h:324
@ GCProbe_CheckMode
0
Definition: gcode.h:329
@ GCProbe_Found
1
Definition: gcode.h:322
@ GCProbe_Abort
2
Definition: gcode.h:323
float * gc_get_scaling(void)
Definition: gcode.c:256
cc_retract_mode_t
Definition: gcode.h:159
@ CCRetractMode_Previous
0 - G98 - Default, must be zero
Definition: gcode.h:160
@ CCRetractMode_RPos
1 - G99
Definition: gcode.h:161
parser_state_t gc_state
Definition: gcode.c:128
ccomp_mode_t
Definition: gcode.h:138
@ CComp_Right
2 - G42, G42.1
Definition: gcode.h:141
@ CComp_Off
0 - G40 - Default, must be zero
Definition: gcode.h:139
@ CComp_Left
1 - G41, G41.1
Definition: gcode.h:140
int16_t pocket_id_t
Definition: gcode.h:36
control_mode_t
Definition: gcode.h:194
@ ControlMode_ExactStop
1 - G61.1
Definition: gcode.h:196
@ ControlMode_PathBlending
2 - G64
Definition: gcode.h:197
@ ControlMode_ExactPath
0 - G61 - Default, must be zero
Definition: gcode.h:195
char * gc_coord_system_to_str(coord_system_id_t id)
Definition: gcode.c:176
axes_signals_t gc_get_g51_state(void)
Definition: gcode.c:261
axes_signals_t gc_claim_axis_words(parser_block_t *gc_block, axes_signals_t validate)
Definition: gcode.c:357
void gc_coolant(coolant_state_t state)
Definition: gcode.c:843
void gc_clear_output_commands(output_command_t *cmd)
Definition: gcode.c:910
void gc_spindle_off(void)
Definition: gcode.c:832
coord_system_id_t
Definition: gcode.h:170
@ CoordinateSystem_G55
1 - G55 (G12)
Definition: gcode.h:172
@ CoordinateSystem_G28
9 - G28 (G0) when COMPATIBILITY_LEVEL <= 1, 6 otherwise
Definition: gcode.h:183
@ CoordinateSystem_G59_3
8 - G59.3 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1
Definition: gcode.h:180
@ CoordinateSystem_G54
0 - G54 (G12)
Definition: gcode.h:171
@ N_WorkCoordinateSystems
9 when COMPATIBILITY_LEVEL <= 1, 6 otherwise
Definition: gcode.h:182
@ CoordinateSystem_G56
2 - G56 (G12)
Definition: gcode.h:173
@ CoordinateSystem_G92
11 - G92 (G0) when COMPATIBILITY_LEVEL <= 1, 8 otherwise
Definition: gcode.h:185
@ CoordinateSystem_G59
5 - G59 (G12)
Definition: gcode.h:176
@ CoordinateSystem_G57
3 - G57 (G12)
Definition: gcode.h:174
@ CoordinateSystem_G30
10 - G30 (G0) when COMPATIBILITY_LEVEL <= 1, 7 otherwise
Definition: gcode.h:184
@ CoordinateSystem_G59_2
7 - G59.2 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1
Definition: gcode.h:179
@ CoordinateSystem_G59_1
6 - G59.1 (G12) - availability depending on COMPATIBILITY_LEVEL <= 1
Definition: gcode.h:178
@ CoordinateSystem_G58
4 - G58 (G12)
Definition: gcode.h:175
@ N_CoordinateSystems
12 when COMPATIBILITY_LEVEL <= 1, 9 otherwise
Definition: gcode.h:186
status_code_t gc_execute_block(char *block)
Definition: gcode.c:1052
struct g66_arguments g66_arguments_t
bool gc_laser_ppi_enable(uint_fast16_t ppi, uint_fast16_t pulse_length)
Definition: gcode.c:816
wait_mode_t
M66 Allowed L-parameter values.
Definition: gcode.h:301
@ WaitMode_High
3
Definition: gcode.h:305
@ WaitMode_Immediate
0 - This is the only mode allowed for analog inputs
Definition: gcode.h:302
@ WaitMode_Fall
2
Definition: gcode.h:304
@ WaitMode_Max
For internal use.
Definition: gcode.h:307
@ WaitMode_Low
4
Definition: gcode.h:306
@ WaitMode_Rise
1
Definition: gcode.h:303
void gc_set_tool_offset(tool_offset_mode_t mode, uint_fast8_t idx, int32_t offset)
Definition: gcode.c:293
float gc_get_offset(uint_fast8_t idx, bool real_time)
Definition: gcode.c:276
plane_select_t
Definition: gcode.h:117
@ PlaneSelect_YZ
2 - G19
Definition: gcode.h:120
@ PlaneSelect_ZX
1 - G18
Definition: gcode.h:119
@ PlaneSelect_XY
0 - G17 - Default, must be zero
Definition: gcode.h:118
parser_state_t * gc_get_state(void)
Definition: gcode.c:171
uint_fast16_t override_t
Definition: grbl.h:262
#define AXES_BITMASK
Definition: nuts_bolts.h:99
spindle_rpm_mode_t
Definition: spindle_control.h:134
int8_t spindle_num_t
Definition: spindle_control.h:56
Coordinate system data.
Definition: nuts_bolts.h:319
Coordinate data including id.
Definition: gcode.h:381
coord_system_data_t data
Definition: gcode.h:383
coord_system_id_t id
Definition: gcode.h:382
uint32_t call_level
Definition: gcode.h:605
gc_values_t values
Definition: gcode.h:606
struct g66_arguments * prev
Definition: gcode.h:608
parameter_words_t words
Definition: gcode.h:607
Data for canned cycles.
Definition: gcode.h:542
float dwell
Definition: gcode.h:545
cc_retract_mode_t retract_mode
Definition: gcode.h:549
float delta
Definition: gcode.h:544
bool spindle_off
Definition: gcode.h:548
bool change
Definition: gcode.h:550
float retract_position
Canned cycle retract position.
Definition: gcode.h:546
bool rapid_retract
Definition: gcode.h:547
float radius
Definition: gcode.h:336
ccomp_mode_t side
Definition: gcode.h:334
bool first_move
Definition: gcode.h:335
Data for G70-G73.
Definition: gcode.h:536
gc_modal_t modal
Definition: gcode.h:537
cc_retract_mode_t retract_mode
{G98,G99}
Definition: gcode.h:512
bool canned_cycle_active
Definition: gcode.h:514
coord_system_t g5x_offset
{G54,G55,G56,G57,G58,G59,G59.1,G59.2,G59.3}
Definition: gcode.h:504
feed_mode_t feed_mode
{G93,G94,G95}
Definition: gcode.h:496
motion_mode_t motion
{G0,G1,G2,G3,G38.2,G80}
Definition: gcode.h:495
gc_override_flags_t override_ctrl
{M48,M49,M50,M51,M53,M56}
Definition: gcode.h:511
plane_select_t plane_select
{G17,G18,G19}
Definition: gcode.h:501
coolant_state_t coolant
{M7,M8,M9}
Definition: gcode.h:509
tool_offset_mode_t tool_offset_mode
{G43,G43.1,G49}
Definition: gcode.h:503
program_flow_t program_flow
{M0,M1,M2,M30,M60}
Definition: gcode.h:508
bool auto_restore
{M73} NOTE: set in snapshot when saving modal state
Definition: gcode.h:525
float feed_rate
{F} NOTE: set in snapshot when saving modal state
Definition: gcode.h:524
bool scaling_active
{G50,G51}
Definition: gcode.h:513
bool units_imperial
{G20,G21}
Definition: gcode.h:497
bool diameter_mode
{G7,G8} Lathe diameter mode.
Definition: gcode.h:499
bool distance_incremental
{G90,G91}
Definition: gcode.h:498
override_t rapid_rate
Rapids override value in percent.
Definition: gcode.h:531
override_t feed_rate
Feed rate override value in percent.
Definition: gcode.h:530
float main_taper_height
Definition: gcode.h:568
float infeed_angle
Definition: gcode.h:570
float pitch
Definition: gcode.h:562
gc_taper_type end_taper_type
Definition: gcode.h:573
uint_fast16_t spring_passes
Definition: gcode.h:572
float cut_direction
Definition: gcode.h:571
float peak
Definition: gcode.h:564
float z_final
Definition: gcode.h:563
float depth
Definition: gcode.h:566
float end_taper_length
Definition: gcode.h:569
float initial_depth
Definition: gcode.h:565
float depth_degression
Definition: gcode.h:567
G- and M-code parameter values.
Definition: gcode.h:393
float q
User defined M-code parameter, M67 output value, G64 naive CAM tolerance, G83 delta increment.
Definition: gcode.h:402
float p
G10, 664 or dwell parameters.
Definition: gcode.h:401
uint32_t l
G10, G65, G66 or canned cycles parameters.
Definition: gcode.h:431
float d
Max spindle RPM in Constant Surface Speed Mode (G96)
Definition: gcode.h:394
float r
Arc radius or retract position.
Definition: gcode.h:403
float v
G65 argument.
Definition: gcode.h:419
float a
G65 argument.
Definition: gcode.h:407
int32_t n
Line number - single-meaning word.
Definition: gcode.h:429
float e
Thread taper length (G76), M67 output number.
Definition: gcode.h:395
float u
G65 argument.
Definition: gcode.h:416
float w
G65 argument.
Definition: gcode.h:422
float b
G65 argument.
Definition: gcode.h:410
float h
Tool number or number of G76 thread spring passes.
Definition: gcode.h:397
float s
Spindle speed - single-meaning word.
Definition: gcode.h:404
uint32_t o
Subroutine identifier - single-meaning word.
Definition: gcode.h:430
float k
G33 distance per revolution.
Definition: gcode.h:399
float m
G65 argument.
Definition: gcode.h:400
float c
G65 argument.
Definition: gcode.h:413
float f
Feed rate - single-meaning word.
Definition: gcode.h:396
float t
Tool selection - single-meaning word //.
Definition: gcode.h:405
Data for M62, M63 and M67 commands when executed synchronized with motion.
Definition: gcode.h:293
int32_t value
Definition: gcode.h:296
uint8_t port
Definition: gcode.h:295
bool is_digital
Definition: gcode.h:294
struct output_command * next
Definition: gcode.h:297
Parser block structure.
Definition: gcode.h:664
user_mcode_t user_mcode
Set > 0 if a user M-code is found.
Definition: gcode.h:667
spindle_modal_t spindle_modal
Definition: gcode.h:670
override_mode_t override_command
Override command TODO: add to non_modal above?
Definition: gcode.h:666
output_command_t output_command
Details about M62-M68 output command to execute if present in block.
Definition: gcode.h:673
parameter_words_t g65_words
Parameter words to pass to G65 macro.
Definition: gcode.h:675
gc_values_t values
Parameter values for block.
Definition: gcode.h:671
modal_state_action_t state_action
M70-M73 modal state action.
Definition: gcode.h:677
uint32_t arc_turns
Definition: gcode.h:674
bool user_mcode_sync
Set to true by M-code validation handler if M-code is to be executed after synchronization.
Definition: gcode.h:668
non_modal_t non_modal_command
Non modal command.
Definition: gcode.h:665
gc_modal_t modal
The current modal state is copied here before parsing starts.
Definition: gcode.h:669
parameter_words_t words
Bitfield for tracking found parameter values.
Definition: gcode.h:672
Parser state.
Definition: gcode.h:616
status_code_t last_error
last return value from parser
Definition: gcode.h:638
uint32_t line_number
Last line number sent.
Definition: gcode.h:627
tool_data_t * tool
Tracks tool number and tool offset.
Definition: gcode.h:646
float distance_per_rev
Millimeters/rev.
Definition: gcode.h:621
bool file_run
Tracks % command.
Definition: gcode.h:632
coord_system_data_t g92_offset
Definition: gcode.h:643
g66_arguments_t * g66_args
Linked list with G66 arguments, NULL if G66 is not active.
Definition: gcode.h:648
bool g92_offset_applied
true when G92 offset applied
Definition: gcode.h:642
gc_canned_t canned
Definition: gcode.h:618
bool tool_change
Definition: gcode.h:636
bool skip_blocks
true if skipping conditional blocks
Definition: gcode.h:637
bool is_laser_ppi_mode
Definition: gcode.h:634
tool_id_t tool_pending
Tool to be selected on next M6.
Definition: gcode.h:628
uint32_t g43_pending
Tool offset to be selected on next M6, for macro ATC.
Definition: gcode.h:630
float feed_rate
Millimeters/min.
Definition: gcode.h:620
bool file_stream
Tracks streaming from file.
Definition: gcode.h:633
bool is_rpm_rate_adjusted
Definition: gcode.h:635
gc_modal_t modal
Definition: gcode.h:617
spindle_t * spindle
Last referenced spindle.
Definition: gcode.h:619
offset_id_t offset_id
id(x) of last G92 coordinate offset (into circular buffer)
Definition: gcode.h:639
point_2d_t offsets
Definition: gcode.h:598
float angle
Definition: gcode.h:597
Data used for Constant Surface Speed (CSS) mode calculations.
Definition: spindle_control.h:335
spindle_state_t state
{M3,M4,M5}
Definition: gcode.h:489
spindle_rpm_mode_t rpm_mode
{G96,G97}
Definition: gcode.h:490
Handlers and data for spindle support.
Definition: spindle_control.h:306
float rpm
Spindle speed. Must be second last!
Definition: gcode.h:484
spindle_state_t state
{M3,M4,M5}
Definition: gcode.h:480
spindle_rpm_mode_t rpm_mode
{G96,G97}
Definition: gcode.h:481
spindle_ptrs_t * hal
Spindle function pointers etc. Must be last!
Definition: gcode.h:485
spindle_css_data_t * css
Data used for Constant Surface Speed Mode calculations.
Definition: gcode.h:483
spindle_cond_t condition
TODO: move data from planner_cond_t here.
Definition: gcode.h:482
Tool table entry.
Definition: gcode.h:584
tool_data_t * data
Definition: gcode.h:586
pocket_id_t pocket
Definition: gcode.h:587
const char * name
Definition: gcode.h:585
Definition: nuts_bolts.h:246
Definition: coolant_control.h:27
Coordinate data.
Definition: nuts_bolts.h:289
Override flags.
Definition: gcode.h:358
uint16_t reserved2
Definition: gcode.h:376
uint16_t parking
Definition: gcode.h:373
uint16_t spindle_rpm
Definition: gcode.h:370
uint16_t parking_disable
Definition: gcode.h:364
uint16_t feed_hold
Definition: gcode.h:372
uint16_t feed_hold_disable
Definition: gcode.h:363
uint16_t spindle_rpm_disable
Definition: gcode.h:361
uint16_t sync
Definition: gcode.h:367
uint16_t feed_rates
Definition: gcode.h:371
uint16_t reserved
Definition: gcode.h:366
uint16_t reserved1
Definition: gcode.h:375
uint16_t value
Definition: gcode.h:359
uint16_t spindle
Definition: gcode.h:374
uint16_t spindle_wait_disable
Definition: gcode.h:365
uint16_t feed_rates_disable
Definition: gcode.h:362
Parser flags for special cases.
Definition: gcode.h:340
uint16_t set_coolant
Definition: gcode.h:351
uint16_t spindle_force_sync
Definition: gcode.h:348
uint16_t laser_disable
Definition: gcode.h:349
uint16_t canned_cycle_change
Definition: gcode.h:344
uint16_t probe_is_away
Definition: gcode.h:346
uint16_t jog_motion
Definition: gcode.h:343
uint16_t reserved
Definition: gcode.h:353
uint16_t probe_is_no_error
Definition: gcode.h:347
uint16_t laser_is_motion
Definition: gcode.h:350
uint16_t value
Definition: gcode.h:341
uint16_t motion_mode_changed
Definition: gcode.h:352
uint16_t arc_is_clockwise
Definition: gcode.h:345
Parameter words found by parser - do NOT change order!
Definition: gcode.h:435
uint32_t a
A-axis or G65 argument.
Definition: gcode.h:440
uint32_t l
Number of repetitions in canned cycles, wait mode for M66.
Definition: gcode.h:451
uint32_t g
Unused (placeholder).
Definition: gcode.h:449
uint32_t b
B-axis or G65 argument.
Definition: gcode.h:441
uint32_t s
Spindle speed.
Definition: gcode.h:458
uint32_t d
Tool radius compensation.
Definition: gcode.h:446
uint32_t n
Line number.
Definition: gcode.h:453
uint32_t h
Tool length offset index.
Definition: gcode.h:450
uint32_t j
Y-axis offset for arcs.
Definition: gcode.h:444
uint32_t i
X-axis offset for arcs.
Definition: gcode.h:443
uint32_t e
Analog port number for M66 - M68.
Definition: gcode.h:447
uint32_t m
G65 argument.
Definition: gcode.h:452
uint32_t o
Subroutine identifier.
Definition: gcode.h:454
uint32_t p
Dwell time for G4 or in canned cycles, port number for M62 - M66.
Definition: gcode.h:455
uint32_t q
Feed increment for G83 canned cycle, tool number for M61, timeout for M66.
Definition: gcode.h:456
uint32_t y
Y-axis.
Definition: gcode.h:464
uint32_t v
V-axis or G65 argument.
Definition: gcode.h:461
uint32_t u
U-axis or G65 argument.
Definition: gcode.h:460
uint32_t x
X-axis.
Definition: gcode.h:463
uint32_t c
C-axis or G65 argument.
Definition: gcode.h:442
uint32_t w
W-axis or G65 argument.
Definition: gcode.h:462
uint32_t mask
All flags as a bitmap.
Definition: gcode.h:436
uint32_t z
Z-axis.
Definition: gcode.h:465
uint32_t k
Z-axis offset for arcs.
Definition: gcode.h:445
uint32_t r
Arc radius, canned cycle retract level.
Definition: gcode.h:457
uint32_t f
Feedrate.
Definition: gcode.h:448
uint32_t value
Synonymous with mask.
Definition: gcode.h:437
uint32_t t
Tool number.
Definition: gcode.h:459
Axis index to plane assignment.
Definition: nuts_bolts.h:373
Definition: nuts_bolts.h:355
uint8_t is_laser_ppi_mode
Definition: gcode.h:473
uint8_t is_rpm_rate_adjusted
Definition: gcode.h:472
uint8_t unassigned
Definition: gcode.h:474
uint8_t value
Definition: gcode.h:470
Definition: spindle_control.h:59