|
35 | 35 | * |
36 | 36 | * Advanced settings can be found in Configuration_adv.h |
37 | 37 | */ |
38 | | -#define CONFIGURATION_H_VERSION 02000801 |
| 38 | +#define CONFIGURATION_H_VERSION 02000900 |
39 | 39 |
|
40 | 40 | //=========================================================================== |
41 | 41 | //============================= Getting Started ============================= |
|
66 | 66 | // |
67 | 67 | //=========================================================================== |
68 | 68 |
|
| 69 | +//=========================================================================== |
| 70 | +//=========================== FOAMCUTTER_XYUV ============================== |
| 71 | +//=========================================================================== |
| 72 | +// For a hot wire cutter with parallel horizontal axes X, I where the hights |
| 73 | +// of the two wire ends are controlled by parallel axes Y, J. |
| 74 | +// |
| 75 | +//#define FOAMCUTTER_XYUV |
| 76 | + |
69 | 77 | // @section info |
70 | 78 |
|
71 | 79 | // Author info of this build printed to the host during boot and M115 |
|
149 | 157 | // Choose your own or use a service like https://www.uuidgenerator.net/version4 |
150 | 158 | //#define MACHINE_UUID "00000000-0000-0000-0000-000000000000" |
151 | 159 |
|
| 160 | +/** |
| 161 | + * Define the number of coordinated linear axes. |
| 162 | + * See https://github.com/DerAndere1/Marlin/wiki |
| 163 | + * Each linear axis gets its own stepper control and endstop: |
| 164 | + * |
| 165 | + * Steppers: *_STEP_PIN, *_ENABLE_PIN, *_DIR_PIN, *_ENABLE_ON |
| 166 | + * Endstops: *_STOP_PIN, USE_*MIN_PLUG, USE_*MAX_PLUG |
| 167 | + * Axes: *_MIN_POS, *_MAX_POS, INVERT_*_DIR |
| 168 | + * Planner: DEFAULT_AXIS_STEPS_PER_UNIT, DEFAULT_MAX_FEEDRATE |
| 169 | + * DEFAULT_MAX_ACCELERATION, AXIS_RELATIVE_MODES, |
| 170 | + * MICROSTEP_MODES, MANUAL_FEEDRATE |
| 171 | + * |
| 172 | + * :[3, 4, 5, 6] |
| 173 | + */ |
| 174 | +//#define LINEAR_AXES 3 |
| 175 | + |
| 176 | +/** |
| 177 | + * Axis codes for additional axes: |
| 178 | + * This defines the axis code that is used in G-code commands to |
| 179 | + * reference a specific axis. |
| 180 | + * 'A' for rotational axis parallel to X |
| 181 | + * 'B' for rotational axis parallel to Y |
| 182 | + * 'C' for rotational axis parallel to Z |
| 183 | + * 'U' for secondary linear axis parallel to X |
| 184 | + * 'V' for secondary linear axis parallel to Y |
| 185 | + * 'W' for secondary linear axis parallel to Z |
| 186 | + * Regardless of the settings, firmware-internal axis IDs are |
| 187 | + * I (AXIS4), J (AXIS5), K (AXIS6). |
| 188 | + */ |
| 189 | +#if LINEAR_AXES >= 4 |
| 190 | + #define AXIS4_NAME 'A' // :['A', 'B', 'C', 'U', 'V', 'W'] |
| 191 | +#endif |
| 192 | +#if LINEAR_AXES >= 5 |
| 193 | + #define AXIS5_NAME 'B' // :['A', 'B', 'C', 'U', 'V', 'W'] |
| 194 | +#endif |
| 195 | +#if LINEAR_AXES >= 6 |
| 196 | + #define AXIS6_NAME 'C' // :['A', 'B', 'C', 'U', 'V', 'W'] |
| 197 | +#endif |
| 198 | + |
152 | 199 | // @section extruder |
153 | 200 |
|
154 | 201 | // This defines the number of extruders |
|
691 | 738 | #define USE_XMIN_PLUG |
692 | 739 | #define USE_YMIN_PLUG |
693 | 740 | #define USE_ZMIN_PLUG |
| 741 | +//#define USE_IMIN_PLUG |
| 742 | +//#define USE_JMIN_PLUG |
| 743 | +//#define USE_KMIN_PLUG |
694 | 744 | //#define USE_XMAX_PLUG |
695 | 745 | //#define USE_YMAX_PLUG |
696 | 746 | //#define USE_ZMAX_PLUG |
| 747 | +//#define USE_IMAX_PLUG |
| 748 | +//#define USE_JMAX_PLUG |
| 749 | +//#define USE_KMAX_PLUG |
697 | 750 |
|
698 | 751 | // Enable pullup for all endstops to prevent a floating state |
699 | 752 | #define ENDSTOPPULLUPS |
|
702 | 755 | //#define ENDSTOPPULLUP_XMAX |
703 | 756 | //#define ENDSTOPPULLUP_YMAX |
704 | 757 | //#define ENDSTOPPULLUP_ZMAX |
| 758 | + //#define ENDSTOPPULLUP_IMAX |
| 759 | + //#define ENDSTOPPULLUP_JMAX |
| 760 | + //#define ENDSTOPPULLUP_KMAX |
705 | 761 | //#define ENDSTOPPULLUP_XMIN |
706 | 762 | //#define ENDSTOPPULLUP_YMIN |
707 | 763 | //#define ENDSTOPPULLUP_ZMIN |
| 764 | + //#define ENDSTOPPULLUP_IMIN |
| 765 | + //#define ENDSTOPPULLUP_JMIN |
| 766 | + //#define ENDSTOPPULLUP_KMIN |
708 | 767 | //#define ENDSTOPPULLUP_ZMIN_PROBE |
709 | 768 | #endif |
710 | 769 |
|
|
715 | 774 | //#define ENDSTOPPULLDOWN_XMAX |
716 | 775 | //#define ENDSTOPPULLDOWN_YMAX |
717 | 776 | //#define ENDSTOPPULLDOWN_ZMAX |
| 777 | + //#define ENDSTOPPULLDOWN_IMAX |
| 778 | + //#define ENDSTOPPULLDOWN_JMAX |
| 779 | + //#define ENDSTOPPULLDOWN_KMAX |
718 | 780 | //#define ENDSTOPPULLDOWN_XMIN |
719 | 781 | //#define ENDSTOPPULLDOWN_YMIN |
720 | 782 | //#define ENDSTOPPULLDOWN_ZMIN |
| 783 | + //#define ENDSTOPPULLDOWN_IMIN |
| 784 | + //#define ENDSTOPPULLDOWN_JMIN |
| 785 | + //#define ENDSTOPPULLDOWN_KMIN |
721 | 786 | //#define ENDSTOPPULLDOWN_ZMIN_PROBE |
722 | 787 | #endif |
723 | 788 |
|
724 | 789 | // Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup). |
725 | 790 | #define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
726 | 791 | #define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
727 | 792 | #define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 793 | +#define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 794 | +#define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 795 | +#define K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
728 | 796 | #define X_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
729 | 797 | #define Y_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
730 | 798 | #define Z_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 799 | +#define I_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 800 | +#define J_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
| 801 | +#define K_MAX_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop. |
731 | 802 | #define Z_MIN_PROBE_ENDSTOP_INVERTING false // Set to true to invert the logic of the probe. |
732 | 803 |
|
733 | 804 | /** |
|
756 | 827 | //#define Z2_DRIVER_TYPE A4988 |
757 | 828 | //#define Z3_DRIVER_TYPE A4988 |
758 | 829 | //#define Z4_DRIVER_TYPE A4988 |
| 830 | +//#define I_DRIVER_TYPE A4988 |
| 831 | +//#define J_DRIVER_TYPE A4988 |
| 832 | +//#define K_DRIVER_TYPE A4988 |
759 | 833 | #define E0_DRIVER_TYPE A4988 |
760 | 834 | //#define E1_DRIVER_TYPE A4988 |
761 | 835 | //#define E2_DRIVER_TYPE A4988 |
|
809 | 883 | /** |
810 | 884 | * Default Axis Steps Per Unit (steps/mm) |
811 | 885 | * Override with M92 |
812 | | - * X, Y, Z, E0 [, E1[, E2...]] |
| 886 | + * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
813 | 887 | */ |
814 | 888 | #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 } |
815 | 889 |
|
816 | 890 | /** |
817 | 891 | * Default Max Feed Rate (mm/s) |
818 | 892 | * Override with M203 |
819 | | - * X, Y, Z, E0 [, E1[, E2...]] |
| 893 | + * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
820 | 894 | */ |
821 | 895 | #define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } |
822 | 896 |
|
|
829 | 903 | * Default Max Acceleration (change/s) change = mm/s |
830 | 904 | * (Maximum start speed for accelerated moves) |
831 | 905 | * Override with M201 |
832 | | - * X, Y, Z, E0 [, E1[, E2...]] |
| 906 | + * X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]] |
833 | 907 | */ |
834 | 908 | #define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } |
835 | 909 |
|
|
863 | 937 | #define DEFAULT_XJERK 10.0 |
864 | 938 | #define DEFAULT_YJERK 10.0 |
865 | 939 | #define DEFAULT_ZJERK 0.3 |
| 940 | + //#define DEFAULT_IJERK 0.3 |
| 941 | + //#define DEFAULT_JJERK 0.3 |
| 942 | + //#define DEFAULT_KJERK 0.3 |
866 | 943 |
|
867 | 944 | //#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves |
868 | 945 |
|
|
1177 | 1254 | #define Y_ENABLE_ON 0 |
1178 | 1255 | #define Z_ENABLE_ON 0 |
1179 | 1256 | #define E_ENABLE_ON 0 // For all extruders |
| 1257 | +//#define I_ENABLE_ON 0 |
| 1258 | +//#define J_ENABLE_ON 0 |
| 1259 | +//#define K_ENABLE_ON 0 |
1180 | 1260 |
|
1181 | 1261 | // Disable axis steppers immediately when they're not being stepped. |
1182 | 1262 | // WARNING: When motors turn off there is a chance of losing position accuracy! |
1183 | 1263 | #define DISABLE_X false |
1184 | 1264 | #define DISABLE_Y false |
1185 | 1265 | #define DISABLE_Z false |
| 1266 | +//#define DISABLE_I false |
| 1267 | +//#define DISABLE_J false |
| 1268 | +//#define DISABLE_K false |
1186 | 1269 |
|
1187 | 1270 | // Turn off the display blinking that warns about possible accuracy reduction |
1188 | 1271 | //#define DISABLE_REDUCED_ACCURACY_WARNING |
|
1198 | 1281 | #define INVERT_X_DIR false |
1199 | 1282 | #define INVERT_Y_DIR true |
1200 | 1283 | #define INVERT_Z_DIR false |
| 1284 | +//#define INVERT_I_DIR false |
| 1285 | +//#define INVERT_J_DIR false |
| 1286 | +//#define INVERT_K_DIR false |
1201 | 1287 |
|
1202 | 1288 | // @section extruder |
1203 | 1289 |
|
|
1233 | 1319 | #define X_HOME_DIR -1 |
1234 | 1320 | #define Y_HOME_DIR -1 |
1235 | 1321 | #define Z_HOME_DIR -1 |
| 1322 | +//#define I_HOME_DIR -1 |
| 1323 | +//#define J_HOME_DIR -1 |
| 1324 | +//#define K_HOME_DIR -1 |
1236 | 1325 |
|
1237 | 1326 | // @section machine |
1238 | 1327 |
|
|
1247 | 1336 | #define X_MAX_POS X_BED_SIZE |
1248 | 1337 | #define Y_MAX_POS Y_BED_SIZE |
1249 | 1338 | #define Z_MAX_POS 200 |
| 1339 | +//#define I_MIN_POS 0 |
| 1340 | +//#define I_MAX_POS 50 |
| 1341 | +//#define J_MIN_POS 0 |
| 1342 | +//#define J_MAX_POS 50 |
| 1343 | +//#define K_MIN_POS 0 |
| 1344 | +//#define K_MAX_POS 50 |
1250 | 1345 |
|
1251 | 1346 | /** |
1252 | 1347 | * Software Endstops |
|
1263 | 1358 | #define MIN_SOFTWARE_ENDSTOP_X |
1264 | 1359 | #define MIN_SOFTWARE_ENDSTOP_Y |
1265 | 1360 | #define MIN_SOFTWARE_ENDSTOP_Z |
| 1361 | + #define MIN_SOFTWARE_ENDSTOP_I |
| 1362 | + #define MIN_SOFTWARE_ENDSTOP_J |
| 1363 | + #define MIN_SOFTWARE_ENDSTOP_K |
1266 | 1364 | #endif |
1267 | 1365 |
|
1268 | 1366 | // Max software endstops constrain movement within maximum coordinate bounds |
|
1271 | 1369 | #define MAX_SOFTWARE_ENDSTOP_X |
1272 | 1370 | #define MAX_SOFTWARE_ENDSTOP_Y |
1273 | 1371 | #define MAX_SOFTWARE_ENDSTOP_Z |
| 1372 | + #define MAX_SOFTWARE_ENDSTOP_I |
| 1373 | + #define MAX_SOFTWARE_ENDSTOP_J |
| 1374 | + #define MAX_SOFTWARE_ENDSTOP_K |
1274 | 1375 | #endif |
1275 | 1376 |
|
1276 | 1377 | #if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS) |
|
1582 | 1683 | //#define MANUAL_X_HOME_POS 0 |
1583 | 1684 | //#define MANUAL_Y_HOME_POS 0 |
1584 | 1685 | //#define MANUAL_Z_HOME_POS 0 |
| 1686 | +//#define MANUAL_I_HOME_POS 0 |
| 1687 | +//#define MANUAL_J_HOME_POS 0 |
| 1688 | +//#define MANUAL_K_HOME_POS 0 |
1585 | 1689 |
|
1586 | 1690 | // Use "Z Safe Homing" to avoid homing with a Z probe outside the bed area. |
1587 | 1691 | // |
|
0 commit comments