Go to the documentation of this file.
32 #ifndef _GRBL_CONFIG_H_
33 #define _GRBL_CONFIG_H_
50 #if (!defined AXIS_REMAP_ABC2UVW && (N_AXIS > 3 && N_AXIS < 7)) || defined __DOXYGEN__
51 #define AXIS_REMAP_ABC2UVW Off
57 #if !defined N_SPINDLE || defined __DOXYGEN__
64 #if !defined N_SYS_SPINDLE || defined __DOXYGEN__
65 #define N_SYS_SPINDLE 1
71 #if !defined BUILD_INFO || defined __DOXYGEN__
89 #if !defined COMPATIBILITY_LEVEL || defined __DOXYGEN__
90 #define COMPATIBILITY_LEVEL 0
101 #if !defined ENABLE_SPINDLE_LINEARIZATION || defined __DOXYGEN__
102 #define ENABLE_SPINDLE_LINEARIZATION 0
108 #if !defined SPINDLE_NPWM_PIECES || defined __DOXYGEN__
109 #define SPINDLE_NPWM_PIECES 4
120 #if !defined MASLOW_ROUTER || defined __DOXYGEN__
123 #define MASLOW_ROUTER Off
130 #if !defined WALL_PLOTTER || defined __DOXYGEN__
131 #define WALL_PLOTTER Off
138 #if !defined DELTA_ROBOT || defined __DOXYGEN__
139 #define DELTA_ROBOT Off
143 #if DELTA_ROBOT && !defined MINIMUM_FEED_RATE
144 #define MINIMUM_FEED_RATE 0.1f
151 #if !defined POLAR_ROBOT || defined __DOXYGEN__
152 #define POLAR_ROBOT Off
165 #if !defined COREXY || defined __DOXYGEN__
176 #if !defined CHECK_MODE_DELAY || defined __DOXYGEN__
177 #define CHECK_MODE_DELAY 0
185 #if !defined DEBOUNCE_DELAY || defined __DOXYGEN__
186 #define DEBOUNCE_DELAY 40
194 #define ENABLE_PATH_BLENDING Off
196 #if !defined ENABLE_ACCELERATION_PROFILES || defined __DOXYGEN__
197 #define ENABLE_ACCELERATION_PROFILES Off
200 #if !defined ENABLE_JERK_ACCELERATION || defined __DOXYGEN__
201 #define ENABLE_JERK_ACCELERATION Off
222 #if !defined REPORT_OVERRIDE_REFRESH_BUSY_COUNT || defined __DOXYGEN__
223 #define REPORT_OVERRIDE_REFRESH_BUSY_COUNT 20
225 #if !defined REPORT_OVERRIDE_REFRESH_IDLE_COUNT || defined __DOXYGEN__
226 #define REPORT_OVERRIDE_REFRESH_IDLE_COUNT 10
228 #if !defined REPORT_WCO_REFRESH_BUSY_COUNT || defined __DOXYGEN__
229 #define REPORT_WCO_REFRESH_BUSY_COUNT 30
231 #if !defined REPORT_WCO_REFRESH_IDLE_COUNT || defined __DOXYGEN__
232 #define REPORT_WCO_REFRESH_IDLE_COUNT 10
246 #if !defined ACCELERATION_TICKS_PER_SECOND || defined __DOXYGEN__
247 #define ACCELERATION_TICKS_PER_SECOND 100
267 #if !defined REPORT_ECHO_LINE_RECEIVED || defined __DOXYGEN__
268 #define REPORT_ECHO_LINE_RECEIVED Off
277 #if !defined TOOL_LENGTH_OFFSET_AXIS || defined __DOXYGEN__
278 #define TOOL_LENGTH_OFFSET_AXIS -1
290 #if !defined MINIMUM_JUNCTION_SPEED || defined __DOXYGEN__
291 #define MINIMUM_JUNCTION_SPEED 0.0f
301 #if !defined MINIMUM_FEED_RATE || defined __DOXYGEN__
302 #define MINIMUM_FEED_RATE 1.0f
312 #if !defined N_ARC_CORRECTION || defined __DOXYGEN__
313 #define N_ARC_CORRECTION 12
327 #if !defined ARC_ANGULAR_TRAVEL_EPSILON || defined __DOXYGEN__
328 #define ARC_ANGULAR_TRAVEL_EPSILON 5E-7f
335 #if !defined BEZIER_MIN_STEP || defined __DOXYGEN__
336 #define BEZIER_MIN_STEP 0.002f
338 #if !defined BEZIER_MAX_STEP || defined __DOXYGEN__
339 #define BEZIER_MAX_STEP 0.1f
341 #if !defined BEZIER_SIGMA || defined __DOXYGEN__
342 #define BEZIER_SIGMA 0.1f
354 #if !defined DWELL_TIME_STEP || defined __DOXYGEN__
355 #define DWELL_TIME_STEP 50
367 #if !defined SEGMENT_BUFFER_SIZE || defined __DOXYGEN__
368 #define SEGMENT_BUFFER_SIZE 10
376 #if !defined SET_CHECK_MODE_PROBE_TO_START || defined __DOXYGEN__
377 #define SET_CHECK_MODE_PROBE_TO_START Off
391 #if !defined HARD_LIMIT_FORCE_STATE_CHECK || defined __DOXYGEN__
392 #define HARD_LIMIT_FORCE_STATE_CHECK Off
406 #if !defined HOMING_AXIS_SEARCH_SCALAR || defined __DOXYGEN__
407 #define HOMING_AXIS_SEARCH_SCALAR 1.5f
409 #if !defined HOMING_AXIS_LOCATE_SCALAR || defined __DOXYGEN__
410 #define HOMING_AXIS_LOCATE_SCALAR 10.0f
421 #if !defined ENABLE_RESTORE_NVS_WIPE_ALL || defined __DOXYGEN__
422 #define ENABLE_RESTORE_NVS_WIPE_ALL On
424 #if !defined ENABLE_RESTORE_NVS_DEFAULT_SETTINGS || defined __DOXYGEN__
425 #define ENABLE_RESTORE_NVS_DEFAULT_SETTINGS On
427 #if !defined ENABLE_RESTORE_NVS_CLEAR_PARAMETERS || defined __DOXYGEN__
428 #define ENABLE_RESTORE_NVS_CLEAR_PARAMETERS On
430 #if !defined ENABLE_RESTORE_NVS_DRIVER_PARAMETERS || defined __DOXYGEN__
431 #define ENABLE_RESTORE_NVS_DRIVER_PARAMETERS On
445 #if !defined SETTINGS_RESTORE_DEFAULTS || defined __DOXYGEN__
446 #define SETTINGS_RESTORE_DEFAULTS On
448 #if !defined SETTINGS_RESTORE_PARAMETERS || defined __DOXYGEN__
449 #define SETTINGS_RESTORE_PARAMETERS On
451 #if !defined SETTINGS_RESTORE_STARTUP_LINES || defined __DOXYGEN__
452 #define SETTINGS_RESTORE_STARTUP_LINES On
454 #if !defined SETTINGS_RESTORE_BUILD_INFO || defined __DOXYGEN__
455 #define SETTINGS_RESTORE_BUILD_INFO On
457 #if !defined SETTINGS_RESTORE_DRIVER_PARAMETERS || defined __DOXYGEN__
458 #define SETTINGS_RESTORE_DRIVER_PARAMETERS On
468 #if !defined DISABLE_BUILD_INFO_WRITE_COMMAND || defined __DOXYGEN__
469 #define DISABLE_BUILD_INFO_WRITE_COMMAND Off
486 #if !defined SLEEP_DURATION || defined __DOXYGEN__
487 #define SLEEP_DURATION 5.0f
495 #if !defined NVSDATA_BUFFER_ENABLE || defined __DOXYGEN__
496 #define NVSDATA_BUFFER_ENABLE On
508 #if !defined TOOLSETTER_RADIUS || defined __DOXYGEN__
509 #define TOOLSETTER_RADIUS 5.0f
512 #if !defined ENABLE_BACKLASH_COMPENSATION || defined __DOXYGEN__
513 #define ENABLE_BACKLASH_COMPENSATION Off
516 #if COMPATIBILITY_LEVEL == 0 || defined __DOXYGEN__
521 #if !defined N_TOOLS || defined __DOXYGEN__
532 #if !defined SPINDLE_SYNC_ENABLE || defined __DOXYGEN__
533 #define SPINDLE_SYNC_ENABLE Off
542 #if !defined NGC_EXPRESSIONS_ENABLE || defined __DOXYGEN__
543 #define NGC_EXPRESSIONS_ENABLE Off
550 #if !defined NGC_PARAMETERS_ENABLE || defined __DOXYGEN__
551 #define NGC_PARAMETERS_ENABLE On
558 #if (NGC_EXPRESSIONS_ENABLE && !defined NGC_N_ASSIGN_PARAMETERS_PER_BLOCK) || defined __DOXYGEN__
559 #define NGC_N_ASSIGN_PARAMETERS_PER_BLOCK 10
566 #if !defined LATHE_UVW_OPTION || defined __DOXYGEN__
567 #define LATHE_UVW_OPTION Off
594 #if !defined DEFAULT_REPORT_MACHINE_POSITION || defined __DOXYGEN__
595 #define DEFAULT_REPORT_MACHINE_POSITION On
603 #if !defined DEFAULT_REPORT_BUFFER_STATE || defined __DOXYGEN__
604 #define DEFAULT_REPORT_BUFFER_STATE On
614 #if !defined DEFAULT_REPORT_LINE_NUMBERS || defined __DOXYGEN__
615 #define DEFAULT_REPORT_LINE_NUMBERS On
624 #if !defined DEFAULT_REPORT_CURRENT_FEED_SPEED || defined __DOXYGEN__
625 #define DEFAULT_REPORT_CURRENT_FEED_SPEED On
634 #if !defined DEFAULT_REPORT_PIN_STATE || defined __DOXYGEN__
635 #define DEFAULT_REPORT_PIN_STATE On
644 #if !defined DEFAULT_REPORT_WORK_COORD_OFFSET || defined __DOXYGEN__
645 #define DEFAULT_REPORT_WORK_COORD_OFFSET On
654 #if !defined DEFAULT_REPORT_OVERRIDES || defined __DOXYGEN__
655 #define DEFAULT_REPORT_OVERRIDES On
665 #if !defined DEFAULT_REPORT_PROBE_COORDINATES || defined __DOXYGEN__
666 #define DEFAULT_REPORT_PROBE_COORDINATES On
679 #if !defined DEFAULT_REPORT_SYNC_ON_WCO_CHANGE || defined __DOXYGEN__
680 #define DEFAULT_REPORT_SYNC_ON_WCO_CHANGE On
690 #if !defined DEFAULT_REPORT_PARSER_STATE || defined __DOXYGEN__
691 #define DEFAULT_REPORT_PARSER_STATE Off
704 #if !defined DEFAULT_REPORT_ALARM_SUBSTATE || defined __DOXYGEN__
705 #define DEFAULT_REPORT_ALARM_SUBSTATE Off
717 #if !defined DEFAULT_REPORT_RUN_SUBSTATE || defined __DOXYGEN__
718 #define DEFAULT_REPORT_RUN_SUBSTATE Off
727 #if !defined DEFAULT_REPORT_WHEN_HOMING || defined __DOXYGEN__
728 #define DEFAULT_REPORT_WHEN_HOMING Off
737 #if !defined DEFAULT_JUNCTION_DEVIATION || defined __DOXYGEN__
738 #define DEFAULT_JUNCTION_DEVIATION 0.01f
746 #if !defined DEFAULT_ARC_TOLERANCE || defined __DOXYGEN__
747 #define DEFAULT_ARC_TOLERANCE 0.002f
756 #if !defined DEFAULT_REPORT_INCHES || defined __DOXYGEN__
757 #define DEFAULT_REPORT_INCHES Off
766 #if !defined DEFAULT_G73_RETRACT || defined __DOXYGEN__
767 #define DEFAULT_G73_RETRACT 0.1f
775 #if !defined DEFAULT_LASER_MODE || defined __DOXYGEN__
776 #define DEFAULT_LASER_MODE Off
778 #if !defined DEFAULT_LATHE_MODE || defined __DOXYGEN__
779 #define DEFAULT_LATHE_MODE Off
792 #if !defined DEFAULT_LEGACY_RTCOMMANDS || defined __DOXYGEN__
793 #define DEFAULT_LEGACY_RTCOMMANDS On
800 #if !defined DEFAULT_RESET_OVERRIDES || defined __DOXYGEN__
801 #define DEFAULT_RESET_OVERRIDES Off
808 #if !defined DEFAULT_SLEEP_ENABLE || defined __DOXYGEN__
809 #define DEFAULT_SLEEP_ENABLE Off
820 #if !defined DEFAULT_DISABLE_LASER_DURING_HOLD || defined __DOXYGEN__
821 #define DEFAULT_DISABLE_LASER_DURING_HOLD On
830 #if !defined DEFAULT_RESTORE_AFTER_FEED_HOLD || defined __DOXYGEN__
831 #define DEFAULT_RESTORE_AFTER_FEED_HOLD On
844 #if !defined DEFAULT_FORCE_INITIALIZATION_ALARM || defined __DOXYGEN__
845 #define DEFAULT_FORCE_INITIALIZATION_ALARM Off
855 #if !defined DEFAULT_DISABLE_G92_PERSISTENCE || defined __DOXYGEN__
856 #if COMPATIBILITY_LEVEL <= 1
857 #define DEFAULT_DISABLE_G92_PERSISTENCE Off
859 #define DEFAULT_DISABLE_G92_PERSISTENCE On
872 #if !defined DEFAULT_PLANNER_BUFFER_BLOCKS || defined __DOXYGEN__
873 #define DEFAULT_PLANNER_BUFFER_BLOCKS 100
886 #if !defined DEFAULT_HOMING_KEEP_STATUS_ON_RESET || defined __DOXYGEN__
887 #define DEFAULT_HOMING_KEEP_STATUS_ON_RESET Off
897 #if !defined DEFAULT_KEEP_OFFSETS_ON_RESET || defined __DOXYGEN__
898 #define DEFAULT_KEEP_OFFSETS_ON_RESET Off
911 #define SIGNALS_RESET_BIT (1<<0)
912 #define SIGNALS_FEEDHOLD_BIT (1<<1)
913 #define SIGNALS_CYCLESTART_BIT (1<<2)
914 #define SIGNALS_SAFETYDOOR_BIT (1<<3)
915 #define SIGNALS_BLOCKDELETE_BIT (1<<4)
916 #define SIGNALS_STOPDISABLE_BIT (1<<5)
917 #define SIGNALS_ESTOP_BIT (1<<6)
918 #define SIGNALS_PROBE_CONNECTED_BIT (1<<7)
919 #define SIGNALS_MOTOR_FAULT_BIT (1<<8)
920 #define SIGNALS_BITMASK (SIGNALS_RESET_BIT|SIGNALS_FEEDHOLD_BIT|SIGNALS_CYCLESTART_BIT|SIGNALS_SAFETYDOOR_BIT|SIGNALS_BLOCKDELETE_BIT|SIGNALS_STOPDISABLE_BIT|SIGNALS_ESTOP_BIT|SIGNALS_PROBE_CONNECTED_BIT|SIGNALS_MOTOR_FAULT_BIT)
931 #if !defined DEFAULT_CONTROL_SIGNALS_INVERT_MASK || defined __DOXYGEN__
932 #define DEFAULT_CONTROL_SIGNALS_INVERT_MASK 0
950 #if !defined DEFAULT_DISABLE_CONTROL_PINS_PULL_UP_MASK || defined __DOXYGEN__
951 #define DEFAULT_DISABLE_CONTROL_PINS_PULL_UP_MASK 0
965 #if !defined DEFAULT_LIMIT_SIGNALS_INVERT_MASK || defined __DOXYGEN__
966 #define DEFAULT_LIMIT_SIGNALS_INVERT_MASK 0
977 #if !defined DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK || defined __DOXYGEN__
978 #define DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK 0
985 #if !defined DEFAULT_SOFT_LIMIT_ENABLE || defined __DOXYGEN__
986 #define DEFAULT_SOFT_LIMIT_ENABLE Off
1000 #if !defined DEFAULT_HARD_LIMIT_ENABLE || defined __DOXYGEN__
1001 #define DEFAULT_HARD_LIMIT_ENABLE Off
1003 #if !defined DEFAULT_CHECK_LIMITS_AT_INIT || defined __DOXYGEN__
1004 #define DEFAULT_CHECK_LIMITS_AT_INIT Off
1006 #if !defined DEFAULT_HARD_LIMITS_DISABLE_FOR_ROTARY || defined __DOXYGEN__
1007 #define DEFAULT_HARD_LIMITS_DISABLE_FOR_ROTARY Off
1025 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT || defined __DOXYGEN__
1026 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0f
1033 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN || defined __DOXYGEN__
1034 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5f
1042 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX || defined __DOXYGEN__
1043 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0f
1054 #if !defined DEFAULT_INVERT_COOLANT_FLOOD_PIN || defined __DOXYGEN__
1055 #define DEFAULT_INVERT_COOLANT_FLOOD_PIN Off
1057 #if !defined DEFAULT_INVERT_COOLANT_MIST_PIN || defined __DOXYGEN__
1058 #define DEFAULT_INVERT_COOLANT_MIST_PIN Off
1065 #if !defined DEFAULT_COOLANT_ON_DELAY || defined __DOXYGEN__
1066 #define DEFAULT_COOLANT_ON_DELAY 0
1075 #if !defined DEFAULT_SPINDLE_ENABLE_OFF_WITH_ZERO_SPEED || defined __DOXYGEN__
1076 #define DEFAULT_SPINDLE_ENABLE_OFF_WITH_ZERO_SPEED Off
1078 #if !defined DEFAULT_PWM_SPINDLE_DISABLE_LASER_MODE || defined __DOXYGEN__
1079 #define DEFAULT_PWM_SPINDLE_DISABLE_LASER_MODE Off
1087 #if !defined DEFAULT_INVERT_SPINDLE_ENABLE_PIN || defined __DOXYGEN__
1088 #define DEFAULT_INVERT_SPINDLE_ENABLE_PIN Off
1090 #if !defined DEFAULT_INVERT_SPINDLE_CCW_PIN || defined __DOXYGEN__
1091 #define DEFAULT_INVERT_SPINDLE_CCW_PIN Off
1093 #if !defined DEFAULT_INVERT_SPINDLE_PWM_PIN || defined __DOXYGEN__
1094 #define DEFAULT_INVERT_SPINDLE_PWM_PIN Off
1101 #if !defined DEFAULT_SPINDLE_RPM_MAX || defined __DOXYGEN__
1102 #define DEFAULT_SPINDLE_RPM_MAX 1000.0f
1109 #if !defined DEFAULT_SPINDLE_RPM_MIN || defined __DOXYGEN__
1110 #define DEFAULT_SPINDLE_RPM_MIN 0.0f
1117 #if !defined DEFAULT_SPINDLE_PWM_FREQ || defined __DOXYGEN__
1118 #define DEFAULT_SPINDLE_PWM_FREQ 5000
1125 #if !defined DEFAULT_SPINDLE_PWM_OFF_VALUE || defined __DOXYGEN__
1126 #define DEFAULT_SPINDLE_PWM_OFF_VALUE 0.0f
1142 #if !defined DEFAULT_SPINDLE_PWM_MIN_VALUE || defined __DOXYGEN__
1143 #define DEFAULT_SPINDLE_PWM_MIN_VALUE 0.0f
1150 #if !defined DEFAULT_SPINDLE_PWM_MAX_VALUE || defined __DOXYGEN__
1151 #define DEFAULT_SPINDLE_PWM_MAX_VALUE 100.0f
1163 #if !defined DEFAULT_SPINDLE_PPR || defined __DOXYGEN__
1164 #define DEFAULT_SPINDLE_PPR 0
1171 #if !defined DEFAULT_SPINDLE_AT_SPEED_TOLERANCE || defined __DOXYGEN__
1172 #define DEFAULT_SPINDLE_AT_SPEED_TOLERANCE 0.0f
1179 #if !defined DEFAULT_SPINDLE_ON_DELAY || defined __DOXYGEN__
1180 #define DEFAULT_SPINDLE_ON_DELAY 0
1187 #if !defined DEFAULT_SPINDLE || defined __DOXYGEN__
1188 #define DEFAULT_SPINDLE SPINDLE_PWM0
1195 #if !defined DEFAULT_SPINDLE_OFF_DELAY || defined __DOXYGEN__
1196 #define DEFAULT_SPINDLE_OFF_DELAY 0
1209 #ifndef DEFAULT_SPINDLE_P_GAIN
1210 #define DEFAULT_SPINDLE_P_GAIN 1.0f
1212 #ifndef DEFAULT_SPINDLE_I_GAIN
1213 #define DEFAULT_SPINDLE_I_GAIN 0.01f
1215 #ifndef DEFAULT_SPINDLE_D_GAIN
1216 #define DEFAULT_SPINDLE_D_GAIN 0.0f
1218 #ifndef DEFAULT_SPINDLE_I_MAX
1219 #define DEFAULT_SPINDLE_I_MAX 10.0f
1222 #if ENABLE_SPINDLE_LINEARIZATION || defined __DOXYGEN__
1228 #if !defined DEFAULT_RPM_POINT01 || defined __DOXYGEN__
1229 #define DEFAULT_RPM_POINT01 NAN
1231 #if !defined DEFAULT_RPM_LINE_A1 || defined __DOXYGEN__
1232 #define DEFAULT_RPM_LINE_A1 3.197101e-03f
1234 #if !defined DEFAULT_RPM_LINE_B1 || defined __DOXYGEN__
1235 #define DEFAULT_RPM_LINE_B1 -3.526076e-1f
1243 #if !defined DEFAULT_RPM_POINT12 || defined __DOXYGEN__
1244 #define DEFAULT_RPM_POINT12 NAN
1246 #if !defined DEFAULT_RPM_LINE_A2 || defined __DOXYGEN__
1247 #define DEFAULT_RPM_LINE_A2 1.722950e-2f
1249 #if !defined DEFAULT_RPM_LINE_B2 || defined __DOXYGEN__
1250 #define DEFAULT_RPM_LINE_B2 1.0f,
1258 #if !defined DEFAULT_RPM_POINT23 || defined __DOXYGEN__
1259 #define DEFAULT_RPM_POINT23 NAN
1261 #if !defined DEFAULT_RPM_LINE_A3 || defined __DOXYGEN__
1262 #define DEFAULT_RPM_LINE_A3 5.901518e-02f
1264 #if !defined DEFAULT_RPM_LINE_B3 || defined __DOXYGEN__
1265 #define DEFAULT_RPM_LINE_B3 4.881851e+02f
1273 #if !defined DEFAULT_RPM_POINT34 || defined __DOXYGEN__
1274 #define DEFAULT_RPM_POINT34 NAN
1276 #if !defined DEFAULT_RPM_LINE_A4 || defined __DOXYGEN__
1277 #define DEFAULT_RPM_LINE_A4 1.203413e-01f
1279 #if !defined DEFAULT_RPM_LINE_B4 || defined __DOXYGEN__
1280 #define DEFAULT_RPM_LINE_B4 1.151360e+03f
1292 #if !defined DEFAULT_INVERT_SPINDLE1_ENABLE_PIN || defined __DOXYGEN__
1293 #define DEFAULT_INVERT_SPINDLE1_ENABLE_PIN Off
1295 #if !defined DEFAULT_INVERT_SPINDLE1_CCW_PIN || defined __DOXYGEN__
1296 #define DEFAULT_INVERT_SPINDLE1_CCW_PIN Off
1298 #if !defined DEFAULT_INVERT_SPINDLE1_PWM_PIN || defined __DOXYGEN__
1299 #define DEFAULT_INVERT_SPINDLE1_PWM_PIN Off
1306 #if !defined DEFAULT_SPINDLE1_RPM_MAX || defined __DOXYGEN__
1307 #define DEFAULT_SPINDLE1_RPM_MAX 1000.0f
1314 #if !defined DEFAULT_SPINDLE1_RPM_MIN || defined __DOXYGEN__
1315 #define DEFAULT_SPINDLE1_RPM_MIN 0.0f
1322 #if !defined DEFAULT_SPINDLE1_PWM_FREQ || defined __DOXYGEN__
1323 #define DEFAULT_SPINDLE1_PWM_FREQ 5000
1330 #if !defined DEFAULT_SPINDLE1_PWM_OFF_VALUE || defined __DOXYGEN__
1331 #define DEFAULT_SPINDLE1_PWM_OFF_VALUE 0.0f
1347 #if !defined DEFAULT_SPINDLE1_PWM_MIN_VALUE || defined __DOXYGEN__
1348 #define DEFAULT_SPINDLE1_PWM_MIN_VALUE 0.0f
1355 #if !defined DEFAULT_SPINDLE1_PWM_MAX_VALUE || defined __DOXYGEN__
1356 #define DEFAULT_SPINDLE1_PWM_MAX_VALUE 100.0f
1367 #if !defined DEFAULT_TOOLCHANGE_MODE || defined __DOXYGEN__
1368 #define DEFAULT_TOOLCHANGE_MODE 0
1375 #if !defined DEFAULT_TOOLCHANGE_PROBING_DISTANCE || defined __DOXYGEN__
1376 #define DEFAULT_TOOLCHANGE_PROBING_DISTANCE 30
1383 #if !defined DEFAULT_TOOLCHANGE_FEED_RATE || defined __DOXYGEN__
1384 #define DEFAULT_TOOLCHANGE_FEED_RATE 25.0f
1392 #if !defined DEFAULT_TOOLCHANGE_SEEK_RATE || defined __DOXYGEN__
1393 #define DEFAULT_TOOLCHANGE_SEEK_RATE 200.0f
1400 #if !defined DEFAULT_TOOLCHANGE_PULLOFF_RATE || defined __DOXYGEN__
1401 #define DEFAULT_TOOLCHANGE_PULLOFF_RATE 200.0f
1408 #if !defined DEFAULT_TOOLCHANGE_NO_RESTORE_POSITION || defined __DOXYGEN__
1409 #define DEFAULT_TOOLCHANGE_NO_RESTORE_POSITION Off
1411 #if !defined DEFAULT_TOOLCHANGE_AT_G30 || defined __DOXYGEN__
1412 #define DEFAULT_TOOLCHANGE_AT_G30 Off
1414 #if !defined DEFAULT_TOOLCHANGE_FAST_PROBE_PULLOFF || defined __DOXYGEN__
1415 #define DEFAULT_TOOLCHANGE_FAST_PROBE_PULLOFF Off
1427 #if !defined DEFAULT_HOMING_ENABLE || defined __DOXYGEN__
1428 #define DEFAULT_HOMING_ENABLE Off
1438 #if !defined DEFAULT_HOMING_SINGLE_AXIS_COMMANDS || defined __DOXYGEN__
1439 #define DEFAULT_HOMING_SINGLE_AXIS_COMMANDS Off
1449 #if !defined DEFAULT_HOMING_INIT_LOCK || defined __DOXYGEN__
1450 #define DEFAULT_HOMING_INIT_LOCK Off
1460 #if !defined DEFAULT_HOMING_FORCE_SET_ORIGIN || defined __DOXYGEN__
1461 #define DEFAULT_HOMING_FORCE_SET_ORIGIN Off
1474 #if !defined DEFAULT_LIMITS_TWO_SWITCHES_ON_AXES || defined __DOXYGEN__
1475 #define DEFAULT_LIMITS_TWO_SWITCHES_ON_AXES Off
1485 #if !defined DEFAULT_HOMING_ALLOW_MANUAL || defined __DOXYGEN__
1486 #define DEFAULT_HOMING_ALLOW_MANUAL Off
1495 #if !defined DEFAULT_HOMING_OVERRIDE_LOCKS || defined __DOXYGEN__
1496 #define DEFAULT_HOMING_OVERRIDE_LOCKS Off
1504 #if !defined DEFAULT_HOMING_USE_LIMIT_SWITCHES || defined __DOXYGEN__
1505 #define DEFAULT_HOMING_USE_LIMIT_SWITCHES Off
1514 #if !defined DEFAULT_HOMING_DIR_MASK || defined __DOXYGEN__
1515 #define DEFAULT_HOMING_DIR_MASK 0
1522 #if !defined DEFAULT_HOMING_FEED_RATE || defined __DOXYGEN__
1523 #define DEFAULT_HOMING_FEED_RATE 25.0f
1530 #if !defined DEFAULT_HOMING_SEEK_RATE || defined __DOXYGEN__
1531 #define DEFAULT_HOMING_SEEK_RATE 500.0f
1538 #if !defined DEFAULT_HOMING_DEBOUNCE_DELAY || defined __DOXYGEN__
1539 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250
1546 #if !defined DEFAULT_HOMING_PULLOFF || defined __DOXYGEN__
1547 #define DEFAULT_HOMING_PULLOFF 1.0f
1557 #if !defined DEFAULT_N_HOMING_LOCATE_CYCLE || defined __DOXYGEN__
1558 #define DEFAULT_N_HOMING_LOCATE_CYCLE 1
1583 #if !defined DEFAULT_HOMING_CYCLE_0 || defined __DOXYGEN__
1584 #define DEFAULT_HOMING_CYCLE_0 (Z_AXIS_BIT)
1591 #if !defined DEFAULT_HOMING_CYCLE_1 || defined __DOXYGEN__
1593 #define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT)
1595 #define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT|Y_AXIS_BIT)
1603 #if !defined DEFAULT_HOMING_CYCLE_2 || defined __DOXYGEN__
1605 #define DEFAULT_HOMING_CYCLE_2 (Y_AXIS_BIT)
1607 #define DEFAULT_HOMING_CYCLE_2 0
1615 #if (defined A_AXIS && !defined DEFAULT_HOMING_CYCLE_3) || defined __DOXYGEN__
1616 #define DEFAULT_HOMING_CYCLE_3 0
1624 #if (defined B_AXIS && !defined DEFAULT_HOMING_CYCLE_4) || defined __DOXYGEN__
1625 #define DEFAULT_HOMING_CYCLE_4 0
1632 #if (defined C_AXIS && !defined DEFAULT_HOMING_CYCLE_5) || defined __DOXYGEN__
1633 #define DEFAULT_HOMING_CYCLE_5 0
1645 #if !defined DEFAULT_HOME_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1646 #define DEFAULT_HOME_SIGNALS_INVERT_MASK 0
1656 #if !defined DEFAULT_PROBE_SIGNAL_INVERT || defined __DOXYGEN__
1657 #define DEFAULT_PROBE_SIGNAL_INVERT Off
1659 #if !defined DEFAULT_TOOLSETTER_SIGNAL_INVERT || defined __DOXYGEN__
1660 #define DEFAULT_TOOLSETTER_SIGNAL_INVERT Off
1667 #if !defined DEFAULT_PROBE_SIGNAL_DISABLE_PULLUP || defined __DOXYGEN__
1668 #define DEFAULT_PROBE_SIGNAL_DISABLE_PULLUP Off
1670 #if !defined DEFAULT_TOOLSETTER_SIGNAL_DISABLE_PULLUP || defined __DOXYGEN__
1671 #define DEFAULT_TOOLSETTER_SIGNAL_DISABLE_PULLUP Off
1683 #if !defined DEFAULT_ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES || defined __DOXYGEN__
1684 #define DEFAULT_ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES Off
1686 #if !defined DEFAULT_SOFT_LIMIT_PROBE_CYCLES || defined __DOXYGEN__
1687 #define DEFAULT_SOFT_LIMIT_PROBE_CYCLES Off
1693 #ifdef DEFAULT_HOMING_ENABLE
1712 #if !defined DEFAULT_PARKING_ENABLE || defined __DOXYGEN__
1713 #define DEFAULT_PARKING_ENABLE Off
1721 #if !defined DEFAULT_DEACTIVATE_PARKING_UPON_INIT || defined __DOXYGEN__
1722 #define DEFAULT_DEACTIVATE_PARKING_UPON_INIT Off
1724 #if !defined DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL || defined __DOXYGEN__
1725 #define DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL Off
1733 #if !defined DEFAULT_PARKING_AXIS || defined __DOXYGEN__
1734 #define DEFAULT_PARKING_AXIS Z_AXIS
1741 #if !defined DEFAULT_PARKING_PULLOUT_INCREMENT || defined __DOXYGEN__
1742 #define DEFAULT_PARKING_PULLOUT_INCREMENT 5.0f
1750 #if !defined DEFAULT_PARKING_PULLOUT_RATE || defined __DOXYGEN__
1751 #define DEFAULT_PARKING_PULLOUT_RATE 100.0f
1759 #if !defined DEFAULT_PARKING_TARGET || defined __DOXYGEN__
1760 #define DEFAULT_PARKING_TARGET -5.0f
1768 #if !defined DEFAULT_PARKING_RATE || defined __DOXYGEN__
1769 #define DEFAULT_PARKING_RATE 500.0f
1781 #if !defined DEFAULT_DOOR_IGNORE_WHEN_IDLE || defined __DOXYGEN__
1782 #define DEFAULT_DOOR_IGNORE_WHEN_IDLE Off
1788 #if !defined DEFAULT_DOOR_KEEP_COOLANT_ON || defined __DOXYGEN__
1789 #define DEFAULT_DOOR_KEEP_COOLANT_ON Off
1798 #if !defined DEFAULT_SAFETY_DOOR_SPINDLE_DELAY || defined __DOXYGEN__
1799 #define DEFAULT_SAFETY_DOOR_SPINDLE_DELAY 4.0f
1809 #if !defined DEFAULT_SAFETY_DOOR_COOLANT_DELAY || defined __DOXYGEN__
1810 #define DEFAULT_SAFETY_DOOR_COOLANT_DELAY 1.0f
1825 #if !defined DEFAULT_JOG_LIMIT_ENABLE || defined __DOXYGEN__
1826 #define DEFAULT_JOG_LIMIT_ENABLE Off
1844 #if !defined DEFAULT_STEP_PULSE_MICROSECONDS || defined __DOXYGEN__
1845 #define DEFAULT_STEP_PULSE_MICROSECONDS 5.0f
1857 #if !defined DEFAULT_STEPPER_IDLE_LOCK_TIME || defined __DOXYGEN__
1858 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25
1867 #if !defined DEFAULT_STEP_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1868 #define DEFAULT_STEP_SIGNALS_INVERT_MASK 0
1877 #if !defined DEFAULT_DIR_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1878 #define DEFAULT_DIR_SIGNALS_INVERT_MASK 0
1894 #if !defined DEFAULT_ENABLE_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1895 #define DEFAULT_ENABLE_SIGNALS_INVERT_MASK AXES_BITMASK
1904 #if !defined DEFAULT_GANGED_DIRECTION_INVERT_MASK || defined __DOXYGEN__
1905 #define DEFAULT_GANGED_DIRECTION_INVERT_MASK 0
1912 #if !defined DEFAULT_STEP_PULSE_DELAY || defined __DOXYGEN__
1913 #define DEFAULT_STEP_PULSE_DELAY 0.0f
1923 #if !defined DEFAULT_STEPPER_DEENERGIZE_MASK || defined __DOXYGEN__
1924 #define DEFAULT_STEPPER_DEENERGIZE_MASK 0
1934 #if !defined DEFAULT_AXIS_ROTATIONAL_MASK || defined __DOXYGEN__
1935 #define DEFAULT_AXIS_ROTATIONAL_MASK 0
1944 #if !defined DEFAULT_MOTOR_WARNING_SIGNALS_ENABLE || defined __DOXYGEN__
1945 #define DEFAULT_MOTOR_WARNING_SIGNALS_ENABLE 0
1954 #if !defined DEFAULT_MOTOR_WARNING_SIGNALS_INVERT || defined __DOXYGEN__
1955 #define DEFAULT_MOTOR_WARNING_SIGNALS_INVERT 0
1964 #if !defined DEFAULT_MOTOR_FAULT_SIGNALS_ENABLE || defined __DOXYGEN__
1965 #define DEFAULT_MOTOR_FAULT_SIGNALS_ENABLE 0
1974 #if !defined DEFAULT_MOTOR_FAULT_SIGNALS_INVERT || defined __DOXYGEN__
1975 #define DEFAULT_MOTOR_FAULT_SIGNALS_INVERT 0
1983 #if !defined DEFAULT_AUTOREPORT_INTERVAL || defined __DOXYGEN__
1984 #define DEFAULT_AUTOREPORT_INTERVAL 0
1992 #if !defined DEFAULT_TIMEZONE_OFFSET || defined __DOXYGEN__
1993 #define DEFAULT_TIMEZONE_OFFSET 0.0f
2002 #if !defined DEFAULT_NO_UNLOCK_AFTER_ESTOP || defined __DOXYGEN__
2003 #define DEFAULT_NO_UNLOCK_AFTER_ESTOP Off
2011 #if !defined DEFAULT_RGB_STRIP0_LENGTH || defined __DOXYGEN__
2012 #define DEFAULT_RGB_STRIP0_LENGTH 0
2020 #if !defined DEFAULT_RGB_STRIP1_LENGTH || defined __DOXYGEN__
2021 #define DEFAULT_RGB_STRIP1_LENGTH 0
2032 #if !defined DEFAULT_AXIS_ROTARY_WRAP_MASK || defined __DOXYGEN__
2033 #define DEFAULT_AXIS_ROTARY_WRAP_MASK 0
2043 #if !defined DEFAULT_X_STEPS_PER_MM || defined __DOXYGEN__
2044 #define DEFAULT_X_STEPS_PER_MM 250.0f
2046 #if !defined DEFAULT_Y_STEPS_PER_MM || defined __DOXYGEN__
2047 #define DEFAULT_Y_STEPS_PER_MM 250.0f
2049 #if !defined DEFAULT_Z_STEPS_PER_MM || defined __DOXYGEN__
2050 #define DEFAULT_Z_STEPS_PER_MM 250.0f
2052 #if (defined A_AXIS && !defined DEFAULT_A_STEPS_PER_MM) || defined __DOXYGEN__
2053 #define DEFAULT_A_STEPS_PER_MM 250.0f
2055 #if (defined B_AXIS && !defined DEFAULT_B_STEPS_PER_MM) || defined __DOXYGEN__
2056 #define DEFAULT_B_STEPS_PER_MM 250.0f
2058 #if (defined C_AXIS && !defined DEFAULT_C_STEPS_PER_MM) || defined __DOXYGEN__
2059 #define DEFAULT_C_STEPS_PER_MM 250.0f
2061 #if (defined U_AXIS && !defined DEFAULT_U_STEPS_PER_MM) || defined __DOXYGEN__
2062 #define DEFAULT_U_STEPS_PER_MM 250.0f
2064 #if (defined V_AXIS && !defined DEFAULT_V_STEPS_PER_MM) || defined __DOXYGEN__
2065 #define DEFAULT_V_STEPS_PER_MM 250.0f
2073 #if !defined DEFAULT_X_MAX_RATE || defined __DOXYGEN__
2074 #define DEFAULT_X_MAX_RATE 500.0f
2076 #if !defined DEFAULT_Y_MAX_RATE || defined __DOXYGEN__
2077 #define DEFAULT_Y_MAX_RATE 500.0f
2079 #if !defined DEFAULT_Z_MAX_RATE || defined __DOXYGEN__
2080 #define DEFAULT_Z_MAX_RATE 500.0f
2082 #if (defined A_AXIS && !defined DEFAULT_A_MAX_RATE) || defined __DOXYGEN__
2083 #define DEFAULT_A_MAX_RATE 500.0f
2085 #if (defined B_AXIS && !defined DEFAULT_B_MAX_RATE) || defined __DOXYGEN__
2086 #define DEFAULT_B_MAX_RATE 500.0f
2088 #if (defined C_AXIS && !defined DEFAULT_C_MAX_RATE) || defined __DOXYGEN__
2089 #define DEFAULT_C_MAX_RATE 500.0f
2091 #if (defined U_AXIS && !defined DEFAULT_U_MAX_RATE) || defined __DOXYGEN__
2092 #define DEFAULT_U_MAX_RATE 500.0f
2094 #if (defined V_AXIS && !defined DEFAULT_V_MAX_RATE) || defined __DOXYGEN__
2095 #define DEFAULT_V_MAX_RATE 500.0f
2102 #if !defined DEFAULT_X_ACCELERATION || defined __DOXYGEN__
2103 #define DEFAULT_X_ACCELERATION 10.0f
2105 #if !defined DEFAULT_Y_ACCELERATION || defined __DOXYGEN__
2106 #define DEFAULT_Y_ACCELERATION 10.0f
2108 #if !defined DEFAULT_Z_ACCELERATION || defined __DOXYGEN__
2109 #define DEFAULT_Z_ACCELERATION 10.0f
2111 #if (defined A_AXIS && !defined DEFAULT_A_ACCELERATION) || defined __DOXYGEN__
2112 #define DEFAULT_A_ACCELERATION 10.0f
2114 #if (defined B_AXIS && !defined DEFAULT_B_ACCELERATION) || defined __DOXYGEN__
2115 #define DEFAULT_B_ACCELERATION 10.0f
2117 #if (defined C_AXIS && !defined DEFAULT_C_ACCELERATION) || defined __DOXYGEN__
2118 #define DEFAULT_C_ACCELERATION 10.0f
2120 #if (defined U_AXIS && !defined DEFAULT_U_ACCELERATION) || defined __DOXYGEN__
2121 #define DEFAULT_U_ACCELERATION 10.0f
2123 #if (defined V_AXIS && !defined DEFAULT_V_ACCELERATION) || defined __DOXYGEN__
2124 #define DEFAULT_V_ACCELERATION 10.0f
2131 #if !defined DEFAULT_X_JERK|| defined __DOXYGEN__
2132 #define DEFAULT_X_JERK 100.0f
2134 #if !defined DEFAULT_Y_JERK|| defined __DOXYGEN__
2135 #define DEFAULT_Y_JERK 100.0f
2137 #if !defined DEFAULT_Z_JERK || defined __DOXYGEN__
2138 #define DEFAULT_Z_JERK 100.0f
2140 #if (defined A_AXIS && !defined DEFAULT_A_JERK) || defined __DOXYGEN__
2141 #define DEFAULT_A_JERK 100.0f
2143 #if (defined B_AXIS && !defined DEFAULT_B_JERK) || defined __DOXYGEN__
2144 #define DEFAULT_B_JERK 100.0f
2146 #if (defined C_AXIS && !defined DEFAULT_C_JERK) || defined __DOXYGEN__
2147 #define DEFAULT_C_JERK 100.0f
2149 #if (defined U_AXIS && !defined DEFAULT_U_JERK) || defined __DOXYGEN__
2150 #define DEFAULT_U_JERK 100.0f
2152 #if (defined V_AXIS && !defined DEFAULT_V_JERK) || defined __DOXYGEN__
2153 #define DEFAULT_V_JERK 100.0f
2161 #if !defined DEFAULT_X_MAX_TRAVEL || defined __DOXYGEN__
2162 #define DEFAULT_X_MAX_TRAVEL 200.0f
2164 #if !defined DEFAULT_Y_MAX_TRAVEL || defined __DOXYGEN__
2165 #define DEFAULT_Y_MAX_TRAVEL 200.0f
2167 #if !defined DEFAULT_Z_MAX_TRAVEL || defined __DOXYGEN__
2168 #define DEFAULT_Z_MAX_TRAVEL 200.0f
2170 #if (defined A_AXIS && !defined DEFAULT_A_MAX_TRAVEL) || defined __DOXYGEN__
2171 #define DEFAULT_A_MAX_TRAVEL 200.0f
2173 #if (defined B_AXIS && !defined DEFAULT_B_MAX_TRAVEL) || defined __DOXYGEN__
2174 #define DEFAULT_B_MAX_TRAVEL 200.0f
2176 #if (defined C_AXIS && !defined DEFAULT_C_MAX_TRAVEL) || defined __DOXYGEN__
2177 #define DEFAULT_C_MAX_TRAVEL 200.0f
2179 #if (defined U_AXIS && !defined DEFAULT_U_MAX_TRAVEL) || defined __DOXYGEN__
2180 #define DEFAULT_U_MAX_TRAVEL 200.0f
2182 #if (defined V_AXIS && !defined DEFAULT_V_MAX_TRAVEL) || defined __DOXYGEN__
2183 #define DEFAULT_V_MAX_TRAVEL 200.0f
2191 #if !defined DEFAULT_X_CURRENT || defined __DOXYGEN__
2192 #define DEFAULT_X_CURRENT 500.0f
2194 #if !defined DEFAULT_Y_CURRENT || defined __DOXYGEN__
2195 #define DEFAULT_Y_CURRENT 500.0f
2197 #if !defined DEFAULT_Z_CURRENT || defined __DOXYGEN__
2198 #define DEFAULT_Z_CURRENT 500.0f
2200 #if (defined A_AXIS && !defined DEFAULT_A_CURRENT) || defined __DOXYGEN__
2201 #define DEFAULT_A_CURRENT 500.0f
2203 #if (defined B_AXIS && !defined DEFAULT_B_CURRENT) || defined __DOXYGEN__
2204 #define DEFAULT_B_CURRENT 500.0f
2206 #if (defined C_AXIS && !defined DEFAULT_C_CURRENT) || defined __DOXYGEN__
2207 #define DEFAULT_C_CURRENT 500.0f
2209 #if (defined U_AXIS && !defined DEFAULT_U_CURRENT) || defined __DOXYGEN__
2210 #define DEFAULT_U_CURRENT 500.0f
2212 #if (defined V_AXIS && !defined DEFAULT_V_CURRENT) || defined __DOXYGEN__
2213 #define DEFAULT_V_CURRENT 500.0f
2220 #if defined(N_TOOLS) && N_TOOLS == 0
2224 #if defined(N_TOOLS) && N_TOOLS > 32
2229 #if N_SYS_SPINDLE > N_SPINDLE
2230 #undef N_SYS_SPINDLE
2231 #define N_SYS_SPINDLE N_SPINDLE
2234 #if N_SYS_SPINDLE < 1
2235 #undef N_SYS_SPINDLE
2236 #define N_SYS_SPINDLE 1
2239 #if N_SYS_SPINDLE > 8
2240 #undef N_SYS_SPINDLE
2241 #define N_SYS_SPINDLE 8
2244 #if NGC_EXPRESSIONS_ENABLE && !NGC_PARAMETERS_ENABLE
2245 #undef NGC_PARAMETERS_ENABLE
2246 #define NGC_PARAMETERS_ENABLE On
2249 #if (REPORT_WCO_REFRESH_BUSY_COUNT < REPORT_WCO_REFRESH_IDLE_COUNT)
2250 #error "WCO busy refresh is less than idle refresh."
2252 #if (REPORT_OVERRIDE_REFRESH_BUSY_COUNT < REPORT_OVERRIDE_REFRESH_IDLE_COUNT)
2253 #error "Override busy refresh is less than idle refresh."
2255 #if (REPORT_WCO_REFRESH_IDLE_COUNT < 2)
2256 #error "WCO refresh must be greater than one."
2258 #if (REPORT_OVERRIDE_REFRESH_IDLE_COUNT < 1)
2259 #error "Override refresh must be greater than zero."
2262 #if DEFAULT_LASER_MODE && DEFAULT_LATHE_MODE
2263 #error "Cannot enable laser and lathe mode at the same time!"
2266 #if LATHE_UVW_OPTION && (N_AXIS > 6 || AXIS_REMAP_ABC2UVW)
2267 #warning "Cannot enable lathe UVW option when N_AXIS > 6 or ABC words are remapped!"
2268 #undef LATHE_UVW_OPTION
2269 #define LATHE_UVW_OPTION Off
2272 #if DEFAULT_CONTROL_SIGNALS_INVERT_MASK < 0
2273 #undef DEFAULT_CONTROL_SIGNALS_INVERT_MASK
2274 #define DEFAULT_CONTROL_SIGNALS_INVERT_MASK SIGNALS_BITMASK
2277 #if DEFAULT_LIMIT_SIGNALS_INVERT_MASK < 0
2278 #undef DEFAULT_LIMIT_SIGNALS_INVERT_MASK
2279 #define DEFAULT_LIMIT_SIGNALS_INVERT_MASK AXES_BITMASK
2282 #if DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK < 0
2283 #undef DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK
2284 #define DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK AXES_BITMASK
2287 #if DEFAULT_STEP_SIGNALS_INVERT_MASK < 0
2288 #undef DEFAULT_STEP_SIGNALS_INVERT_MASK
2289 #define DEFAULT_STEP_SIGNALS_INVERT_MASK AXES_BITMASK
2292 #if DEFAULT_ENABLE_SIGNALS_INVERT_MASK < 0
2293 #undef DEFAULT_ENABLE_SIGNALS_INVERT_MASK
2294 #define DEFAULT_ENABLE_SIGNALS_INVERT_MASK AXES_BITMASK
2297 #if DEFAULT_SPINDLE_ON_DELAY
2298 #if DEFAULT_SPINDLE_ON_DELAY < 500
2299 #undef DEFAULT_SPINDLE_ON_DELAY
2300 #define DEFAULT_SPINDLE_ON_DELAY 500
2301 #elif DEFAULT_SPINDLE_ON_DELAY > 20000
2302 #undef DEFAULT_SPINDLE_ON_DELAY
2303 #define DEFAULT_SPINDLE_ON_DELAY 20000
2307 #if DEFAULT_COOLANT_ON_DELAY
2308 #if DEFAULT_COOLANT_ON_DELAY < 500
2309 #undef DEFAULT_COOLANT_ON_DELAY
2310 #define DEFAULT_COOLANT_ON_DELAY 500
2311 #elif DEFAULT_COOLANT_ON_DELAY > 20000
2312 #undef DEFAULT_COOLANT_ON_DELAY
2313 #define DEFAULT_COOLANT_ON_DELAY 20000
2317 #if DEFAULT_PARKING_ENABLE > 0
2318 #if DEFAULT_HOMING_FORCE_SET_ORIGIN > 0
2319 #error "DEFAULT_HOMING_FORCE_SET_ORIGIN is not supported with DEFAULT_PARKING_ENABLE at this time."
2323 #if DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL > 0
2324 #if DEFAULT_PARKING_ENABLE < 1
2325 #error "DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL must be enabled with DEFAULT_PARKING_ENABLE."