720
720
#define Z_STEPPER_ALIGN_AMP 1.0
721
721
#endif
722
722
723
-
724
723
#define G34_MAX_GRADE 5 // (%) Maximum incline that G34 will handle
725
724
#define Z_STEPPER_ALIGN_ITERATIONS 3 // Number of iterations to apply during alignment
726
725
#define Z_STEPPER_ALIGN_ACC 0.02 // Stop iterating early if the accuracy is better than this
1035
1034
1036
1035
// The standard SD detect circuit reads LOW when media is inserted and HIGH when empty.
1037
1036
// Enable this option and set to HIGH if your SD cards are incorrectly detected.
1038
-
1039
-
1040
-
1041
1037
#define SD_DETECT_STATE HIGH
1042
1038
1043
1039
#define SD_FINISHED_STEPPERRELEASE true // Disable steppers when SD Print is finished
1249
1245
// Western only. Not available for Cyrillic, Kana, Turkish, Greek, or Chinese.
1250
1246
//#define USE_SMALL_INFOFONT
1251
1247
1252
-
1253
-
1254
-
1255
-
1256
1248
// Swap the CW/CCW indicators in the graphics overlay
1257
1249
//#define OVERLAY_GFX_REVERSE
1258
1250
1318
1310
//#define DGUS_SERIAL_STATS_RX_BUFFER_OVERRUNS // Fix Rx overrun situation (Currently only for AVR)
1319
1311
1320
1312
#define DGUS_UPDATE_INTERVAL_MS 500 // (ms) Interval between automatic screen updates
1321
-
1322
1313
1323
1314
#if EITHER (DGUS_LCD_UI_FYSETC , DGUS_LCD_UI_HIPRECY )
1324
1315
#define DGUS_PRINT_FILENAME // Display the filename during printing
1608
1599
// Add additional compensation depending on hotend temperature
1609
1600
// Note: this values cannot be calibrated and have to be set manually
1610
1601
#if ENABLED (PROBE_TEMP_COMPENSATION )
1611
- // Max temperature that can be reached by heated bed.
1612
- // This is required only for the calibration process.
1613
- #define PTC_MAX_BED_TEMP BED_MAXTEMP
1614
-
1615
1602
// Park position to wait for probe cooldown
1616
- #define PTC_PARK_POS_X 0.0F
1617
- #define PTC_PARK_POS_Y 0.0F
1618
- #define PTC_PARK_POS_Z 100.0F
1603
+ #define PTC_PARK_POS { 0, 0, 100 }
1619
1604
1620
1605
// Probe position to probe and wait for probe to reach target temperature
1621
- #define PTC_PROBE_POS_X 90.0F
1622
- #define PTC_PROBE_POS_Y 100.0F
1606
+ #define PTC_PROBE_POS { 90, 100 }
1623
1607
1624
1608
// Enable additional compensation using hotend temperature
1625
1609
// Note: this values cannot be calibrated automatically but have to be set manually
2334
2318
*/
2335
2319
//#define SENSORLESS_HOMING // StallGuard capable drivers only
2336
2320
2337
-
2338
-
2339
-
2340
-
2341
-
2342
-
2343
-
2344
-
2345
2321
#if EITHER (SENSORLESS_HOMING , SENSORLESS_PROBING )
2346
2322
// TMC2209: 0...255. TMC2130: -64...63
2347
2323
#define X_STALL_SENSITIVITY 8
2678
2654
#define SPINDLE_LASER_ACTIVE_HIGH false // Set to "true" if the on/off function is active HIGH
2679
2655
#define SPINDLE_LASER_PWM true // Set to "true" if your controller supports setting the speed/power
2680
2656
#define SPINDLE_LASER_PWM_INVERT true // Set to "true" if the speed/power goes up when you want it to go slower
2681
- #define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power
2682
- #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop
2657
+
2658
+ #define SPINDLE_LASER_FREQUENCY 2500 // (Hz) Spindle/laser frequency (only on supported HALs: AVR and LPC)
2659
+
2660
+ /**
2661
+ * Speed / Power can be set ('M3 S') and displayed in terms of:
2662
+ * - PWM (S0 - S255)
2663
+ * - PERCENT (S0 - S100)
2664
+ * - RPM (S0 - S50000) Best for use with a spindle
2665
+ */
2666
+ #define CUTTER_POWER_DISPLAY PWM
2667
+
2668
+ /**
2669
+ * Relative mode uses relative range (SPEED_POWER_MIN to SPEED_POWER_MAX) instead of normal range (0 to SPEED_POWER_MAX)
2670
+ * Best use with SuperPID router controller where for example S0 = 5,000 RPM and S255 = 30,000 RPM
2671
+ */
2672
+ //#define CUTTER_POWER_RELATIVE // Set speed proportional to [SPEED_POWER_MIN...SPEED_POWER_MAX] instead of directly
2683
2673
2684
2674
#if ENABLED (SPINDLE_FEATURE )
2685
2675
//#define SPINDLE_CHANGE_DIR // Enable if your spindle controller can change spindle direction
2686
2676
#define SPINDLE_CHANGE_DIR_STOP // Enable if the spindle should stop before changing spin direction
2687
2677
#define SPINDLE_INVERT_DIR false // Set to "true" if the spin direction is reversed
2688
2678
2679
+ #define SPINDLE_LASER_POWERUP_DELAY 5000 // (ms) Delay to allow the spindle/laser to come up to speed/power
2680
+ #define SPINDLE_LASER_POWERDOWN_DELAY 5000 // (ms) Delay to allow the spindle to stop
2681
+
2689
2682
/**
2690
- * The M3 & M4 commands use the following equation to convert PWM duty cycle to speed/power
2691
- *
2692
- * SPEED/POWER = PWM duty cycle * SPEED_POWER_SLOPE + SPEED_POWER_INTERCEPT
2693
- * where PWM duty cycle varies from 0 to 255
2683
+ * M3/M4 uses the following equation to convert speed/power to PWM duty cycle
2684
+ * Power = ((DC / 255 * 100) - SPEED_POWER_INTERCEPT)) * (1 / SPEED_POWER_SLOPE)
2685
+ * where PWM DC varies from 0 to 255
2694
2686
*
2695
- * set the following for your controller (ALL MUST BE SET)
2687
+ * Set these required parameters for your controller
2696
2688
*/
2697
- #define SPEED_POWER_SLOPE 118.4
2698
- #define SPEED_POWER_INTERCEPT 0
2699
- #define SPEED_POWER_MIN 5000
2700
- #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM
2689
+ #define SPEED_POWER_SLOPE 118.4 // SPEED_POWER_SLOPE = SPEED_POWER_MAX / 255
2690
+ #define SPEED_POWER_INTERCEPT 0
2691
+ #define SPEED_POWER_MIN 5000
2692
+ #define SPEED_POWER_MAX 30000 // SuperPID router controller 0 - 30,000 RPM
2693
+ #define SPEED_POWER_STARTUP 25000 // The default value for speed power when M3 is called without arguments
2694
+
2701
2695
#else
2702
- #define SPEED_POWER_SLOPE 0.3922
2703
- #define SPEED_POWER_INTERCEPT 0
2704
- #define SPEED_POWER_MIN 10
2705
- #define SPEED_POWER_MAX 100 // 0-100%
2696
+
2697
+ #define SPEED_POWER_SLOPE 0.3922 // SPEED_POWER_SLOPE = SPEED_POWER_MAX / 255
2698
+ #define SPEED_POWER_INTERCEPT 0
2699
+ #define SPEED_POWER_MIN 0
2700
+ #define SPEED_POWER_MAX 100 // 0-100%
2701
+ #define SPEED_POWER_STARTUP 80 // The default value for speed power when M3 is called without arguments
2702
+
2703
+ /**
2704
+ * Enable inline laser power to be handled in the planner / stepper routines.
2705
+ * Inline power is specified by the I (inline) flag in an M3 command (e.g., M3 S20 I)
2706
+ * or by the 'S' parameter in G0/G1/G2/G3 moves (see LASER_MOVE_POWER).
2707
+ *
2708
+ * This allows the laser to keep in perfect sync with the planner and removes
2709
+ * the powerup/down delay since lasers require negligible time.
2710
+ */
2711
+ #define LASER_POWER_INLINE
2712
+
2713
+ #if ENABLED (LASER_POWER_INLINE )
2714
+ /**
2715
+ * Scale the laser's power in proportion to the movement rate.
2716
+ *
2717
+ * - Sets the entry power proportional to the entry speed over the nominal speed.
2718
+ * - Ramps the power up every N steps to approximate the speed trapezoid.
2719
+ * - Due to the limited power resolution this is only approximate.
2720
+ */
2721
+ #define LASER_POWER_INLINE_TRAPEZOID
2722
+
2723
+ /**
2724
+ * Continuously calculate the current power (nominal_power * current_rate / nominal_rate).
2725
+ * Required for accurate power with non-trapezoidal acceleration (e.g., S_CURVE_ACCELERATION).
2726
+ * This is a costly calculation so this option is discouraged on 8-bit AVR boards.
2727
+ *
2728
+ * LASER_POWER_INLINE_TRAPEZOID_CONT_PER defines how many step cycles there are between power updates. If your
2729
+ * board isn't able to generate steps fast enough (and you are using LASER_POWER_INLINE_TRAPEZOID_CONT), increase this.
2730
+ * Note that when this is zero it means it occurs every cycle; 1 means a delay wait one cycle then run, etc.
2731
+ */
2732
+ //#define LASER_POWER_INLINE_TRAPEZOID_CONT
2733
+
2734
+ /**
2735
+ * Stepper iterations between power updates. Increase this value if the board
2736
+ * can't keep up with the processing demands of LASER_POWER_INLINE_TRAPEZOID_CONT.
2737
+ * Disable (or set to 0) to recalculate power on every stepper iteration.
2738
+ */
2739
+ //#define LASER_POWER_INLINE_TRAPEZOID_CONT_PER 10
2740
+
2741
+ /**
2742
+ * Include laser power in G0/G1/G2/G3/G5 commands with the 'S' parameter
2743
+ */
2744
+ //#define LASER_MOVE_POWER
2745
+
2746
+ #if ENABLED (LASER_MOVE_POWER )
2747
+ // Turn off the laser on G0 moves with no power parameter.
2748
+ // If a power parameter is provided, use that instead.
2749
+ //#define LASER_MOVE_G0_OFF
2750
+ #endif
2751
+
2752
+ /**
2753
+ * Inline flag inverted
2754
+ *
2755
+ * WARNING: M5 will NOT turn off the laser unless another move
2756
+ * is done (so G-code files must end with 'M5 I').
2757
+ */
2758
+ //#define LASER_POWER_INLINE_INVERT
2759
+
2760
+ /**
2761
+ * Continuously apply inline power. ('M3 S3' == 'G1 S3' == 'M3 S3 I')
2762
+ *
2763
+ * The laser might do some weird things, so only enable this
2764
+ * feature if you understand the implications.
2765
+ */
2766
+ //#define LASER_POWER_INLINE_CONTINUOUS
2767
+
2768
+ #else
2769
+
2770
+ #define SPINDLE_LASER_POWERUP_DELAY 50 // (ms) Delay to allow the spindle/laser to come up to speed/power
2771
+ #define SPINDLE_LASER_POWERDOWN_DELAY 50 // (ms) Delay to allow the spindle to stop
2772
+
2773
+ #endif
2706
2774
#endif
2707
2775
#endif
2708
2776
3158
3226
//#define PINS_DEBUGGING
3159
3227
3160
3228
// Enable Marlin dev mode which adds some special commands
3161
- //#define MARLIN_DEV_MODE
3229
+ //#define MARLIN_DEV_MODE
0 commit comments