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
189 #define MAX_TOOL_NUMBER 2147483647
196 #define ENABLE_PATH_BLENDING Off
198 #if !defined ENABLE_ACCELERATION_PROFILES || defined __DOXYGEN__
199 #define ENABLE_ACCELERATION_PROFILES Off
202 #if !defined ENABLE_JERK_ACCELERATION || defined __DOXYGEN__
203 #define ENABLE_JERK_ACCELERATION Off
224 #if !defined REPORT_OVERRIDE_REFRESH_BUSY_COUNT || defined __DOXYGEN__
225 #define REPORT_OVERRIDE_REFRESH_BUSY_COUNT 20
227 #if !defined REPORT_OVERRIDE_REFRESH_IDLE_COUNT || defined __DOXYGEN__
228 #define REPORT_OVERRIDE_REFRESH_IDLE_COUNT 10
230 #if !defined REPORT_WCO_REFRESH_BUSY_COUNT || defined __DOXYGEN__
231 #define REPORT_WCO_REFRESH_BUSY_COUNT 30
233 #if !defined REPORT_WCO_REFRESH_IDLE_COUNT || defined __DOXYGEN__
234 #define REPORT_WCO_REFRESH_IDLE_COUNT 10
248 #if !defined ACCELERATION_TICKS_PER_SECOND || defined __DOXYGEN__
249 #define ACCELERATION_TICKS_PER_SECOND 100
269 #if !defined REPORT_ECHO_LINE_RECEIVED || defined __DOXYGEN__
270 #define REPORT_ECHO_LINE_RECEIVED Off
279 #if !defined TOOL_LENGTH_OFFSET_AXIS || defined __DOXYGEN__
280 #define TOOL_LENGTH_OFFSET_AXIS -1
292 #if !defined MINIMUM_JUNCTION_SPEED || defined __DOXYGEN__
293 #define MINIMUM_JUNCTION_SPEED 0.0f
303 #if !defined MINIMUM_FEED_RATE || defined __DOXYGEN__
304 #define MINIMUM_FEED_RATE 1.0f
314 #if !defined N_ARC_CORRECTION || defined __DOXYGEN__
315 #define N_ARC_CORRECTION 12
329 #if !defined ARC_ANGULAR_TRAVEL_EPSILON || defined __DOXYGEN__
330 #define ARC_ANGULAR_TRAVEL_EPSILON 5E-7f
337 #if !defined BEZIER_MIN_STEP || defined __DOXYGEN__
338 #define BEZIER_MIN_STEP 0.002f
340 #if !defined BEZIER_MAX_STEP || defined __DOXYGEN__
341 #define BEZIER_MAX_STEP 0.1f
343 #if !defined BEZIER_SIGMA || defined __DOXYGEN__
344 #define BEZIER_SIGMA 0.1f
356 #if !defined DWELL_TIME_STEP || defined __DOXYGEN__
357 #define DWELL_TIME_STEP 50
369 #if !defined SEGMENT_BUFFER_SIZE || defined __DOXYGEN__
370 #define SEGMENT_BUFFER_SIZE 10
378 #if !defined SET_CHECK_MODE_PROBE_TO_START || defined __DOXYGEN__
379 #define SET_CHECK_MODE_PROBE_TO_START Off
393 #if !defined HARD_LIMIT_FORCE_STATE_CHECK || defined __DOXYGEN__
394 #define HARD_LIMIT_FORCE_STATE_CHECK Off
408 #if !defined HOMING_AXIS_SEARCH_SCALAR || defined __DOXYGEN__
409 #define HOMING_AXIS_SEARCH_SCALAR 1.5f
411 #if !defined HOMING_AXIS_LOCATE_SCALAR || defined __DOXYGEN__
412 #define HOMING_AXIS_LOCATE_SCALAR 10.0f
423 #if !defined ENABLE_RESTORE_NVS_WIPE_ALL || defined __DOXYGEN__
424 #define ENABLE_RESTORE_NVS_WIPE_ALL On
426 #if !defined ENABLE_RESTORE_NVS_DEFAULT_SETTINGS || defined __DOXYGEN__
427 #define ENABLE_RESTORE_NVS_DEFAULT_SETTINGS On
429 #if !defined ENABLE_RESTORE_NVS_CLEAR_PARAMETERS || defined __DOXYGEN__
430 #define ENABLE_RESTORE_NVS_CLEAR_PARAMETERS On
432 #if !defined ENABLE_RESTORE_NVS_DRIVER_PARAMETERS || defined __DOXYGEN__
433 #define ENABLE_RESTORE_NVS_DRIVER_PARAMETERS On
447 #if !defined SETTINGS_RESTORE_DEFAULTS || defined __DOXYGEN__
448 #define SETTINGS_RESTORE_DEFAULTS On
450 #if !defined SETTINGS_RESTORE_PARAMETERS || defined __DOXYGEN__
451 #define SETTINGS_RESTORE_PARAMETERS On
453 #if !defined SETTINGS_RESTORE_STARTUP_LINES || defined __DOXYGEN__
454 #define SETTINGS_RESTORE_STARTUP_LINES On
456 #if !defined SETTINGS_RESTORE_BUILD_INFO || defined __DOXYGEN__
457 #define SETTINGS_RESTORE_BUILD_INFO On
459 #if !defined SETTINGS_RESTORE_DRIVER_PARAMETERS || defined __DOXYGEN__
460 #define SETTINGS_RESTORE_DRIVER_PARAMETERS On
470 #if !defined DISABLE_BUILD_INFO_WRITE_COMMAND || defined __DOXYGEN__
471 #define DISABLE_BUILD_INFO_WRITE_COMMAND Off
488 #if !defined SLEEP_DURATION || defined __DOXYGEN__
489 #define SLEEP_DURATION 5.0f
497 #if !defined NVSDATA_BUFFER_ENABLE || defined __DOXYGEN__
498 #define NVSDATA_BUFFER_ENABLE On
510 #if !defined TOOLSETTER_RADIUS || defined __DOXYGEN__
511 #define TOOLSETTER_RADIUS 5.0f
514 #if !defined ENABLE_BACKLASH_COMPENSATION || defined __DOXYGEN__
515 #define ENABLE_BACKLASH_COMPENSATION Off
518 #if COMPATIBILITY_LEVEL == 0 || defined __DOXYGEN__
523 #if !defined N_TOOLS || defined __DOXYGEN__
534 #if !defined SPINDLE_SYNC_ENABLE || defined __DOXYGEN__
535 #define SPINDLE_SYNC_ENABLE Off
544 #if !defined NGC_EXPRESSIONS_ENABLE || defined __DOXYGEN__
545 #define NGC_EXPRESSIONS_ENABLE On
552 #if !defined NGC_PARAMETERS_ENABLE || defined __DOXYGEN__
553 #define NGC_PARAMETERS_ENABLE On
560 #if (NGC_EXPRESSIONS_ENABLE && !defined NGC_N_ASSIGN_PARAMETERS_PER_BLOCK) || defined __DOXYGEN__
561 #define NGC_N_ASSIGN_PARAMETERS_PER_BLOCK 10
568 #if !defined LATHE_UVW_OPTION || defined __DOXYGEN__
569 #define LATHE_UVW_OPTION Off
596 #if !defined DEFAULT_REPORT_MACHINE_POSITION || defined __DOXYGEN__
597 #define DEFAULT_REPORT_MACHINE_POSITION On
605 #if !defined DEFAULT_REPORT_BUFFER_STATE || defined __DOXYGEN__
606 #define DEFAULT_REPORT_BUFFER_STATE On
616 #if !defined DEFAULT_REPORT_LINE_NUMBERS || defined __DOXYGEN__
617 #define DEFAULT_REPORT_LINE_NUMBERS On
626 #if !defined DEFAULT_REPORT_CURRENT_FEED_SPEED || defined __DOXYGEN__
627 #define DEFAULT_REPORT_CURRENT_FEED_SPEED On
636 #if !defined DEFAULT_REPORT_PIN_STATE || defined __DOXYGEN__
637 #define DEFAULT_REPORT_PIN_STATE On
646 #if !defined DEFAULT_REPORT_WORK_COORD_OFFSET || defined __DOXYGEN__
647 #define DEFAULT_REPORT_WORK_COORD_OFFSET On
656 #if !defined DEFAULT_REPORT_OVERRIDES || defined __DOXYGEN__
657 #define DEFAULT_REPORT_OVERRIDES On
667 #if !defined DEFAULT_REPORT_PROBE_COORDINATES || defined __DOXYGEN__
668 #define DEFAULT_REPORT_PROBE_COORDINATES On
681 #if !defined DEFAULT_REPORT_SYNC_ON_WCO_CHANGE || defined __DOXYGEN__
682 #define DEFAULT_REPORT_SYNC_ON_WCO_CHANGE On
692 #if !defined DEFAULT_REPORT_PARSER_STATE || defined __DOXYGEN__
693 #define DEFAULT_REPORT_PARSER_STATE Off
706 #if !defined DEFAULT_REPORT_ALARM_SUBSTATE || defined __DOXYGEN__
707 #define DEFAULT_REPORT_ALARM_SUBSTATE Off
719 #if !defined DEFAULT_REPORT_RUN_SUBSTATE || defined __DOXYGEN__
720 #define DEFAULT_REPORT_RUN_SUBSTATE Off
729 #if !defined DEFAULT_REPORT_WHEN_HOMING || defined __DOXYGEN__
730 #define DEFAULT_REPORT_WHEN_HOMING Off
738 #if !defined DEFAULT_REPORT_DISTANCE_TO_GO || defined __DOXYGEN__
739 #define DEFAULT_REPORT_DISTANCE_TO_GO Off
748 #if !defined DEFAULT_JUNCTION_DEVIATION || defined __DOXYGEN__
749 #define DEFAULT_JUNCTION_DEVIATION 0.01f
757 #if !defined DEFAULT_ARC_TOLERANCE || defined __DOXYGEN__
758 #define DEFAULT_ARC_TOLERANCE 0.002f
767 #if !defined DEFAULT_REPORT_INCHES || defined __DOXYGEN__
768 #define DEFAULT_REPORT_INCHES Off
777 #if !defined DEFAULT_G73_RETRACT || defined __DOXYGEN__
778 #define DEFAULT_G73_RETRACT 0.1f
786 #if !defined DEFAULT_LASER_MODE || defined __DOXYGEN__
787 #define DEFAULT_LASER_MODE Off
789 #if !defined DEFAULT_LATHE_MODE || defined __DOXYGEN__
790 #define DEFAULT_LATHE_MODE Off
803 #if !defined DEFAULT_LEGACY_RTCOMMANDS || defined __DOXYGEN__
804 #define DEFAULT_LEGACY_RTCOMMANDS On
811 #if !defined DEFAULT_RESET_OVERRIDES || defined __DOXYGEN__
812 #define DEFAULT_RESET_OVERRIDES Off
819 #if !defined DEFAULT_SLEEP_ENABLE || defined __DOXYGEN__
820 #define DEFAULT_SLEEP_ENABLE Off
831 #if !defined DEFAULT_DISABLE_LASER_DURING_HOLD || defined __DOXYGEN__
832 #define DEFAULT_DISABLE_LASER_DURING_HOLD On
841 #if !defined DEFAULT_RESTORE_AFTER_FEED_HOLD || defined __DOXYGEN__
842 #define DEFAULT_RESTORE_AFTER_FEED_HOLD On
855 #if !defined DEFAULT_FORCE_INITIALIZATION_ALARM || defined __DOXYGEN__
856 #define DEFAULT_FORCE_INITIALIZATION_ALARM Off
866 #if !defined DEFAULT_DISABLE_G92_PERSISTENCE || defined __DOXYGEN__
867 #if COMPATIBILITY_LEVEL <= 1
868 #define DEFAULT_DISABLE_G92_PERSISTENCE Off
870 #define DEFAULT_DISABLE_G92_PERSISTENCE On
883 #if !defined DEFAULT_PLANNER_BUFFER_BLOCKS || defined __DOXYGEN__
884 #define DEFAULT_PLANNER_BUFFER_BLOCKS 100
897 #if !defined DEFAULT_HOMING_KEEP_STATUS_ON_RESET || defined __DOXYGEN__
898 #define DEFAULT_HOMING_KEEP_STATUS_ON_RESET Off
908 #if !defined DEFAULT_KEEP_OFFSETS_ON_RESET || defined __DOXYGEN__
909 #define DEFAULT_KEEP_OFFSETS_ON_RESET Off
919 #if !defined DEFAULT_KEEP_RAPIDS_OVR_ON_RESET || defined __DOXYGEN__
920 #define DEFAULT_KEEP_RAPIDS_OVR_ON_RESET Off
930 #if !defined DEFAULT_KEEP_FEED_OVR_ON_RESET || defined __DOXYGEN__
931 #define DEFAULT_KEEP_FEED_OVR_ON_RESET Off
945 #define SIGNALS_RESET_BIT (1<<0)
946 #define SIGNALS_FEEDHOLD_BIT (1<<1)
947 #define SIGNALS_CYCLESTART_BIT (1<<2)
948 #define SIGNALS_SAFETYDOOR_BIT (1<<3)
949 #define SIGNALS_BLOCKDELETE_BIT (1<<4)
950 #define SIGNALS_STOPDISABLE_BIT (1<<5)
951 #define SIGNALS_ESTOP_BIT (1<<6)
952 #define SIGNALS_PROBE_CONNECTED_BIT (1<<7)
953 #define SIGNALS_MOTOR_FAULT_BIT (1<<8)
954 #define SIGNALS_MOTOR_WARNING_BIT (1<<9)
955 #define SIGNALS_LIMITS_OVERRIDE_BIT (1<<10)
956 #define SIGNALS_SINGLE_BLOCK_BIT (1<<11)
957 #define SIGNALS_TLS_OVERTRAVEL_BIT (1<<12)
958 #define SIGNALS_PROBE_OVERTRAVEL (1<<13)
959 #define SIGNALS_PROBE_TRIGGERED_BIT (1<<14)
960 #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)
971 #if !defined DEFAULT_CONTROL_SIGNALS_INVERT_MASK || defined __DOXYGEN__
972 #define DEFAULT_CONTROL_SIGNALS_INVERT_MASK 0
990 #if !defined DEFAULT_DISABLE_CONTROL_PINS_PULL_UP_MASK || defined __DOXYGEN__
991 #define DEFAULT_DISABLE_CONTROL_PINS_PULL_UP_MASK 0
1005 #if !defined DEFAULT_LIMIT_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1006 #define DEFAULT_LIMIT_SIGNALS_INVERT_MASK 0
1017 #if !defined DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK || defined __DOXYGEN__
1018 #define DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK 0
1025 #if !defined DEFAULT_SOFT_LIMIT_ENABLE || defined __DOXYGEN__
1026 #define DEFAULT_SOFT_LIMIT_ENABLE Off
1040 #if !defined DEFAULT_HARD_LIMIT_ENABLE || defined __DOXYGEN__
1041 #define DEFAULT_HARD_LIMIT_ENABLE Off
1043 #if !defined DEFAULT_CHECK_LIMITS_AT_INIT || defined __DOXYGEN__
1044 #define DEFAULT_CHECK_LIMITS_AT_INIT Off
1046 #if !defined DEFAULT_HARD_LIMITS_DISABLE_FOR_ROTARY || defined __DOXYGEN__
1047 #define DEFAULT_HARD_LIMITS_DISABLE_FOR_ROTARY Off
1065 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT || defined __DOXYGEN__
1066 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_AXIS_LENGTH_PERCENT 5.0f
1073 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN || defined __DOXYGEN__
1074 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MIN 2.5f
1082 #if !defined DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX || defined __DOXYGEN__
1083 #define DEFAULT_DUAL_AXIS_HOMING_FAIL_DISTANCE_MAX 25.0f
1094 #if !defined DEFAULT_INVERT_COOLANT_FLOOD_PIN || defined __DOXYGEN__
1095 #define DEFAULT_INVERT_COOLANT_FLOOD_PIN Off
1097 #if !defined DEFAULT_INVERT_COOLANT_MIST_PIN || defined __DOXYGEN__
1098 #define DEFAULT_INVERT_COOLANT_MIST_PIN Off
1105 #if !defined DEFAULT_COOLANT_ON_DELAY || defined __DOXYGEN__
1106 #define DEFAULT_COOLANT_ON_DELAY 0
1115 #if !defined DEFAULT_SPINDLE_ENABLE_OFF_WITH_ZERO_SPEED || defined __DOXYGEN__
1116 #define DEFAULT_SPINDLE_ENABLE_OFF_WITH_ZERO_SPEED Off
1118 #if !defined DEFAULT_PWM_SPINDLE_DISABLE_LASER_MODE || defined __DOXYGEN__
1119 #define DEFAULT_PWM_SPINDLE_DISABLE_LASER_MODE Off
1127 #if !defined DEFAULT_INVERT_SPINDLE_ENABLE_PIN || defined __DOXYGEN__
1128 #define DEFAULT_INVERT_SPINDLE_ENABLE_PIN Off
1130 #if !defined DEFAULT_INVERT_SPINDLE_CCW_PIN || defined __DOXYGEN__
1131 #define DEFAULT_INVERT_SPINDLE_CCW_PIN Off
1133 #if !defined DEFAULT_INVERT_SPINDLE_PWM_PIN || defined __DOXYGEN__
1134 #define DEFAULT_INVERT_SPINDLE_PWM_PIN Off
1141 #if !defined DEFAULT_SPINDLE_RPM_MAX || defined __DOXYGEN__
1142 #define DEFAULT_SPINDLE_RPM_MAX 1000.0f
1149 #if !defined DEFAULT_SPINDLE_RPM_MIN || defined __DOXYGEN__
1150 #define DEFAULT_SPINDLE_RPM_MIN 0.0f
1157 #if !defined DEFAULT_SPINDLE_PWM_FREQ || defined __DOXYGEN__
1158 #define DEFAULT_SPINDLE_PWM_FREQ 5000
1165 #if !defined DEFAULT_SPINDLE_PWM_OFF_VALUE || defined __DOXYGEN__
1166 #define DEFAULT_SPINDLE_PWM_OFF_VALUE 0.0f
1182 #if !defined DEFAULT_SPINDLE_PWM_MIN_VALUE || defined __DOXYGEN__
1183 #define DEFAULT_SPINDLE_PWM_MIN_VALUE 0.0f
1190 #if !defined DEFAULT_SPINDLE_PWM_MAX_VALUE || defined __DOXYGEN__
1191 #define DEFAULT_SPINDLE_PWM_MAX_VALUE 100.0f
1203 #if !defined DEFAULT_SPINDLE_PPR || defined __DOXYGEN__
1204 #define DEFAULT_SPINDLE_PPR 0
1211 #if !defined DEFAULT_SPINDLE_AT_SPEED_TOLERANCE || defined __DOXYGEN__
1212 #define DEFAULT_SPINDLE_AT_SPEED_TOLERANCE 0.0f
1219 #if !defined DEFAULT_SPINDLE_ON_DELAY || defined __DOXYGEN__
1220 #define DEFAULT_SPINDLE_ON_DELAY 0
1227 #if !defined DEFAULT_SPINDLE || defined __DOXYGEN__
1228 #define DEFAULT_SPINDLE SPINDLE_PWM0
1235 #if !defined DEFAULT_SPINDLE_OFF_DELAY || defined __DOXYGEN__
1236 #define DEFAULT_SPINDLE_OFF_DELAY 0
1249 #ifndef DEFAULT_SPINDLE_P_GAIN
1250 #define DEFAULT_SPINDLE_P_GAIN 1.0f
1252 #ifndef DEFAULT_SPINDLE_I_GAIN
1253 #define DEFAULT_SPINDLE_I_GAIN 0.01f
1255 #ifndef DEFAULT_SPINDLE_D_GAIN
1256 #define DEFAULT_SPINDLE_D_GAIN 0.0f
1258 #ifndef DEFAULT_SPINDLE_I_MAX
1259 #define DEFAULT_SPINDLE_I_MAX 10.0f
1262 #if ENABLE_SPINDLE_LINEARIZATION || defined __DOXYGEN__
1268 #if !defined DEFAULT_RPM_POINT01 || defined __DOXYGEN__
1269 #define DEFAULT_RPM_POINT01 NAN
1271 #if !defined DEFAULT_RPM_LINE_A1 || defined __DOXYGEN__
1272 #define DEFAULT_RPM_LINE_A1 3.197101e-03f
1274 #if !defined DEFAULT_RPM_LINE_B1 || defined __DOXYGEN__
1275 #define DEFAULT_RPM_LINE_B1 -3.526076e-1f
1283 #if !defined DEFAULT_RPM_POINT12 || defined __DOXYGEN__
1284 #define DEFAULT_RPM_POINT12 NAN
1286 #if !defined DEFAULT_RPM_LINE_A2 || defined __DOXYGEN__
1287 #define DEFAULT_RPM_LINE_A2 1.722950e-2f
1289 #if !defined DEFAULT_RPM_LINE_B2 || defined __DOXYGEN__
1290 #define DEFAULT_RPM_LINE_B2 1.0f,
1298 #if !defined DEFAULT_RPM_POINT23 || defined __DOXYGEN__
1299 #define DEFAULT_RPM_POINT23 NAN
1301 #if !defined DEFAULT_RPM_LINE_A3 || defined __DOXYGEN__
1302 #define DEFAULT_RPM_LINE_A3 5.901518e-02f
1304 #if !defined DEFAULT_RPM_LINE_B3 || defined __DOXYGEN__
1305 #define DEFAULT_RPM_LINE_B3 4.881851e+02f
1313 #if !defined DEFAULT_RPM_POINT34 || defined __DOXYGEN__
1314 #define DEFAULT_RPM_POINT34 NAN
1316 #if !defined DEFAULT_RPM_LINE_A4 || defined __DOXYGEN__
1317 #define DEFAULT_RPM_LINE_A4 1.203413e-01f
1319 #if !defined DEFAULT_RPM_LINE_B4 || defined __DOXYGEN__
1320 #define DEFAULT_RPM_LINE_B4 1.151360e+03f
1332 #if !defined DEFAULT_INVERT_SPINDLE1_ENABLE_PIN || defined __DOXYGEN__
1333 #define DEFAULT_INVERT_SPINDLE1_ENABLE_PIN Off
1335 #if !defined DEFAULT_INVERT_SPINDLE1_CCW_PIN || defined __DOXYGEN__
1336 #define DEFAULT_INVERT_SPINDLE1_CCW_PIN Off
1338 #if !defined DEFAULT_INVERT_SPINDLE1_PWM_PIN || defined __DOXYGEN__
1339 #define DEFAULT_INVERT_SPINDLE1_PWM_PIN Off
1346 #if !defined DEFAULT_SPINDLE1_RPM_MAX || defined __DOXYGEN__
1347 #define DEFAULT_SPINDLE1_RPM_MAX 1000.0f
1354 #if !defined DEFAULT_SPINDLE1_RPM_MIN || defined __DOXYGEN__
1355 #define DEFAULT_SPINDLE1_RPM_MIN 0.0f
1362 #if !defined DEFAULT_SPINDLE1_PWM_FREQ || defined __DOXYGEN__
1363 #define DEFAULT_SPINDLE1_PWM_FREQ 5000
1370 #if !defined DEFAULT_SPINDLE1_PWM_OFF_VALUE || defined __DOXYGEN__
1371 #define DEFAULT_SPINDLE1_PWM_OFF_VALUE 0.0f
1387 #if !defined DEFAULT_SPINDLE1_PWM_MIN_VALUE || defined __DOXYGEN__
1388 #define DEFAULT_SPINDLE1_PWM_MIN_VALUE 0.0f
1395 #if !defined DEFAULT_SPINDLE1_PWM_MAX_VALUE || defined __DOXYGEN__
1396 #define DEFAULT_SPINDLE1_PWM_MAX_VALUE 100.0f
1407 #if !defined DEFAULT_TOOLCHANGE_MODE || defined __DOXYGEN__
1408 #define DEFAULT_TOOLCHANGE_MODE 0
1415 #if !defined DEFAULT_TOOLCHANGE_PROBING_DISTANCE || defined __DOXYGEN__
1416 #define DEFAULT_TOOLCHANGE_PROBING_DISTANCE 30
1423 #if !defined DEFAULT_TOOLCHANGE_FEED_RATE || defined __DOXYGEN__
1424 #define DEFAULT_TOOLCHANGE_FEED_RATE 25.0f
1432 #if !defined DEFAULT_TOOLCHANGE_SEEK_RATE || defined __DOXYGEN__
1433 #define DEFAULT_TOOLCHANGE_SEEK_RATE 200.0f
1440 #if !defined DEFAULT_TOOLCHANGE_PULLOFF_RATE || defined __DOXYGEN__
1441 #define DEFAULT_TOOLCHANGE_PULLOFF_RATE 200.0f
1448 #if !defined DEFAULT_TOOLCHANGE_NO_RESTORE_POSITION || defined __DOXYGEN__
1449 #define DEFAULT_TOOLCHANGE_NO_RESTORE_POSITION Off
1451 #if !defined DEFAULT_TOOLCHANGE_AT_G30 || defined __DOXYGEN__
1452 #define DEFAULT_TOOLCHANGE_AT_G30 Off
1454 #if !defined DEFAULT_TOOLCHANGE_FAST_PROBE_PULLOFF || defined __DOXYGEN__
1455 #define DEFAULT_TOOLCHANGE_FAST_PROBE_PULLOFF Off
1462 #if !defined DEFAULT_PERSIST_TOOL || defined __DOXYGEN__
1463 #define DEFAULT_PERSIST_TOOL Off
1478 #if !defined DEFAULT_HOMING_ENABLE || defined __DOXYGEN__
1479 #define DEFAULT_HOMING_ENABLE Off
1489 #if !defined DEFAULT_HOMING_SINGLE_AXIS_COMMANDS || defined __DOXYGEN__
1490 #define DEFAULT_HOMING_SINGLE_AXIS_COMMANDS Off
1500 #if !defined DEFAULT_HOMING_INIT_LOCK || defined __DOXYGEN__
1501 #define DEFAULT_HOMING_INIT_LOCK Off
1511 #if !defined DEFAULT_HOMING_FORCE_SET_ORIGIN || defined __DOXYGEN__
1512 #define DEFAULT_HOMING_FORCE_SET_ORIGIN Off
1525 #if !defined DEFAULT_LIMITS_TWO_SWITCHES_ON_AXES || defined __DOXYGEN__
1526 #define DEFAULT_LIMITS_TWO_SWITCHES_ON_AXES Off
1536 #if !defined DEFAULT_HOMING_ALLOW_MANUAL || defined __DOXYGEN__
1537 #define DEFAULT_HOMING_ALLOW_MANUAL Off
1546 #if !defined DEFAULT_HOMING_OVERRIDE_LOCKS || defined __DOXYGEN__
1547 #define DEFAULT_HOMING_OVERRIDE_LOCKS Off
1555 #if !defined DEFAULT_HOMING_USE_LIMIT_SWITCHES || defined __DOXYGEN__
1556 #define DEFAULT_HOMING_USE_LIMIT_SWITCHES Off
1565 #if !defined DEFAULT_RUN_STARTUP_SCRIPTS_ONLY_ON_HOMED || defined __DOXYGEN__
1566 #define DEFAULT_RUN_STARTUP_SCRIPTS_ONLY_ON_HOMED Off
1575 #if !defined DEFAULT_HOMING_DIR_MASK || defined __DOXYGEN__
1576 #define DEFAULT_HOMING_DIR_MASK 0
1583 #if !defined DEFAULT_HOMING_FEED_RATE || defined __DOXYGEN__
1584 #define DEFAULT_HOMING_FEED_RATE 25.0f
1591 #if !defined DEFAULT_HOMING_SEEK_RATE || defined __DOXYGEN__
1592 #define DEFAULT_HOMING_SEEK_RATE 500.0f
1599 #if !defined DEFAULT_HOMING_DEBOUNCE_DELAY || defined __DOXYGEN__
1600 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250
1607 #if !defined DEFAULT_HOMING_PULLOFF || defined __DOXYGEN__
1608 #define DEFAULT_HOMING_PULLOFF 1.0f
1618 #if !defined DEFAULT_N_HOMING_LOCATE_CYCLE || defined __DOXYGEN__
1619 #define DEFAULT_N_HOMING_LOCATE_CYCLE 1
1644 #if !defined DEFAULT_HOMING_CYCLE_0 || defined __DOXYGEN__
1645 #define DEFAULT_HOMING_CYCLE_0 (Z_AXIS_BIT)
1652 #if !defined DEFAULT_HOMING_CYCLE_1 || defined __DOXYGEN__
1654 #define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT)
1656 #define DEFAULT_HOMING_CYCLE_1 (X_AXIS_BIT|Y_AXIS_BIT)
1664 #if !defined DEFAULT_HOMING_CYCLE_2 || defined __DOXYGEN__
1666 #define DEFAULT_HOMING_CYCLE_2 (Y_AXIS_BIT)
1668 #define DEFAULT_HOMING_CYCLE_2 0
1676 #if (defined A_AXIS && !defined DEFAULT_HOMING_CYCLE_3) || defined __DOXYGEN__
1677 #define DEFAULT_HOMING_CYCLE_3 0
1685 #if (defined B_AXIS && !defined DEFAULT_HOMING_CYCLE_4) || defined __DOXYGEN__
1686 #define DEFAULT_HOMING_CYCLE_4 0
1693 #if (defined C_AXIS && !defined DEFAULT_HOMING_CYCLE_5) || defined __DOXYGEN__
1694 #define DEFAULT_HOMING_CYCLE_5 0
1706 #if !defined DEFAULT_HOME_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1707 #define DEFAULT_HOME_SIGNALS_INVERT_MASK 0
1717 #if !defined DEFAULT_PROBE_SIGNAL_INVERT || defined __DOXYGEN__
1718 #define DEFAULT_PROBE_SIGNAL_INVERT Off
1720 #if !defined DEFAULT_TOOLSETTER_SIGNAL_INVERT || defined __DOXYGEN__
1721 #define DEFAULT_TOOLSETTER_SIGNAL_INVERT Off
1728 #if !defined DEFAULT_PROBE_SIGNAL_DISABLE_PULLUP || defined __DOXYGEN__
1729 #define DEFAULT_PROBE_SIGNAL_DISABLE_PULLUP Off
1731 #if !defined DEFAULT_TOOLSETTER_SIGNAL_DISABLE_PULLUP || defined __DOXYGEN__
1732 #define DEFAULT_TOOLSETTER_SIGNAL_DISABLE_PULLUP Off
1744 #if !defined DEFAULT_ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES || defined __DOXYGEN__
1745 #define DEFAULT_ALLOW_FEED_OVERRIDE_DURING_PROBE_CYCLES Off
1747 #if !defined DEFAULT_SOFT_LIMIT_PROBE_CYCLES || defined __DOXYGEN__
1748 #define DEFAULT_SOFT_LIMIT_PROBE_CYCLES Off
1754 #ifdef DEFAULT_HOMING_ENABLE
1773 #if !defined DEFAULT_PARKING_ENABLE || defined __DOXYGEN__
1774 #define DEFAULT_PARKING_ENABLE Off
1782 #if !defined DEFAULT_DEACTIVATE_PARKING_UPON_INIT || defined __DOXYGEN__
1783 #define DEFAULT_DEACTIVATE_PARKING_UPON_INIT Off
1785 #if !defined DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL || defined __DOXYGEN__
1786 #define DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL Off
1794 #if !defined DEFAULT_PARKING_AXIS || defined __DOXYGEN__
1795 #define DEFAULT_PARKING_AXIS Z_AXIS
1802 #if !defined DEFAULT_PARKING_PULLOUT_INCREMENT || defined __DOXYGEN__
1803 #define DEFAULT_PARKING_PULLOUT_INCREMENT 5.0f
1811 #if !defined DEFAULT_PARKING_PULLOUT_RATE || defined __DOXYGEN__
1812 #define DEFAULT_PARKING_PULLOUT_RATE 100.0f
1820 #if !defined DEFAULT_PARKING_TARGET || defined __DOXYGEN__
1821 #define DEFAULT_PARKING_TARGET -5.0f
1829 #if !defined DEFAULT_PARKING_RATE || defined __DOXYGEN__
1830 #define DEFAULT_PARKING_RATE 500.0f
1842 #if !defined DEFAULT_DOOR_IGNORE_WHEN_IDLE || defined __DOXYGEN__
1843 #define DEFAULT_DOOR_IGNORE_WHEN_IDLE Off
1849 #if !defined DEFAULT_DOOR_KEEP_COOLANT_ON || defined __DOXYGEN__
1850 #define DEFAULT_DOOR_KEEP_COOLANT_ON Off
1859 #if !defined DEFAULT_SAFETY_DOOR_SPINDLE_DELAY || defined __DOXYGEN__
1860 #define DEFAULT_SAFETY_DOOR_SPINDLE_DELAY 4.0f
1870 #if !defined DEFAULT_SAFETY_DOOR_COOLANT_DELAY || defined __DOXYGEN__
1871 #define DEFAULT_SAFETY_DOOR_COOLANT_DELAY 1.0f
1886 #if !defined DEFAULT_JOG_LIMIT_ENABLE || defined __DOXYGEN__
1887 #define DEFAULT_JOG_LIMIT_ENABLE Off
1905 #if !defined DEFAULT_STEP_PULSE_MICROSECONDS || defined __DOXYGEN__
1906 #define DEFAULT_STEP_PULSE_MICROSECONDS 5.0f
1918 #if !defined DEFAULT_STEPPER_IDLE_LOCK_TIME || defined __DOXYGEN__
1919 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25
1928 #if !defined DEFAULT_STEP_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1929 #define DEFAULT_STEP_SIGNALS_INVERT_MASK 0
1938 #if !defined DEFAULT_DIR_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1939 #define DEFAULT_DIR_SIGNALS_INVERT_MASK 0
1955 #if !defined DEFAULT_ENABLE_SIGNALS_INVERT_MASK || defined __DOXYGEN__
1956 #define DEFAULT_ENABLE_SIGNALS_INVERT_MASK AXES_BITMASK
1965 #if !defined DEFAULT_GANGED_DIRECTION_INVERT_MASK || defined __DOXYGEN__
1966 #define DEFAULT_GANGED_DIRECTION_INVERT_MASK 0
1973 #if !defined DEFAULT_STEP_PULSE_DELAY || defined __DOXYGEN__
1974 #define DEFAULT_STEP_PULSE_DELAY 0.0f
1984 #if !defined DEFAULT_STEPPER_DEENERGIZE_MASK || defined __DOXYGEN__
1985 #define DEFAULT_STEPPER_DEENERGIZE_MASK 0
1995 #if !defined DEFAULT_AXIS_ROTATIONAL_MASK || defined __DOXYGEN__
1996 #define DEFAULT_AXIS_ROTATIONAL_MASK 0
2004 #if !defined DEFAULT_STEPPER_ENABLE_DELAY || defined __DOXYGEN__
2005 #define DEFAULT_STEPPER_ENABLE_DELAY 0
2014 #if !defined DEFAULT_MOTOR_WARNING_SIGNALS_ENABLE || defined __DOXYGEN__
2015 #define DEFAULT_MOTOR_WARNING_SIGNALS_ENABLE 0
2024 #if !defined DEFAULT_MOTOR_WARNING_SIGNALS_INVERT || defined __DOXYGEN__
2025 #define DEFAULT_MOTOR_WARNING_SIGNALS_INVERT 0
2034 #if !defined DEFAULT_MOTOR_FAULT_SIGNALS_ENABLE || defined __DOXYGEN__
2035 #define DEFAULT_MOTOR_FAULT_SIGNALS_ENABLE 0
2044 #if !defined DEFAULT_MOTOR_FAULT_SIGNALS_INVERT || defined __DOXYGEN__
2045 #define DEFAULT_MOTOR_FAULT_SIGNALS_INVERT 0
2053 #if !defined DEFAULT_AUTOREPORT_INTERVAL || defined __DOXYGEN__
2054 #define DEFAULT_AUTOREPORT_INTERVAL 0
2062 #if !defined DEFAULT_TIMEZONE_OFFSET || defined __DOXYGEN__
2063 #define DEFAULT_TIMEZONE_OFFSET 0.0f
2072 #if !defined DEFAULT_NO_UNLOCK_AFTER_ESTOP || defined __DOXYGEN__
2073 #define DEFAULT_NO_UNLOCK_AFTER_ESTOP Off
2081 #if !defined DEFAULT_RGB_STRIP0_LENGTH || defined __DOXYGEN__
2082 #define DEFAULT_RGB_STRIP0_LENGTH 0
2090 #if !defined DEFAULT_RGB_STRIP1_LENGTH || defined __DOXYGEN__
2091 #define DEFAULT_RGB_STRIP1_LENGTH 0
2102 #if !defined DEFAULT_AXIS_ROTARY_WRAP_MASK || defined __DOXYGEN__
2103 #define DEFAULT_AXIS_ROTARY_WRAP_MASK 0
2111 #if !defined DEFAULT_MODBUS_STREAM_BAUD || defined __DOXYGEN__
2112 #define DEFAULT_MODBUS_STREAM_BAUD 3
2120 #if !defined DEFAULT_MODBUS_STREAM_PARITY || defined __DOXYGEN__
2121 #define DEFAULT_MODBUS_STREAM_PARITY 0
2129 #if !defined DEFAULT_MODBUS_STREAM_PARITY || defined __DOXYGEN__
2130 #define DEFAULT_MODBUS_STREAM_PARITY 0
2142 #if !defined DEFAULT_FS_SD_AUTOMOUNT || defined __DOXYGEN__
2143 #define DEFAULT_FS_SD_AUTOMOUNT Off
2150 #if !defined DEFAULT_FS_LITLLEFS_HIDDEN || defined __DOXYGEN__
2151 #define DEFAULT_FS_LITLLEFS_HIDDEN Off
2159 #if !defined DEFAULT_FS_HIERACHICAL_LISTING || defined __DOXYGEN__
2160 #define DEFAULT_FS_HIERACHICAL_LISTING Off
2171 #if !defined DEFAULT_X_STEPS_PER_MM || defined __DOXYGEN__
2172 #define DEFAULT_X_STEPS_PER_MM 250.0f
2174 #if !defined DEFAULT_Y_STEPS_PER_MM || defined __DOXYGEN__
2175 #define DEFAULT_Y_STEPS_PER_MM 250.0f
2177 #if !defined DEFAULT_Z_STEPS_PER_MM || defined __DOXYGEN__
2178 #define DEFAULT_Z_STEPS_PER_MM 250.0f
2180 #if (defined A_AXIS && !defined DEFAULT_A_STEPS_PER_MM) || defined __DOXYGEN__
2181 #define DEFAULT_A_STEPS_PER_MM 250.0f
2183 #if (defined B_AXIS && !defined DEFAULT_B_STEPS_PER_MM) || defined __DOXYGEN__
2184 #define DEFAULT_B_STEPS_PER_MM 250.0f
2186 #if (defined C_AXIS && !defined DEFAULT_C_STEPS_PER_MM) || defined __DOXYGEN__
2187 #define DEFAULT_C_STEPS_PER_MM 250.0f
2189 #if (defined U_AXIS && !defined DEFAULT_U_STEPS_PER_MM) || defined __DOXYGEN__
2190 #define DEFAULT_U_STEPS_PER_MM 250.0f
2192 #if (defined V_AXIS && !defined DEFAULT_V_STEPS_PER_MM) || defined __DOXYGEN__
2193 #define DEFAULT_V_STEPS_PER_MM 250.0f
2201 #if !defined DEFAULT_X_MAX_RATE || defined __DOXYGEN__
2202 #define DEFAULT_X_MAX_RATE 500.0f
2204 #if !defined DEFAULT_Y_MAX_RATE || defined __DOXYGEN__
2205 #define DEFAULT_Y_MAX_RATE 500.0f
2207 #if !defined DEFAULT_Z_MAX_RATE || defined __DOXYGEN__
2208 #define DEFAULT_Z_MAX_RATE 500.0f
2210 #if (defined A_AXIS && !defined DEFAULT_A_MAX_RATE) || defined __DOXYGEN__
2211 #define DEFAULT_A_MAX_RATE 500.0f
2213 #if (defined B_AXIS && !defined DEFAULT_B_MAX_RATE) || defined __DOXYGEN__
2214 #define DEFAULT_B_MAX_RATE 500.0f
2216 #if (defined C_AXIS && !defined DEFAULT_C_MAX_RATE) || defined __DOXYGEN__
2217 #define DEFAULT_C_MAX_RATE 500.0f
2219 #if (defined U_AXIS && !defined DEFAULT_U_MAX_RATE) || defined __DOXYGEN__
2220 #define DEFAULT_U_MAX_RATE 500.0f
2222 #if (defined V_AXIS && !defined DEFAULT_V_MAX_RATE) || defined __DOXYGEN__
2223 #define DEFAULT_V_MAX_RATE 500.0f
2230 #if !defined DEFAULT_X_ACCELERATION || defined __DOXYGEN__
2231 #define DEFAULT_X_ACCELERATION 10.0f
2233 #if !defined DEFAULT_Y_ACCELERATION || defined __DOXYGEN__
2234 #define DEFAULT_Y_ACCELERATION 10.0f
2236 #if !defined DEFAULT_Z_ACCELERATION || defined __DOXYGEN__
2237 #define DEFAULT_Z_ACCELERATION 10.0f
2239 #if (defined A_AXIS && !defined DEFAULT_A_ACCELERATION) || defined __DOXYGEN__
2240 #define DEFAULT_A_ACCELERATION 10.0f
2242 #if (defined B_AXIS && !defined DEFAULT_B_ACCELERATION) || defined __DOXYGEN__
2243 #define DEFAULT_B_ACCELERATION 10.0f
2245 #if (defined C_AXIS && !defined DEFAULT_C_ACCELERATION) || defined __DOXYGEN__
2246 #define DEFAULT_C_ACCELERATION 10.0f
2248 #if (defined U_AXIS && !defined DEFAULT_U_ACCELERATION) || defined __DOXYGEN__
2249 #define DEFAULT_U_ACCELERATION 10.0f
2251 #if (defined V_AXIS && !defined DEFAULT_V_ACCELERATION) || defined __DOXYGEN__
2252 #define DEFAULT_V_ACCELERATION 10.0f
2259 #if !defined DEFAULT_X_JERK|| defined __DOXYGEN__
2260 #define DEFAULT_X_JERK 100.0f
2262 #if !defined DEFAULT_Y_JERK|| defined __DOXYGEN__
2263 #define DEFAULT_Y_JERK 100.0f
2265 #if !defined DEFAULT_Z_JERK || defined __DOXYGEN__
2266 #define DEFAULT_Z_JERK 100.0f
2268 #if (defined A_AXIS && !defined DEFAULT_A_JERK) || defined __DOXYGEN__
2269 #define DEFAULT_A_JERK 100.0f
2271 #if (defined B_AXIS && !defined DEFAULT_B_JERK) || defined __DOXYGEN__
2272 #define DEFAULT_B_JERK 100.0f
2274 #if (defined C_AXIS && !defined DEFAULT_C_JERK) || defined __DOXYGEN__
2275 #define DEFAULT_C_JERK 100.0f
2277 #if (defined U_AXIS && !defined DEFAULT_U_JERK) || defined __DOXYGEN__
2278 #define DEFAULT_U_JERK 100.0f
2280 #if (defined V_AXIS && !defined DEFAULT_V_JERK) || defined __DOXYGEN__
2281 #define DEFAULT_V_JERK 100.0f
2289 #if !defined DEFAULT_X_MAX_TRAVEL || defined __DOXYGEN__
2290 #define DEFAULT_X_MAX_TRAVEL 200.0f
2292 #if !defined DEFAULT_Y_MAX_TRAVEL || defined __DOXYGEN__
2293 #define DEFAULT_Y_MAX_TRAVEL 200.0f
2295 #if !defined DEFAULT_Z_MAX_TRAVEL || defined __DOXYGEN__
2296 #define DEFAULT_Z_MAX_TRAVEL 200.0f
2298 #if (defined A_AXIS && !defined DEFAULT_A_MAX_TRAVEL) || defined __DOXYGEN__
2299 #define DEFAULT_A_MAX_TRAVEL 200.0f
2301 #if (defined B_AXIS && !defined DEFAULT_B_MAX_TRAVEL) || defined __DOXYGEN__
2302 #define DEFAULT_B_MAX_TRAVEL 200.0f
2304 #if (defined C_AXIS && !defined DEFAULT_C_MAX_TRAVEL) || defined __DOXYGEN__
2305 #define DEFAULT_C_MAX_TRAVEL 200.0f
2307 #if (defined U_AXIS && !defined DEFAULT_U_MAX_TRAVEL) || defined __DOXYGEN__
2308 #define DEFAULT_U_MAX_TRAVEL 200.0f
2310 #if (defined V_AXIS && !defined DEFAULT_V_MAX_TRAVEL) || defined __DOXYGEN__
2311 #define DEFAULT_V_MAX_TRAVEL 200.0f
2319 #if !defined DEFAULT_X_CURRENT || defined __DOXYGEN__
2320 #define DEFAULT_X_CURRENT 500.0f
2322 #if !defined DEFAULT_Y_CURRENT || defined __DOXYGEN__
2323 #define DEFAULT_Y_CURRENT 500.0f
2325 #if !defined DEFAULT_Z_CURRENT || defined __DOXYGEN__
2326 #define DEFAULT_Z_CURRENT 500.0f
2328 #if (defined A_AXIS && !defined DEFAULT_A_CURRENT) || defined __DOXYGEN__
2329 #define DEFAULT_A_CURRENT 500.0f
2331 #if (defined B_AXIS && !defined DEFAULT_B_CURRENT) || defined __DOXYGEN__
2332 #define DEFAULT_B_CURRENT 500.0f
2334 #if (defined C_AXIS && !defined DEFAULT_C_CURRENT) || defined __DOXYGEN__
2335 #define DEFAULT_C_CURRENT 500.0f
2337 #if (defined U_AXIS && !defined DEFAULT_U_CURRENT) || defined __DOXYGEN__
2338 #define DEFAULT_U_CURRENT 500.0f
2340 #if (defined V_AXIS && !defined DEFAULT_V_CURRENT) || defined __DOXYGEN__
2341 #define DEFAULT_V_CURRENT 500.0f
2348 #if !defined(N_TOOLS)
2355 #if N_SYS_SPINDLE > N_SPINDLE
2356 #undef N_SYS_SPINDLE
2357 #define N_SYS_SPINDLE N_SPINDLE
2360 #if N_SYS_SPINDLE < 1
2361 #undef N_SYS_SPINDLE
2362 #define N_SYS_SPINDLE 1
2365 #if N_SYS_SPINDLE > 8
2366 #undef N_SYS_SPINDLE
2367 #define N_SYS_SPINDLE 8
2370 #if NGC_EXPRESSIONS_ENABLE && !NGC_PARAMETERS_ENABLE
2371 #undef NGC_PARAMETERS_ENABLE
2372 #define NGC_PARAMETERS_ENABLE On
2375 #if (REPORT_WCO_REFRESH_BUSY_COUNT < REPORT_WCO_REFRESH_IDLE_COUNT)
2376 #error "WCO busy refresh is less than idle refresh."
2378 #if (REPORT_OVERRIDE_REFRESH_BUSY_COUNT < REPORT_OVERRIDE_REFRESH_IDLE_COUNT)
2379 #error "Override busy refresh is less than idle refresh."
2381 #if (REPORT_WCO_REFRESH_IDLE_COUNT < 2)
2382 #error "WCO refresh must be greater than one."
2384 #if (REPORT_OVERRIDE_REFRESH_IDLE_COUNT < 1)
2385 #error "Override refresh must be greater than zero."
2388 #if DEFAULT_LASER_MODE && DEFAULT_LATHE_MODE
2389 #error "Cannot enable laser and lathe mode at the same time!"
2392 #if LATHE_UVW_OPTION && (N_AXIS > 6 || AXIS_REMAP_ABC2UVW)
2393 #warning "Cannot enable lathe UVW option when N_AXIS > 6 or ABC words are remapped!"
2394 #undef LATHE_UVW_OPTION
2395 #define LATHE_UVW_OPTION Off
2398 #if DEFAULT_CONTROL_SIGNALS_INVERT_MASK < 0
2399 #undef DEFAULT_CONTROL_SIGNALS_INVERT_MASK
2400 #define DEFAULT_CONTROL_SIGNALS_INVERT_MASK SIGNALS_BITMASK
2403 #if DEFAULT_LIMIT_SIGNALS_INVERT_MASK < 0
2404 #undef DEFAULT_LIMIT_SIGNALS_INVERT_MASK
2405 #define DEFAULT_LIMIT_SIGNALS_INVERT_MASK AXES_BITMASK
2408 #if DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK < 0
2409 #undef DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK
2410 #define DEFAULT_LIMIT_SIGNALS_PULLUP_DISABLE_MASK AXES_BITMASK
2413 #if DEFAULT_STEP_SIGNALS_INVERT_MASK < 0
2414 #undef DEFAULT_STEP_SIGNALS_INVERT_MASK
2415 #define DEFAULT_STEP_SIGNALS_INVERT_MASK AXES_BITMASK
2418 #if DEFAULT_ENABLE_SIGNALS_INVERT_MASK < 0
2419 #undef DEFAULT_ENABLE_SIGNALS_INVERT_MASK
2420 #define DEFAULT_ENABLE_SIGNALS_INVERT_MASK AXES_BITMASK
2423 #if DEFAULT_SPINDLE_ON_DELAY
2424 #if DEFAULT_SPINDLE_ON_DELAY < 500
2425 #undef DEFAULT_SPINDLE_ON_DELAY
2426 #define DEFAULT_SPINDLE_ON_DELAY 500
2427 #elif DEFAULT_SPINDLE_ON_DELAY > 20000
2428 #undef DEFAULT_SPINDLE_ON_DELAY
2429 #define DEFAULT_SPINDLE_ON_DELAY 20000
2433 #if DEFAULT_COOLANT_ON_DELAY
2434 #if DEFAULT_COOLANT_ON_DELAY < 500
2435 #undef DEFAULT_COOLANT_ON_DELAY
2436 #define DEFAULT_COOLANT_ON_DELAY 500
2437 #elif DEFAULT_COOLANT_ON_DELAY > 20000
2438 #undef DEFAULT_COOLANT_ON_DELAY
2439 #define DEFAULT_COOLANT_ON_DELAY 20000
2443 #if DEFAULT_PARKING_ENABLE > 0
2444 #if DEFAULT_HOMING_FORCE_SET_ORIGIN > 0
2445 #error "DEFAULT_HOMING_FORCE_SET_ORIGIN is not supported with DEFAULT_PARKING_ENABLE at this time."
2449 #if DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL > 0
2450 #if DEFAULT_PARKING_ENABLE < 1
2451 #error "DEFAULT_ENABLE_PARKING_OVERRIDE_CONTROL must be enabled with DEFAULT_PARKING_ENABLE."