|
35 | 35 | *
|
36 | 36 | * Advanced settings can be found in Configuration_adv.h
|
37 | 37 | */
|
38 |
| -#define CONFIGURATION_H_VERSION 02000903 |
| 38 | +#define CONFIGURATION_H_VERSION 02010000 |
39 | 39 |
|
40 | 40 | //===========================================================================
|
41 | 41 | //============================= Getting Started =============================
|
|
150 | 150 | //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
|
151 | 151 |
|
152 | 152 | /**
|
153 |
| - * Define the number of coordinated linear axes. |
| 153 | + * Define the number of coordinated axes. |
154 | 154 | * See https://github.com/DerAndere1/Marlin/wiki
|
155 |
| - * Each linear axis gets its own stepper control and endstop: |
| 155 | + * Each axis gets its own stepper control and endstop: |
156 | 156 | *
|
157 | 157 | * Steppers: *_STEP_PIN, *_ENABLE_PIN, *_DIR_PIN, *_ENABLE_ON
|
158 | 158 | * Endstops: *_STOP_PIN, USE_*MIN_PLUG, USE_*MAX_PLUG
|
|
161 | 161 | * DEFAULT_MAX_ACCELERATION, AXIS_RELATIVE_MODES,
|
162 | 162 | * MICROSTEP_MODES, MANUAL_FEEDRATE
|
163 | 163 | *
|
164 |
| - * :[3, 4, 5, 6] |
| 164 | + * :[3, 4, 5, 6, 7, 8, 9] |
165 | 165 | */
|
166 |
| -//#define LINEAR_AXES 3 |
| 166 | +//#define NUM_AXES 3 |
167 | 167 |
|
168 | 168 | /**
|
169 |
| - * Axis codes for additional axes: |
170 |
| - * This defines the axis code that is used in G-code commands to |
171 |
| - * reference a specific axis. |
172 |
| - * 'A' for rotational axis parallel to X |
173 |
| - * 'B' for rotational axis parallel to Y |
174 |
| - * 'C' for rotational axis parallel to Z |
175 |
| - * 'U' for secondary linear axis parallel to X |
176 |
| - * 'V' for secondary linear axis parallel to Y |
177 |
| - * 'W' for secondary linear axis parallel to Z |
178 |
| - * Regardless of the settings, firmware-internal axis IDs are |
179 |
| - * I (AXIS4), J (AXIS5), K (AXIS6). |
| 169 | + * Additional Axis Settings |
| 170 | + * |
| 171 | + * Define AXISn_ROTATES for all axes that rotate or pivot. |
| 172 | + * Rotational axis coordinates are expressed in degrees. |
| 173 | + * |
| 174 | + * AXISn_NAME defines the letter used to refer to the axis in (most) G-code commands. |
| 175 | + * By convention the names and roles are typically: |
| 176 | + * 'A' : Rotational axis parallel to X |
| 177 | + * 'B' : Rotational axis parallel to Y |
| 178 | + * 'C' : Rotational axis parallel to Z |
| 179 | + * 'U' : Secondary linear axis parallel to X |
| 180 | + * 'V' : Secondary linear axis parallel to Y |
| 181 | + * 'W' : Secondary linear axis parallel to Z |
| 182 | + * |
| 183 | + * Regardless of these settings the axes are internally named I, J, K, U, V, W. |
180 | 184 | */
|
181 |
| -#if LINEAR_AXES >= 4 |
| 185 | +#if NUM_AXES >= 4 |
182 | 186 | #define AXIS4_NAME 'A' // :['A', 'B', 'C', 'U', 'V', 'W']
|
| 187 | + #define AXIS4_ROTATES |
| 188 | +#endif |
| 189 | +#if NUM_AXES >= 5 |
| 190 | + #define AXIS5_NAME 'B' // :['B', 'C', 'U', 'V', 'W'] |
| 191 | + #define AXIS5_ROTATES |
| 192 | +#endif |
| 193 | +#if NUM_AXES >= 6 |
| 194 | + #define AXIS6_NAME 'C' // :['C', 'U', 'V', 'W'] |
| 195 | + #define AXIS6_ROTATES |
| 196 | +#endif |
| 197 | +#if NUM_AXES >= 7 |
| 198 | + #define AXIS7_NAME 'U' // :['U', 'V', 'W'] |
| 199 | + //#define AXIS7_ROTATES |
183 | 200 | #endif
|
184 |
| -#if LINEAR_AXES >= 5 |
185 |
| - #define AXIS5_NAME 'B' // :['A', 'B', 'C', 'U', 'V', 'W'] |
| 201 | +#if NUM_AXES >= 8 |
| 202 | + #define AXIS8_NAME 'V' // :['V', 'W'] |
| 203 | + //#define AXIS8_ROTATES |
186 | 204 | #endif
|
187 |
| -#if LINEAR_AXES >= 6 |
188 |
| - #define AXIS6_NAME 'C' // :['A', 'B', 'C', 'U', 'V', 'W'] |
| 205 | +#if NUM_AXES >= 9 |
| 206 | + #define AXIS9_NAME 'W' // :['W'] |
| 207 | + //#define AXIS9_ROTATES |
189 | 208 | #endif
|
190 | 209 |
|
191 | 210 | // @section extruder
|
|
793 | 812 | //#define USE_IMIN_PLUG
|
794 | 813 | //#define USE_JMIN_PLUG
|
795 | 814 | //#define USE_KMIN_PLUG
|
| 815 | +//#define USE_UMIN_PLUG |
| 816 | +//#define USE_VMIN_PLUG |
| 817 | +//#define USE_WMIN_PLUG |
796 | 818 | //#define USE_XMAX_PLUG
|
797 | 819 | //#define USE_YMAX_PLUG
|
798 | 820 | //#define USE_ZMAX_PLUG
|
799 | 821 | //#define USE_IMAX_PLUG
|
800 | 822 | //#define USE_JMAX_PLUG
|
801 | 823 | //#define USE_KMAX_PLUG
|
| 824 | +//#define USE_UMAX_PLUG |
| 825 | +//#define USE_VMAX_PLUG |
| 826 | +//#define USE_WMAX_PLUG |
802 | 827 |
|
803 | 828 | // Enable pullup for all endstops to prevent a floating state
|
804 | 829 | #define ENDSTOPPULLUPS
|
|
810 | 835 | //#define ENDSTOPPULLUP_IMIN
|
811 | 836 | //#define ENDSTOPPULLUP_JMIN
|
812 | 837 | //#define ENDSTOPPULLUP_KMIN
|
| 838 | + //#define ENDSTOPPULLUP_UMIN |
| 839 | + //#define ENDSTOPPULLUP_VMIN |
| 840 | + //#define ENDSTOPPULLUP_WMIN |
813 | 841 | //#define ENDSTOPPULLUP_XMAX
|
814 | 842 | //#define ENDSTOPPULLUP_YMAX
|
815 | 843 | //#define ENDSTOPPULLUP_ZMAX
|
816 | 844 | //#define ENDSTOPPULLUP_IMAX
|
817 | 845 | //#define ENDSTOPPULLUP_JMAX
|
818 | 846 | //#define ENDSTOPPULLUP_KMAX
|
| 847 | + //#define ENDSTOPPULLUP_UMAX |
| 848 | + //#define ENDSTOPPULLUP_VMAX |
| 849 | + //#define ENDSTOPPULLUP_WMAX |
819 | 850 | //#define ENDSTOPPULLUP_ZMIN_PROBE
|
820 | 851 | #endif
|
821 | 852 |
|
|
829 | 860 | //#define ENDSTOPPULLDOWN_IMIN
|
830 | 861 | //#define ENDSTOPPULLDOWN_JMIN
|
831 | 862 | //#define ENDSTOPPULLDOWN_KMIN
|
| 863 | + //#define ENDSTOPPULLDOWN_UMIN |
| 864 | + //#define ENDSTOPPULLDOWN_VMIN |
| 865 | + //#define ENDSTOPPULLDOWN_WMIN |
832 | 866 | //#define ENDSTOPPULLDOWN_XMAX
|
833 | 867 | //#define ENDSTOPPULLDOWN_YMAX
|
834 | 868 | //#define ENDSTOPPULLDOWN_ZMAX
|
835 | 869 | //#define ENDSTOPPULLDOWN_IMAX
|
836 | 870 | //#define ENDSTOPPULLDOWN_JMAX
|
837 | 871 | //#define ENDSTOPPULLDOWN_KMAX
|
| 872 | + //#define ENDSTOPPULLDOWN_UMAX |
| 873 | + //#define ENDSTOPPULLDOWN_VMAX |
| 874 | + //#define ENDSTOPPULLDOWN_WMAX |
838 | 875 | //#define ENDSTOPPULLDOWN_ZMIN_PROBE
|
839 | 876 | #endif
|
840 | 877 |
|
|
845 | 882 | #define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
846 | 883 | #define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
847 | 884 | #define K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
| 885 | +#define U_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 886 | +#define V_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 887 | +#define W_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
848 | 888 | #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
849 | 889 | #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
850 | 890 | #define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
851 | 891 | #define I_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
852 | 892 | #define J_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
853 | 893 | #define K_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
|
| 894 | +#define U_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 895 | +#define V_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 896 | +#define W_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
854 | 897 | #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe.
|
855 | 898 |
|
856 | 899 | /**
|
|
882 | 925 | //#define I_DRIVER_TYPE A4988
|
883 | 926 | //#define J_DRIVER_TYPE A4988
|
884 | 927 | //#define K_DRIVER_TYPE A4988
|
| 928 | +//#define U_DRIVER_TYPE A4988 |
| 929 | +//#define V_DRIVER_TYPE A4988 |
| 930 | +//#define W_DRIVER_TYPE A4988 |
885 | 931 | #define E0_DRIVER_TYPE A4988
|
886 | 932 | //#define E1_DRIVER_TYPE A4988
|
887 | 933 | //#define E2_DRIVER_TYPE A4988
|
|
933 | 979 | //#define DISTINCT_E_FACTORS
|
934 | 980 |
|
935 | 981 | /**
|
936 |
| - * Default Axis Steps Per Unit (steps/mm) |
| 982 | + * Default Axis Steps Per Unit (linear=steps/mm, rotational=steps/°) |
937 | 983 | * Override with M92
|
938 |
| - * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
| 984 | + * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] |
939 | 985 | */
|
940 | 986 | #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
|
941 | 987 |
|
942 | 988 | /**
|
943 |
| - * Default Max Feed Rate (mm/s) |
| 989 | + * Default Max Feed Rate (linear=mm/s, rotational=°/s) |
944 | 990 | * Override with M203
|
945 |
| - * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
| 991 | + * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] |
946 | 992 | */
|
947 | 993 | #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
|
948 | 994 |
|
|
952 | 998 | #endif
|
953 | 999 |
|
954 | 1000 | /**
|
955 |
| - * Default Max Acceleration (change/s) change = mm/s |
| 1001 | + * Default Max Acceleration (speed change with time) (linear=mm/(s^2), rotational=°/(s^2)) |
956 | 1002 | * (Maximum start speed for accelerated moves)
|
957 | 1003 | * Override with M201
|
958 |
| - * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
| 1004 | + * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] |
959 | 1005 | */
|
960 | 1006 | #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
|
961 | 1007 |
|
|
965 | 1011 | #endif
|
966 | 1012 |
|
967 | 1013 | /**
|
968 |
| - * Default Acceleration (change/s) change = mm/s |
| 1014 | + * Default Acceleration (speed change with time) (linear=mm/(s^2), rotational=°/(s^2)) |
969 | 1015 | * Override with M204
|
970 | 1016 | *
|
971 | 1017 | * M204 P Acceleration
|
|
978 | 1024 |
|
979 | 1025 | /**
|
980 | 1026 | * Default Jerk limits (mm/s)
|
981 |
| - * Override with M205 X Y Z E |
| 1027 | + * Override with M205 X Y Z . . . E |
982 | 1028 | *
|
983 | 1029 | * "Jerk" specifies the minimum speed change that requires acceleration.
|
984 | 1030 | * When changing speed and direction, if the difference is less than the
|
|
992 | 1038 | //#define DEFAULT_IJERK 0.3
|
993 | 1039 | //#define DEFAULT_JJERK 0.3
|
994 | 1040 | //#define DEFAULT_KJERK 0.3
|
| 1041 | + //#define DEFAULT_UJERK 0.3 |
| 1042 | + //#define DEFAULT_VJERK 0.3 |
| 1043 | + //#define DEFAULT_WJERK 0.3 |
995 | 1044 |
|
996 | 1045 | //#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
|
997 | 1046 |
|
|
1330 | 1379 | //#define I_ENABLE_ON 0
|
1331 | 1380 | //#define J_ENABLE_ON 0
|
1332 | 1381 | //#define K_ENABLE_ON 0
|
| 1382 | +//#define U_ENABLE_ON 0 |
| 1383 | +//#define V_ENABLE_ON 0 |
| 1384 | +//#define W_ENABLE_ON 0 |
1333 | 1385 |
|
1334 | 1386 | // Disable axis steppers immediately when they're not being stepped.
|
1335 | 1387 | // WARNING: When motors turn off there is a chance of losing position accuracy!
|
|
1339 | 1391 | //#define DISABLE_I false
|
1340 | 1392 | //#define DISABLE_J false
|
1341 | 1393 | //#define DISABLE_K false
|
| 1394 | +//#define DISABLE_U false |
| 1395 | +//#define DISABLE_V false |
| 1396 | +//#define DISABLE_W false |
1342 | 1397 |
|
1343 | 1398 | // Turn off the display blinking that warns about possible accuracy reduction
|
1344 | 1399 | //#define DISABLE_REDUCED_ACCURACY_WARNING
|
|
1357 | 1412 | //#define INVERT_I_DIR false
|
1358 | 1413 | //#define INVERT_J_DIR false
|
1359 | 1414 | //#define INVERT_K_DIR false
|
| 1415 | +//#define INVERT_U_DIR false |
| 1416 | +//#define INVERT_V_DIR false |
| 1417 | +//#define INVERT_W_DIR false |
1360 | 1418 |
|
1361 | 1419 | // @section extruder
|
1362 | 1420 |
|
|
1395 | 1453 | //#define I_HOME_DIR -1
|
1396 | 1454 | //#define J_HOME_DIR -1
|
1397 | 1455 | //#define K_HOME_DIR -1
|
| 1456 | +//#define U_HOME_DIR -1 |
| 1457 | +//#define V_HOME_DIR -1 |
| 1458 | +//#define W_HOME_DIR -1 |
1398 | 1459 |
|
1399 | 1460 | // @section machine
|
1400 | 1461 |
|
1401 | 1462 | // The size of the printable area
|
1402 | 1463 | #define X_BED_SIZE 200
|
1403 | 1464 | #define Y_BED_SIZE 200
|
1404 | 1465 |
|
1405 |
| -// Travel limits (mm) after homing, corresponding to endstop positions. |
| 1466 | +// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. |
1406 | 1467 | #define X_MIN_POS 0
|
1407 | 1468 | #define Y_MIN_POS 0
|
1408 | 1469 | #define Z_MIN_POS 0
|
|
1415 | 1476 | //#define J_MAX_POS 50
|
1416 | 1477 | //#define K_MIN_POS 0
|
1417 | 1478 | //#define K_MAX_POS 50
|
| 1479 | +//#define U_MIN_POS 0 |
| 1480 | +//#define U_MAX_POS 50 |
| 1481 | +//#define V_MIN_POS 0 |
| 1482 | +//#define V_MAX_POS 50 |
| 1483 | +//#define W_MIN_POS 0 |
| 1484 | +//#define W_MAX_POS 50 |
1418 | 1485 |
|
1419 | 1486 | /**
|
1420 | 1487 | * Software Endstops
|
|
1434 | 1501 | #define MIN_SOFTWARE_ENDSTOP_I
|
1435 | 1502 | #define MIN_SOFTWARE_ENDSTOP_J
|
1436 | 1503 | #define MIN_SOFTWARE_ENDSTOP_K
|
| 1504 | + #define MIN_SOFTWARE_ENDSTOP_U |
| 1505 | + #define MIN_SOFTWARE_ENDSTOP_V |
| 1506 | + #define MIN_SOFTWARE_ENDSTOP_W |
1437 | 1507 | #endif
|
1438 | 1508 |
|
1439 | 1509 | // Max software endstops constrain movement within maximum coordinate bounds
|
|
1445 | 1515 | #define MAX_SOFTWARE_ENDSTOP_I
|
1446 | 1516 | #define MAX_SOFTWARE_ENDSTOP_J
|
1447 | 1517 | #define MAX_SOFTWARE_ENDSTOP_K
|
| 1518 | + #define MAX_SOFTWARE_ENDSTOP_U |
| 1519 | + #define MAX_SOFTWARE_ENDSTOP_V |
| 1520 | + #define MAX_SOFTWARE_ENDSTOP_W |
1448 | 1521 | #endif
|
1449 | 1522 |
|
1450 | 1523 | #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
|
|
1759 | 1832 | //#define MANUAL_I_HOME_POS 0
|
1760 | 1833 | //#define MANUAL_J_HOME_POS 0
|
1761 | 1834 | //#define MANUAL_K_HOME_POS 0
|
| 1835 | +//#define MANUAL_U_HOME_POS 0 |
| 1836 | +//#define MANUAL_V_HOME_POS 0 |
| 1837 | +//#define MANUAL_W_HOME_POS 0 |
1762 | 1838 |
|
1763 | 1839 | /**
|
1764 | 1840 | * Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area.
|
|
1774 | 1850 | #define Z_SAFE_HOMING_Y_POINT Y_CENTER // Y point for Z homing
|
1775 | 1851 | #endif
|
1776 | 1852 |
|
1777 |
| -// Homing speeds (mm/min) |
| 1853 | +// Homing speeds (linear=mm/min, rotational=°/min) |
1778 | 1854 | #define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }
|
1779 | 1855 |
|
1780 | 1856 | // Validate that endstops are triggered on homing moves
|
|
0 commit comments