Gal bus kam įdomi mano naudojamo, savos gamybos spausdintuvo Marlin fw konfigūracija. Šią versiją galima naudoti su Diamond ekstruderiu. Tam reikia configūracijos faile nuimti komentarą nuo „//#define DIAMOND //miksuojantis ekstruderis” eilutės.
Elektronika
Arduino DUE
Ramps FD 1.2v modifikuota iki 2.Av su papildoma EEPROM mikroschema
ReprapWorld Graphical LCD
A4988 variklių valdikliai
Raspberry Pi 3 Octoprint serveris
450W ATX maitinimo šaltinis, R Pi maitinamas +5V STB, DUE +5V, Ramps +12V. Octoprint junginėja maitinimo šaltinį
Platforma šildoma silikoniniu šildytuvu nuo tinklo įtampos per opto relę
Piezo daviklis z ašies kalibravimui. Daugiau informacijos apie jį čia
Ašių galiniai jutikliai – holo davikliai
Naudojamas šildytuvas termokamerai per opto relę
Naudojami Arduino DUE pin’ai yra kažkiek pakeisti lyginant su senesne publikuota fw versija!
diff -ruN Marlin-2.1.x/Marlin/_Bootscreen.h Marlin-2.1.x.mod/Marlin/_Bootscreen.h
--- Marlin-2.1.x/Marlin/_Bootscreen.h 1970-01-01 03:00:00.000000000 +0300
+++ Marlin-2.1.x.mod/Marlin/_Bootscreen.h 2020-01-07 16:49:35.000000000 +0200
@@ -0,0 +1,77 @@
+/**
+ * Made with Marlin Bitmap Converter
+ * http://marlinfw.org/tools/u8glib/converter.html
+ *
+ * This bitmap from the file 'bezdzione5.bmp'
+ */
+#pragma once
+
+#define CUSTOM_BOOTSCREEN_BMPWIDTH 64
+
+
+const unsigned char custom_start_bmp[] PROGMEM = {
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00001111,B11000000,B00011100,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00001111,B11111000,B00011100,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00001111,B11111111,B10011110,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00001111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,
+ B00000000,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,
+ B00000000,B00000011,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,
+ B00000000,B00000111,B11111111,B11111111,B11111000,B00000000,B00000000,B00000000,
+ B00000000,B00000111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,
+ B00000000,B00000111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,
+ B00000000,B00001111,B11111111,B11111111,B11111110,B00000000,B00000000,B00000000,
+ B00000000,B00011111,B11111111,B11111111,B11111111,B10000000,B00000001,B10000000,
+ B00000000,B00011111,B11111111,B11111111,B11111111,B11000000,B00001111,B11000000,
+ B00000000,B00111111,B11111111,B11111111,B11111111,B11000000,B00111111,B11100000,
+ B00000001,B11111111,B11111111,B11111111,B11111111,B11000000,B11111000,B01110000,
+ B00011001,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11110000,
+ B00111111,B11111111,B11111111,B11111111,B11111111,B11100011,B11111101,B11111000,
+ B01100011,B11100111,B11111111,B11100001,B11111111,B11100111,B11110000,B01111000,
+ B01100001,B11000011,B11111110,B00000000,B11111111,B11111110,B01100000,B00111100,
+ B00110001,B11100011,B10000000,B00000000,B01111111,B11111000,B11100000,B00111100,
+ B00111001,B11100001,B10000000,B00000000,B00111111,B11110001,B11110000,B00011100,
+ B00011101,B11110000,B00001110,B00000000,B00111111,B11100001,B11111000,B00011100,
+ B00011111,B11111110,B00001111,B11111100,B00111111,B11100011,B10011100,B00010110,
+ B00001111,B11111110,B00000001,B11111000,B00011111,B11110011,B00000110,B00010110,
+ B00001111,B11111100,B00000000,B01110000,B00011111,B11110111,B00000010,B00010110,
+ B00000111,B11001000,B00000000,B00000000,B00011111,B11110111,B11000000,B00010110,
+ B00000111,B10000110,B00000000,B00000000,B00111111,B11111111,B11100000,B00010110,
+ B00000111,B10001111,B00000000,B00000000,B01111111,B11111111,B01110000,B00000100,
+ B00000010,B01111111,B11100000,B00000011,B11111111,B11111111,B00011000,B00000100,
+ B00000000,B01111111,B11110000,B00111111,B11111111,B11111111,B00001100,B00000100,
+ B00000000,B01100000,B11110001,B11111111,B11111111,B11111111,B00001100,B00000100,
+ B00000000,B00000000,B00000001,B11111111,B11111111,B11111111,B00001110,B00001000,
+ B00000110,B00000000,B00000001,B11111111,B11111111,B11111111,B00000110,B00001000,
+ B00001100,B00000000,B00000000,B01111111,B11111111,B11111111,B00000110,B00011000,
+ B00011100,B00000000,B00000000,B01111111,B11111111,B11111111,B00000110,B00010000,
+ B00011000,B00000000,B00000000,B01111111,B11111111,B11110111,B00000100,B00110000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11110011,B10001100,B01100000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11110011,B11111001,B11000000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11110001,B11110011,B11000000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000111,B10000000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11111000,B00001100,B00000000,
+ B00011000,B00000000,B00000000,B00111111,B11111111,B11111111,B11111000,B00000000,
+ B00111111,B11000000,B00000000,B00111111,B11111111,B11100111,B11000000,B00000000,
+ B00111111,B11000000,B00000000,B00111111,B11111100,B00100000,B00000000,B00000000,
+ B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00011000,B00000000,B00000000,B01000000,B00000000,B00000000,B00000000,B00000000,
+ B00011000,B00000000,B00000001,B11000000,B00000000,B00000000,B00000000,B00000000,
+ B00001100,B00000000,B00000001,B10000000,B00000000,B00000000,B00000000,B00000000,
+ B00001100,B00000000,B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,
+ B00000110,B00000000,B00001110,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000010,B00000000,B00011000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000011,B11000000,B01110000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000001,B11111011,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00011110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
+ B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000
+};
diff -ruN Marlin-2.1.x/Marlin/Configuration_adv.h Marlin-2.1.x.mod/Marlin/Configuration_adv.h
--- Marlin-2.1.x/Marlin/Configuration_adv.h 2023-07-02 03:19:17.000000000 +0300
+++ Marlin-2.1.x.mod/Marlin/Configuration_adv.h 2023-09-12 14:39:10.695179679 +0300
@@ -48,7 +48,7 @@
* 3 = schema.json - The entire configuration schema. (13 = pattern groups)
* 4 = schema.yml - The entire configuration schema.
*/
-//#define CONFIG_EXPORT 2 // :[1:'JSON', 2:'config.ini', 3:'schema.json', 4:'schema.yml']
+#define CONFIG_EXPORT 1 // :[1:'JSON', 2:'config.ini', 3:'schema.json', 4:'schema.yml']
//===========================================================================
//============================= Thermal Settings ============================
@@ -220,11 +220,14 @@
#endif
#if TEMP_SENSOR_CHAMBER
+ //#define CHAMBER_MINTEMP 3
+ //#define CHAMBER_MAXTEMP 70
+ //#define TEMP_CHAMBER_HYSTERESIS 4
//#define HEATER_CHAMBER_PIN P2_04 // Required heater on/off pin (example: SKR 1.4 Turbo HE1 plug)
//#define HEATER_CHAMBER_INVERTING false
//#define FAN1_PIN -1 // Remove the fan signal on pin P2_04 (example: SKR 1.4 Turbo HE1 plug)
- //#define CHAMBER_FAN // Enable a fan on the chamber
+ #define CHAMBER_FAN // Enable a fan on the chamber
#if ENABLED(CHAMBER_FAN)
//#define CHAMBER_FAN_INDEX 2 // Index of a fan to repurpose as the chamber fan. (Default: first unused fan)
#define CHAMBER_FAN_MODE 2 // Fan control mode: 0=Static; 1=Linear increase when temp is higher than target; 2=V-shaped curve; 3=similar to 1 but fan is always on.
@@ -301,11 +304,11 @@
*/
#if ENABLED(THERMAL_PROTECTION_HOTENDS)
#define THERMAL_PROTECTION_PERIOD 40 // Seconds
- #define THERMAL_PROTECTION_HYSTERESIS 4 // Degrees Celsius
+ #define THERMAL_PROTECTION_HYSTERESIS 8 // Degrees Celsius
- //#define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops
+ #define ADAPTIVE_FAN_SLOWING // Slow part cooling fan if temperature drops
#if BOTH(ADAPTIVE_FAN_SLOWING, PIDTEMP)
- //#define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303
+ #define NO_FAN_SLOWING_IN_PID_TUNING // Don't slow fan speed during M303
#endif
/**
@@ -342,13 +345,13 @@
* Thermal Protection parameters for the heated chamber.
*/
#if ENABLED(THERMAL_PROTECTION_CHAMBER)
- #define THERMAL_PROTECTION_CHAMBER_PERIOD 20 // Seconds
+ #define THERMAL_PROTECTION_CHAMBER_PERIOD 90 // Seconds
#define THERMAL_PROTECTION_CHAMBER_HYSTERESIS 2 // Degrees Celsius
/**
* Heated chamber watch settings (M141/M191).
*/
- #define WATCH_CHAMBER_TEMP_PERIOD 60 // Seconds
+ #define WATCH_CHAMBER_TEMP_PERIOD 90 // Seconds
#define WATCH_CHAMBER_TEMP_INCREASE 2 // Degrees Celsius
#endif
@@ -499,12 +502,12 @@
* If the machine is idle and the temperature over MINTEMP
* then extrude some filament every couple of SECONDS.
*/
-//#define EXTRUDER_RUNOUT_PREVENT
+#define EXTRUDER_RUNOUT_PREVENT
#if ENABLED(EXTRUDER_RUNOUT_PREVENT)
#define EXTRUDER_RUNOUT_MINTEMP 190
- #define EXTRUDER_RUNOUT_SECONDS 30
+ #define EXTRUDER_RUNOUT_SECONDS 20
#define EXTRUDER_RUNOUT_SPEED 1500 // (mm/min)
- #define EXTRUDER_RUNOUT_EXTRUDE 5 // (mm)
+ #define EXTRUDER_RUNOUT_EXTRUDE 2 // (mm)
#endif
/**
@@ -535,7 +538,7 @@
* The fan turns on automatically whenever any driver is enabled and turns
* off (or reduces to idle speed) shortly after drivers are turned off.
*/
-//#define USE_CONTROLLER_FAN
+#define USE_CONTROLLER_FAN
#if ENABLED(USE_CONTROLLER_FAN)
//#define CONTROLLER_FAN_PIN -1 // Set a custom pin for the controller fan
//#define CONTROLLER_FAN2_PIN -1 // Set a custom pin for second controller fan
@@ -549,7 +552,7 @@
// Use TEMP_SENSOR_BOARD as a trigger for enabling the controller fan
//#define CONTROLLER_FAN_MIN_BOARD_TEMP 40 // (°C) Turn on the fan if the board reaches this temperature
- //#define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
+ #define CONTROLLER_FAN_EDITABLE // Enable M710 configurable settings
#if ENABLED(CONTROLLER_FAN_EDITABLE)
#define CONTROLLER_FAN_MENU // Enable the Controller Fan submenu
#endif
@@ -561,8 +564,8 @@
* gets it spinning reliably for a short time before setting the requested speed.
* (Does not work on Sanguinololu with FAN_SOFT_PWM.)
*/
-//#define FAN_KICKSTART_TIME 100 // (ms)
-//#define FAN_KICKSTART_POWER 180 // 64-255
+#define FAN_KICKSTART_TIME 200 // (ms)
+#define FAN_KICKSTART_POWER 180 // 64-255
// Some coolers may require a non-zero "off" state.
//#define FAN_OFF_PWM 1
@@ -579,8 +582,8 @@
*
* Define one or both of these to override the default 0-255 range.
*/
-//#define FAN_MIN_PWM 50
-//#define FAN_MAX_PWM 128
+#define FAN_MIN_PWM 60
+#define FAN_MAX_PWM 255
/**
* Fan Fast PWM
@@ -639,7 +642,7 @@
* Multiple extruders can be assigned to the same pin in which case
* the fan will turn on when any selected extruder is above the threshold.
*/
-#define E0_AUTO_FAN_PIN -1
+#define E0_AUTO_FAN_PIN 12
#define E1_AUTO_FAN_PIN -1
#define E2_AUTO_FAN_PIN -1
#define E3_AUTO_FAN_PIN -1
@@ -652,7 +655,7 @@
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed
-#define CHAMBER_AUTO_FAN_TEMPERATURE 30
+#define CHAMBER_AUTO_FAN_TEMPERATURE 50
#define CHAMBER_AUTO_FAN_SPEED 255
#define COOLER_AUTO_FAN_TEMPERATURE 18
#define COOLER_AUTO_FAN_SPEED 255
@@ -705,14 +708,14 @@
/**
* M355 Case Light on-off / brightness
*/
-//#define CASE_LIGHT_ENABLE
+#define CASE_LIGHT_ENABLE
#if ENABLED(CASE_LIGHT_ENABLE)
//#define CASE_LIGHT_PIN 4 // Override the default pin if needed
#define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW
- #define CASE_LIGHT_DEFAULT_ON true // Set default power-up state on
- #define CASE_LIGHT_DEFAULT_BRIGHTNESS 105 // Set default power-up brightness (0-255, requires PWM pin)
+ #define CASE_LIGHT_DEFAULT_ON false // Set default power-up state on
+ #define CASE_LIGHT_DEFAULT_BRIGHTNESS 127 // Set default power-up brightness (0-255, requires PWM pin)
//#define CASE_LIGHT_NO_BRIGHTNESS // Disable brightness control. Enable for non-PWM lighting.
- //#define CASE_LIGHT_MAX_PWM 128 // Limit PWM duty cycle (0-255)
+ #define CASE_LIGHT_MAX_PWM 255 // Limit PWM duty cycle (0-255)
//#define CASE_LIGHT_MENU // Add Case Light options to the LCD menu
#if ENABLED(NEOPIXEL_LED)
//#define CASE_LIGHT_USE_NEOPIXEL // Use NeoPixel LED as case light
@@ -1031,7 +1034,7 @@
#if ENABLED(ASSISTED_TRAMMING)
// Define positions for probe points.
- #define TRAMMING_POINT_XY { { 20, 20 }, { 180, 20 }, { 180, 180 }, { 20, 180 } }
+ #define TRAMMING_POINT_XY { { 20, 20 }, { 200, 20 }, { 200, 200 }, { 20, 200 } }
// Define position names for probe points.
#define TRAMMING_POINT_NAME_1 "Front-Left"
@@ -1270,7 +1273,7 @@
* vibration and surface artifacts. The algorithm adapts to provide the best possible step smoothing at the
* lowest stepping frequencies.
*/
-//#define ADAPTIVE_STEP_SMOOTHING
+#define ADAPTIVE_STEP_SMOOTHING
/**
* Custom Microstepping
@@ -1409,7 +1412,7 @@
#endif
// Include a page of printer information in the LCD Main Menu
- //#define LCD_INFO_MENU
+ #define LCD_INFO_MENU
#if ENABLED(LCD_INFO_MENU)
//#define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
#endif
@@ -1418,7 +1421,7 @@
//#define TURBO_BACK_MENU_ITEM
// Insert a menu for preheating at the top level to allow for quick access
- //#define PREHEAT_SHORTCUT_MENU_ITEM
+ #define PREHEAT_SHORTCUT_MENU_ITEM
#endif // HAS_MARLINUI_MENU
@@ -1429,7 +1432,7 @@
#if EITHER(HAS_DISPLAY, DWIN_LCD_PROUI)
// The timeout to return to the status screen from sub-menus
- //#define LCD_TIMEOUT_TO_STATUS 15000 // (ms)
+ #define LCD_TIMEOUT_TO_STATUS 15000 // (ms)
#if ENABLED(SHOW_BOOTSCREEN)
#define BOOTSCREEN_TIMEOUT 4000 // (ms) Total Duration to display the boot screen(s)
@@ -1439,10 +1442,10 @@
#endif
// Scroll a longer status message into view
- //#define STATUS_MESSAGE_SCROLLING
+ #define STATUS_MESSAGE_SCROLLING
// Apply a timeout to low-priority status messages
- //#define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds)
+ #define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds)
// On the Info Screen, display XY with one decimal place when possible
//#define LCD_DECIMAL_SMALL_XY
@@ -1479,12 +1482,12 @@
#endif // HAS_DISPLAY || DWIN_LCD_PROUI
// Add 'M73' to set print job progress, overrides Marlin's built-in estimate
-//#define SET_PROGRESS_MANUALLY
+#define SET_PROGRESS_MANUALLY
#if ENABLED(SET_PROGRESS_MANUALLY)
#define SET_PROGRESS_PERCENT // Add 'P' parameter to set percentage done
#define SET_REMAINING_TIME // Add 'R' parameter to set remaining time
- //#define SET_INTERACTION_TIME // Add 'C' parameter to set time until next filament change or other user interaction
- //#define M73_REPORT // Report M73 values to host
+ #define SET_INTERACTION_TIME // Add 'C' parameter to set time until next filament change or other user interaction
+ #define M73_REPORT // Report M73 values to host
#if BOTH(M73_REPORT, SDSUPPORT)
#define M73_REPORT_SD_ONLY // Report only when printing from SD
#endif
@@ -1494,7 +1497,7 @@
#if HAS_DISPLAY && EITHER(SDSUPPORT, SET_PROGRESS_MANUALLY)
#define SHOW_PROGRESS_PERCENT // Show print progress percentage (doesn't affect progress bar)
#define SHOW_ELAPSED_TIME // Display elapsed printing time (prefix 'E')
- //#define SHOW_REMAINING_TIME // Display estimated time to completion (prefix 'R')
+ #define SHOW_REMAINING_TIME // Display estimated time to completion (prefix 'R')
#if ENABLED(SET_INTERACTION_TIME)
#define SHOW_INTERACTION_TIME // Display time until next user interaction ('C' = filament change)
#endif
@@ -1531,7 +1534,7 @@
//#define SD_IGNORE_AT_STARTUP // Don't mount the SD card when starting up
//#define SDCARD_READONLY // Read-only SD card (to save over 2K of flash)
- //#define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping
+ #define GCODE_REPEAT_MARKERS // Enable G-code M808 to set repeat markers and do looping
#define SD_PROCEDURE_DEPTH 1 // Increase if you need more nested M32 calls
@@ -1565,7 +1568,7 @@
* an option on the LCD screen to continue the print from the last-known
* point in the file.
*/
- //#define POWER_LOSS_RECOVERY
+ #define POWER_LOSS_RECOVERY
#if ENABLED(POWER_LOSS_RECOVERY)
#define PLR_ENABLED_DEFAULT false // Power Loss Recovery enabled by default. (Set with 'M413 Sn' & M500)
//#define BACKUP_POWER_SUPPLY // Backup power / UPS to move the steppers on power loss
@@ -1574,7 +1577,7 @@
//#define POWER_LOSS_STATE HIGH // State of pin indicating power loss
//#define POWER_LOSS_PULLUP // Set pullup / pulldown as appropriate for your sensor
//#define POWER_LOSS_PULLDOWN
- //#define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume
+ #define POWER_LOSS_PURGE_LEN 20 // (mm) Length of filament to purge on resume
//#define POWER_LOSS_RETRACT_LEN 10 // (mm) Length of filament to retract on fail. Requires backup power.
// Without a POWER_LOSS_PIN the following option helps reduce wear on the SD card,
@@ -1611,15 +1614,15 @@
* - SDSORT_CACHE_NAMES will retain the sorted file listing in RAM. (Expensive!)
* - SDSORT_DYNAMIC_RAM only uses RAM when the SD menu is visible. (Use with caution!)
*/
- //#define SDCARD_SORT_ALPHA
+ #define SDCARD_SORT_ALPHA
// SD Card Sorting options
#if ENABLED(SDCARD_SORT_ALPHA)
#define SDSORT_LIMIT 40 // Maximum number of sorted items (10-256). Costs 27 bytes each.
#define FOLDER_SORTING -1 // -1=above 0=none 1=below
#define SDSORT_GCODE false // Allow turning sorting on/off with LCD and M34 G-code.
- #define SDSORT_USES_RAM false // Pre-allocate a static array for faster pre-sorting.
- #define SDSORT_USES_STACK false // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
+ #define SDSORT_USES_RAM true // Pre-allocate a static array for faster pre-sorting.
+ #define SDSORT_USES_STACK true // Prefer the stack for pre-sorting to give back some SRAM. (Negated by next 2 options.)
#define SDSORT_CACHE_NAMES false // Keep sorted items in RAM longer for speedy performance. Most expensive option.
#define SDSORT_DYNAMIC_RAM false // Use dynamic allocation (within SD menus). Least expensive option. Set SDSORT_LIMIT before use!
#define SDSORT_CACHE_VFATS 2 // Maximum number of 13-byte VFAT entries to use for sorting.
@@ -1628,13 +1631,13 @@
// Allow international symbols in long filenames. To display correctly, the
// LCD's font must contain the characters. Check your selected LCD language.
- //#define UTF_FILENAME_SUPPORT
+ #define UTF_FILENAME_SUPPORT
- //#define LONG_FILENAME_HOST_SUPPORT // Get the long filename of a file/folder with 'M33 <dosname>' and list long filenames with 'M20 L'
- //#define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol
- //#define M20_TIMESTAMP_SUPPORT // Include timestamps by adding the 'T' flag to M20 commands
+ #define LONG_FILENAME_HOST_SUPPORT // Get the long filename of a file/folder with 'M33 <dosname>' and list long filenames with 'M20 L'
+ #define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol
+ #define M20_TIMESTAMP_SUPPORT // Include timestamps by adding the 'T' flag to M20 commands
- //#define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu
+ #define SCROLL_LONG_FILENAMES // Scroll long filenames in the SD card menu
//#define SD_ABORT_NO_COOLDOWN // Leave the heaters on after Stop Print (not recommended!)
@@ -1650,7 +1653,7 @@
//#define SD_REPRINT_LAST_SELECTED_FILE // On print completion open the LCD Menu and select the same file
- //#define AUTO_REPORT_SD_STATUS // Auto-report media status with 'M27 S<seconds>'
+ #define AUTO_REPORT_SD_STATUS // Auto-report media status with 'M27 S<seconds>'
/**
* Support for USB thumb drives using an Arduino USB Host Shield or
@@ -1716,14 +1719,14 @@
* Use 'M503 C' to write the settings out to the SD Card as 'mc.zip'.
* See docs/ConfigEmbedding.md for details on how to use 'mc-apply.py'.
*/
- //#define CONFIGURATION_EMBEDDING
+ #define CONFIGURATION_EMBEDDING
// Add an optimized binary file transfer mode, initiated with 'M28 B1'
//#define BINARY_FILE_TRANSFER
#if ENABLED(BINARY_FILE_TRANSFER)
// Include extra facilities (e.g., 'M20 F') supporting firmware upload via BINARY_FILE_TRANSFER
- //#define CUSTOM_FIRMWARE_UPLOAD
+ #define CUSTOM_FIRMWARE_UPLOAD
#endif
/**
@@ -2058,18 +2061,18 @@
*
* Warning: Does not respect endstops!
*/
-//#define BABYSTEPPING
+#define BABYSTEPPING
#if ENABLED(BABYSTEPPING)
//#define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
//#define BABYSTEP_WITHOUT_HOMING
- //#define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
+ #define BABYSTEP_ALWAYS_AVAILABLE // Allow babystepping at all times (not just during movement).
//#define BABYSTEP_XY // Also enable X/Y Babystepping. Not supported on DELTA!
#define BABYSTEP_INVERT_Z false // Change if Z babysteps should go the other way
- //#define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps
- #define BABYSTEP_MULTIPLICATOR_Z 1 // (steps or mm) Steps or millimeter distance for each Z babystep
+ #define BABYSTEP_MILLIMETER_UNITS // Specify BABYSTEP_MULTIPLICATOR_(XY|Z) in mm instead of micro-steps
+ #define BABYSTEP_MULTIPLICATOR_Z 0.005 // (steps or mm) Steps or millimeter distance for each Z babystep
#define BABYSTEP_MULTIPLICATOR_XY 1 // (steps or mm) Steps or millimeter distance for each XY babystep
- //#define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
+ #define DOUBLECLICK_FOR_Z_BABYSTEPPING // Double-click on the Status Screen for Z Babystepping.
#if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency.
@@ -2079,7 +2082,7 @@
#endif
#endif
- //#define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
+ #define BABYSTEP_DISPLAY_TOTAL // Display total babysteps since last G28
//#define BABYSTEP_ZPROBE_OFFSET // Combine M851 Z and Babystepping
#if ENABLED(BABYSTEP_ZPROBE_OFFSET)
@@ -2105,17 +2108,17 @@
*
* See https://marlinfw.org/docs/features/lin_advance.html for full instructions.
*/
-//#define LIN_ADVANCE
+#define LIN_ADVANCE
#if ENABLED(LIN_ADVANCE)
#if ENABLED(DISTINCT_E_FACTORS)
- #define ADVANCE_K { 0.22 } // (mm) Compression length per 1mm/s extruder speed, per extruder
+ #define ADVANCE_K { 0.04 } // (mm) Compression length per 1mm/s extruder speed, per extruder
#else
- #define ADVANCE_K 0.22 // (mm) Compression length applying to all extruders
+ #define ADVANCE_K 0.04 // (mm) Compression length applying to all extruders
#endif
//#define ADVANCE_K_EXTRA // Add a second linear advance constant, configurable with M900 L.
//#define LA_DEBUG // Print debug information to serial during operation. Disable for production use.
- //#define EXPERIMENTAL_SCURVE // Allow S-Curve Acceleration to be used with LA.
- //#define ALLOW_LOW_EJERK // Allow a DEFAULT_EJERK value of <10. Recommended for direct drive hotends.
+ #define EXPERIMENTAL_SCURVE // Allow S-Curve Acceleration to be used with LA.
+ #define ALLOW_LOW_EJERK // Allow a DEFAULT_EJERK value of <10. Recommended for direct drive hotends.
//#define EXPERIMENTAL_I2S_LA // Allow I2S_STEPPER_STREAM to be used with LA. Performance degrades as the LA step rate reaches ~20kHz.
#endif
@@ -2141,12 +2144,12 @@
* Override if the automatically selected points are inadequate.
*/
#if EITHER(AUTO_BED_LEVELING_3POINT, AUTO_BED_LEVELING_UBL)
- //#define PROBE_PT_1_X 15
- //#define PROBE_PT_1_Y 180
- //#define PROBE_PT_2_X 15
- //#define PROBE_PT_2_Y 20
- //#define PROBE_PT_3_X 170
- //#define PROBE_PT_3_Y 20
+ #define PROBE_PT_1_X 0
+ #define PROBE_PT_1_Y 50
+ #define PROBE_PT_2_X 300
+ #define PROBE_PT_2_Y 50
+ #define PROBE_PT_3_X 300
+ #define PROBE_PT_3_Y 300
#endif
/**
@@ -2276,7 +2279,7 @@
//
// G60/G61 Position Save and Return
//
-//#define SAVED_POSITIONS 1 // Each saved position slot costs 12 bytes
+#define SAVED_POSITIONS 4 // Each saved position slot costs 12 bytes
//
// G2/G3 Arc Support
@@ -2293,7 +2296,7 @@
#endif
// G5 Bézier Curve Support with XYZE destination and IJPQ offsets
-//#define BEZIER_CURVE_SUPPORT // Requires ~2666 bytes
+#define BEZIER_CURVE_SUPPORT // Requires ~2666 bytes
#if EITHER(ARC_SUPPORT, BEZIER_CURVE_SUPPORT)
//#define CNC_WORKSPACE_PLANES // Allow G2/G3/G5 to operate in XY, ZX, or YZ planes
@@ -2338,8 +2341,8 @@
*
* Override the default value based on the driver type set in Configuration.h.
*/
-//#define MINIMUM_STEPPER_POST_DIR_DELAY 650
-//#define MINIMUM_STEPPER_PRE_DIR_DELAY 650
+#define MINIMUM_STEPPER_POST_DIR_DELAY 300
+#define MINIMUM_STEPPER_PRE_DIR_DELAY 300
/**
* Minimum stepper driver pulse width (in µs)
@@ -2352,7 +2355,7 @@
*
* Override the default value based on the driver type set in Configuration.h.
*/
-//#define MINIMUM_STEPPER_PULSE 2
+#define MINIMUM_STEPPER_PULSE 2
/**
* Maximum stepping rate (in Hz) the stepper driver allows
@@ -2366,7 +2369,7 @@
*
* Override the default value based on the driver type set in Configuration.h.
*/
-//#define MAXIMUM_STEPPER_RATE 250000
+#define MAXIMUM_STEPPER_RATE 400000
// @section temperature
@@ -2382,18 +2385,18 @@
// The number of linear moves that can be in the planner at once.
// The value of BLOCK_BUFFER_SIZE must be a power of 2 (e.g., 8, 16, 32)
#if BOTH(SDSUPPORT, DIRECT_STEPPING)
- #define BLOCK_BUFFER_SIZE 8
+ #define BLOCK_BUFFER_SIZE 64
#elif ENABLED(SDSUPPORT)
- #define BLOCK_BUFFER_SIZE 16
+ #define BLOCK_BUFFER_SIZE 64
#else
- #define BLOCK_BUFFER_SIZE 16
+ #define BLOCK_BUFFER_SIZE 64
#endif
// @section serial
// The ASCII buffer for serial input
-#define MAX_CMD_SIZE 96
-#define BUFSIZE 4
+#define MAX_CMD_SIZE 128
+#define BUFSIZE 64
// Transmission to Host Buffer Size
// To save 386 bytes of flash (and TX_BUFFER_SIZE+3 bytes of RAM) set to 0.
@@ -2402,13 +2405,13 @@
// For debug-echo: 128 bytes for the optimal speed.
// Other output doesn't need to be that speedy.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256]
-#define TX_BUFFER_SIZE 0
+#define TX_BUFFER_SIZE 256
// Host Receive Buffer Size
// Without XON/XOFF flow control (see SERIAL_XON_XOFF below) 32 bytes should be enough.
// To use flow control, set this buffer size to at least 1024 bytes.
// :[0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048]
-//#define RX_BUFFER_SIZE 1024
+#define RX_BUFFER_SIZE 2048
#if RX_BUFFER_SIZE >= 1024
// Enable to have the controller send XON/XOFF control characters to
@@ -2440,7 +2443,7 @@
* Currently handles M108, M112, M410, M876
* NOTE: Not yet implemented for all platforms.
*/
-//#define EMERGENCY_PARSER
+#define EMERGENCY_PARSER
/**
* Realtime Reporting (requires EMERGENCY_PARSER)
@@ -2457,9 +2460,9 @@
* - During Hold all Emergency Parser commands are available, as usual.
* - Enable NANODLP_Z_SYNC and NANODLP_ALL_AXIS for move command end-state reports.
*/
-//#define REALTIME_REPORTING_COMMANDS
+#define REALTIME_REPORTING_COMMANDS
#if ENABLED(REALTIME_REPORTING_COMMANDS)
- //#define FULL_REPORT_TO_HOST_FEATURE // Auto-report the machine status like Grbl CNC
+ #define FULL_REPORT_TO_HOST_FEATURE // Auto-report the machine status like Grbl CNC
#endif
// Bad Serial-connections can miss a received command by sending an 'ok'
@@ -2469,7 +2472,7 @@
//#define NO_TIMEOUTS 1000 // Milliseconds
// Some clients will have this feature soon. This could make the NO_TIMEOUTS unnecessary.
-//#define ADVANCED_OK
+#define ADVANCED_OK
// Printrun may have trouble receiving long strings all at once.
// This option inserts short delays between lines of serial output.
@@ -2512,16 +2515,16 @@
*
* Note that M207 / M208 / M209 settings are saved to EEPROM.
*/
-//#define FWRETRACT
+#define FWRETRACT
#if ENABLED(FWRETRACT)
#define FWRETRACT_AUTORETRACT // Override slicer retractions
#if ENABLED(FWRETRACT_AUTORETRACT)
- #define MIN_AUTORETRACT 0.1 // (mm) Don't convert E moves under this length
+ #define MIN_AUTORETRACT 0.5 // (mm) Don't convert E moves under this length
#define MAX_AUTORETRACT 10.0 // (mm) Don't convert E moves over this length
#endif
- #define RETRACT_LENGTH 3 // (mm) Default retract length (positive value)
+ #define RETRACT_LENGTH 0.8 // (mm) Default retract length (positive value)
#define RETRACT_LENGTH_SWAP 13 // (mm) Default swap retract length (positive value)
- #define RETRACT_FEEDRATE 45 // (mm/s) Default feedrate for retracting
+ #define RETRACT_FEEDRATE 40 // (mm/s) Default feedrate for retracting
#define RETRACT_ZRAISE 0 // (mm) Default retract Z-raise
#define RETRACT_RECOVER_LENGTH 0 // (mm) Default additional recover length (added to retract length on recover)
#define RETRACT_RECOVER_LENGTH_SWAP 0 // (mm) Default additional swap recover length (added to retract length on recover from toolchange)
@@ -3441,7 +3444,7 @@
* CUTTER_MODE_CONTINUOUS. The option allows M3 laser power to be commited without waiting
* for a planner syncronization
*/
- //#define LASER_POWER_SYNC
+ #define LASER_POWER_SYNC
/**
* Scale the laser's power in proportion to the movement rate.
@@ -3450,7 +3453,7 @@
* - Ramps the power up every N steps to approximate the speed trapezoid.
* - Due to the limited power resolution this is only approximate.
*/
- //#define LASER_POWER_TRAP
+ #define LASER_POWER_TRAP
//
// Laser I2C Ammeter (High precision INA226 low/high side module)
@@ -3599,20 +3602,20 @@
*/
#define AUTO_REPORT_TEMPERATURES
#if ENABLED(AUTO_REPORT_TEMPERATURES) && TEMP_SENSOR_REDUNDANT
- //#define AUTO_REPORT_REDUNDANT // Include the "R" sensor in the auto-report
+ #define AUTO_REPORT_REDUNDANT // Include the "R" sensor in the auto-report
#endif
/**
* Auto-report position with M154 S<seconds>
*/
-//#define AUTO_REPORT_POSITION
+#define AUTO_REPORT_POSITION
/**
* Include capabilities in M115 output
*/
#define EXTENDED_CAPABILITIES_REPORT
#if ENABLED(EXTENDED_CAPABILITIES_REPORT)
- //#define M115_GEOMETRY_REPORT
+ #define M115_GEOMETRY_REPORT
#endif
// @section security
@@ -3671,14 +3674,14 @@
#define FASTER_GCODE_PARSER
#if ENABLED(FASTER_GCODE_PARSER)
- //#define GCODE_QUOTED_STRINGS // Support for quoted string parameters
+ #define GCODE_QUOTED_STRINGS // Support for quoted string parameters
#endif
// Support for MeatPack G-code compression (https://github.com/scottmudge/OctoPrint-MeatPack)
-//#define MEATPACK_ON_SERIAL_PORT_1
+#define MEATPACK_ON_SERIAL_PORT_1
//#define MEATPACK_ON_SERIAL_PORT_2
-//#define GCODE_CASE_INSENSITIVE // Accept G-code sent to the firmware in lowercase
+#define GCODE_CASE_INSENSITIVE // Accept G-code sent to the firmware in lowercase
//#define REPETIER_GCODE_M360 // Add commands originally from Repetier FW
@@ -3697,8 +3700,8 @@
* Note that G0 feedrates should be used with care for 3D printing (if used at all).
* High feedrates may cause ringing and harm print quality.
*/
-//#define PAREN_COMMENTS // Support for parentheses-delimited comments
-//#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
+#define PAREN_COMMENTS // Support for parentheses-delimited comments
+#define GCODE_MOTION_MODES // Remember the motion mode (G0 G1 G2 G3 G5 G38.X) and apply for X Y Z E F, etc.
// Enable and set a (default) feedrate for all G0 moves
//#define G0_FEEDRATE 3000 // (mm/min)
@@ -3721,10 +3724,10 @@
* Add G-codes M810-M819 to define and run G-code macros.
* Macros are not saved to EEPROM.
*/
-//#define GCODE_MACROS
+#define GCODE_MACROS
#if ENABLED(GCODE_MACROS)
- #define GCODE_MACROS_SLOTS 5 // Up to 10 may be used
- #define GCODE_MACROS_SLOT_SIZE 50 // Maximum length of a single macro
+ #define GCODE_MACROS_SLOTS 10 // Up to 10 may be used
+ #define GCODE_MACROS_SLOT_SIZE 250 // Maximum length of a single macro
#endif
/**
@@ -3845,15 +3848,15 @@
* Host Prompt Support enables Marlin to use the host for user prompts so
* filament runout and other processes can be managed from the host side.
*/
-//#define HOST_ACTION_COMMANDS
+#define HOST_ACTION_COMMANDS
#if ENABLED(HOST_ACTION_COMMANDS)
- //#define HOST_PAUSE_M76 // Tell the host to pause in response to M76
- //#define HOST_PROMPT_SUPPORT // Initiate host prompts to get user feedback
+ #define HOST_PAUSE_M76 // Tell the host to pause in response to M76
+ #define HOST_PROMPT_SUPPORT // Initiate host prompts to get user feedback
#if ENABLED(HOST_PROMPT_SUPPORT)
- //#define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications
+ #define HOST_STATUS_NOTIFICATIONS // Send some status messages to the host as notifications
#endif
- //#define HOST_START_MENU_ITEM // Add a menu item that tells the host to start
- //#define HOST_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down
+ #define HOST_START_MENU_ITEM // Add a menu item that tells the host to start
+ #define HOST_SHUTDOWN_MENU_ITEM // Add a menu item that tells the host to shut down
#endif
// @section extras
@@ -3863,7 +3866,7 @@
*
* Implement M486 to allow Marlin to skip objects
*/
-//#define CANCEL_OBJECTS
+#define CANCEL_OBJECTS
#if ENABLED(CANCEL_OBJECTS)
#define CANCEL_OBJECTS_REPORTING // Emit the current object as a status message
#endif
@@ -4218,7 +4221,7 @@
//
// M43 - display pin status, toggle pins, watch pins, watch endstops & toggle LED, test servo probe
//
-//#define PINS_DEBUGGING
+#define PINS_DEBUGGING
// Enable Tests that will run at startup and produce a report
//#define MARLIN_TEST_BUILD
@@ -4244,7 +4247,7 @@
/**
* Software Reset options
*/
-//#define SOFT_RESET_VIA_SERIAL // 'KILL' and '^X' commands will soft-reset the controller
+#define SOFT_RESET_VIA_SERIAL // 'KILL' and '^X' commands will soft-reset the controller
//#define SOFT_RESET_ON_KILL // Use a digital button to soft-reset the controller after KILL
// Report uncleaned reset reason from register r2 instead of MCUSR. Supported by Optiboot on AVR.
diff -ruN Marlin-2.1.x/Marlin/Configuration.h Marlin-2.1.x.mod/Marlin/Configuration.h
--- Marlin-2.1.x/Marlin/Configuration.h 2023-07-02 03:19:17.000000000 +0300
+++ Marlin-2.1.x.mod/Marlin/Configuration.h 2023-09-12 14:51:29.934310135 +0300
@@ -60,8 +60,9 @@
// @section info
// Author info of this build printed to the host during boot and M115
-#define STRING_CONFIG_H_AUTHOR "(none, default config)" // Who made the changes.
-//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
+#define STRING_CONFIG_H_AUTHOR "('V. Jurka', 'Monstras v2')" // Who made the changes.
+#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
+//#define DIAMOND //miksuojantis ekstruderis
/**
* *** VENDORS PLEASE READ ***
@@ -78,16 +79,16 @@
#define SHOW_BOOTSCREEN
// Show the bitmap in Marlin/_Bootscreen.h on startup.
-//#define SHOW_CUSTOM_BOOTSCREEN
+#define SHOW_CUSTOM_BOOTSCREEN
// Show the bitmap in Marlin/_Statusscreen.h on the status screen.
-//#define CUSTOM_STATUS_SCREEN_IMAGE
+#define CUSTOM_STATUS_SCREEN_IMAGE
// @section machine
// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
- #define MOTHERBOARD BOARD_RAMPS_14_EFB
+ #define MOTHERBOARD BOARD_RAMPS_FD_V2
#endif
/**
@@ -98,7 +99,7 @@
*
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/
-#define SERIAL_PORT 0
+#define SERIAL_PORT -1
/**
* Serial Port Baud Rate
@@ -111,9 +112,9 @@
*
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000]
*/
-#define BAUDRATE 250000
+#define BAUDRATE 115200
-//#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
+#define BAUD_RATE_GCODE // Enable G-code M575 to set the baud rate
/**
* Select a secondary serial port on the board to use for communication with the host.
@@ -135,11 +136,11 @@
//#define BLUETOOTH
// Name displayed in the LCD "Ready" message and Info menu
-//#define CUSTOM_MACHINE_NAME "3D Printer"
+#define CUSTOM_MACHINE_NAME "Monstras v2"
// Printer's unique ID, used by some programs to differentiate between machines.
// Choose your own or use a service like https://www.uuidgenerator.net/version4
-//#define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
+#define MACHINE_UUID "af70fb4f-2c91-49bf-a5d7-e550eeaa5fce"
// @section stepper drivers
@@ -173,8 +174,8 @@
//#define V_DRIVER_TYPE A4988
//#define W_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
-//#define E1_DRIVER_TYPE A4988
-//#define E2_DRIVER_TYPE A4988
+#define E1_DRIVER_TYPE A4988
+#define E2_DRIVER_TYPE A4988
//#define E3_DRIVER_TYPE A4988
//#define E4_DRIVER_TYPE A4988
//#define E5_DRIVER_TYPE A4988
@@ -356,15 +357,18 @@
* - This implementation supports up to two mixing extruders.
* - Enable DIRECT_MIXING_IN_G1 for M165 and mixing in G1 (from Pia Taubert's reference implementation).
*/
-//#define MIXING_EXTRUDER
+#ifdef DIAMOND
+ #define MIXING_EXTRUDER
+#endif
+
#if ENABLED(MIXING_EXTRUDER)
- #define MIXING_STEPPERS 2 // Number of steppers in your mixing extruder
+ #define MIXING_STEPPERS 3 // Number of steppers in your mixing extruder
#define MIXING_VIRTUAL_TOOLS 16 // Use the Virtual Tool method with M163 and M164
- //#define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands
- //#define GRADIENT_MIX // Support for gradient mixing with M166 and LCD
- //#define MIXING_PRESETS // Assign 8 default V-tool presets for 2 or 3 MIXING_STEPPERS
+ #define DIRECT_MIXING_IN_G1 // Allow ABCDHI mix factors in G1 movement commands
+ #define GRADIENT_MIX // Support for gradient mixing with M166 and LCD
+ #define MIXING_PRESETS // Assign 8 default V-tool presets for 2 or 3 MIXING_STEPPERS
#if ENABLED(GRADIENT_MIX)
- //#define GRADIENT_VTOOL // Add M166 T to use a V-tool index as a Gradient alias
+ #define GRADIENT_VTOOL // Add M166 T to use a V-tool index as a Gradient alias
#endif
#endif
@@ -536,7 +540,7 @@
* 999 : Dummy Table that ALWAYS reads 100°C or the temperature defined below.
*
*/
-#define TEMP_SENSOR_0 1
+#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 0
#define TEMP_SENSOR_2 0
#define TEMP_SENSOR_3 0
@@ -544,9 +548,9 @@
#define TEMP_SENSOR_5 0
#define TEMP_SENSOR_6 0
#define TEMP_SENSOR_7 0
-#define TEMP_SENSOR_BED 0
+#define TEMP_SENSOR_BED 1
#define TEMP_SENSOR_PROBE 0
-#define TEMP_SENSOR_CHAMBER 0
+#define TEMP_SENSOR_CHAMBER 1
#define TEMP_SENSOR_COOLER 0
#define TEMP_SENSOR_BOARD 0
#define TEMP_SENSOR_REDUNDANT 0
@@ -584,7 +588,7 @@
#if TEMP_SENSOR_CHAMBER
#define TEMP_CHAMBER_RESIDENCY_TIME 10 // (seconds) Time to wait for chamber to "settle" in M191
#define TEMP_CHAMBER_WINDOW 1 // (°C) Temperature proximity for the "temperature reached" timer
- #define TEMP_CHAMBER_HYSTERESIS 3 // (°C) Temperature proximity considered "close enough" to the target
+ #define TEMP_CHAMBER_HYSTERESIS 4 // (°C) Temperature proximity considered "close enough" to the target
#endif
/**
@@ -619,7 +623,7 @@
// Above this temperature the heater will be switched off.
// This can protect components from overheating, but NOT from shorts and failures.
// (Use MINTEMP for thermistor short/failure protection.)
-#define HEATER_0_MAXTEMP 275
+#define HEATER_0_MAXTEMP 305
#define HEATER_1_MAXTEMP 275
#define HEATER_2_MAXTEMP 275
#define HEATER_3_MAXTEMP 275
@@ -628,7 +632,7 @@
#define HEATER_6_MAXTEMP 275
#define HEATER_7_MAXTEMP 275
#define BED_MAXTEMP 150
-#define CHAMBER_MAXTEMP 60
+#define CHAMBER_MAXTEMP 70
/**
* Thermal Overshoot
@@ -636,7 +640,7 @@
* (especially before PID tuning). Setting the target temperature too close to MAXTEMP guarantees
* a MAXTEMP shutdown! Use these values to forbid temperatures being set too close to MAXTEMP.
*/
-#define HOTEND_OVERSHOOT 15 // (°C) Forbid temperatures over MAXTEMP - OVERSHOOT
+#define HOTEND_OVERSHOOT 5 // (°C) Forbid temperatures over MAXTEMP - OVERSHOOT
#define BED_OVERSHOOT 10 // (°C) Forbid temperatures over MAXTEMP - OVERSHOOT
#define COOLER_OVERSHOOT 2 // (°C) Forbid temperatures closer than OVERSHOOT
@@ -667,9 +671,9 @@
#define DEFAULT_Ki_LIST { 1.08, 1.08 }
#define DEFAULT_Kd_LIST { 114.00, 114.00 }
#else
- #define DEFAULT_Kp 22.20
- #define DEFAULT_Ki 1.08
- #define DEFAULT_Kd 114.00
+ #define DEFAULT_Kp 41.35
+ #define DEFAULT_Ki 3.95
+ #define DEFAULT_Kd 108.34
#endif
#endif
@@ -734,7 +738,7 @@
* the issues involved, don't use bed PID until someone else verifies that your hardware works.
* @section bed temp
*/
-//#define PIDTEMPBED
+#define PIDTEMPBED
//#define BED_LIMIT_SWITCHING
@@ -748,13 +752,14 @@
#if ENABLED(PIDTEMPBED)
//#define MIN_BED_POWER 0
- //#define PID_BED_DEBUG // Print Bed PID debug data to the serial port.
+ #define PID_BED_DEBUG // Print Bed PID debug data to the serial port.
// 120V 250W silicone heater into 4mm borosilicate (MendelMax 1.5+)
// from FOPDT model - kp=.39 Tp=405 Tdead=66, Tc set to 79.2, aggressive factor of .15 (vs .1, 1, 10)
- #define DEFAULT_bedKp 10.00
- #define DEFAULT_bedKi .023
- #define DEFAULT_bedKd 305.4
+
+ #define DEFAULT_bedKp 47.13
+ #define DEFAULT_bedKi 8.39
+ #define DEFAULT_bedKd 176.51
// FIND YOUR OWN: "M303 E-1 C8 S90" to run autotune on the bed at 90 degreesC for 8 cycles.
#endif // PIDTEMPBED
@@ -791,7 +796,7 @@
#if ENABLED(PIDTEMPCHAMBER)
#define MIN_CHAMBER_POWER 0
- //#define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port.
+ #define PID_CHAMBER_DEBUG // Print Chamber PID debug data to the serial port.
// Lasko "MyHeat Personal Heater" (200w) modified with a Fotek SSR-10DA to control only the heating element
// and placed inside the small Creality printer enclosure tent.
@@ -810,8 +815,8 @@
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature
// is more than PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
- //#define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
- //#define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
+ #define PID_EDIT_MENU // Add PID editing to the "Advanced Settings" menu. (~700 bytes of flash)
+ #define PID_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
#endif
// @section safety
@@ -866,7 +871,7 @@
//#define COREXY
//#define COREXZ
//#define COREYZ
-//#define COREYX
+#define COREYX
//#define COREZX
//#define COREZY
//#define MARKFORGED_XY // MarkForged. See https://reprap.org/forum/read.php?152,504042
@@ -1052,7 +1057,7 @@
//#define USE_WMAX_PLUG
// Enable pullup for all endstops to prevent a floating state
-#define ENDSTOPPULLUPS
+//#define ENDSTOPPULLUPS
#if DISABLED(ENDSTOPPULLUPS)
// Disable ENDSTOPPULLUPS to set pullups individually
//#define ENDSTOPPULLUP_XMIN
@@ -1102,9 +1107,9 @@
#endif
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
-#define X_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
-#define Y_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
-#define Z_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
+#define X_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
+#define Y_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
+#define Z_MIN_ENDSTOP_INVERTING true // Set to true to invert the logic of the endstop.
#define I_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define J_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
#define K_MIN_ENDSTOP_INVERTING false // Set to true to invert the logic of the endstop.
@@ -1124,7 +1129,7 @@
// Enable this feature if all enabled endstop pins are interrupt-capable.
// This will remove the need to poll the interrupt pins, saving many CPU cycles.
-//#define ENDSTOP_INTERRUPTS_FEATURE
+#define ENDSTOP_INTERRUPTS_FEATURE
/**
* Endstop Noise Threshold
@@ -1168,18 +1173,18 @@
* Override with M92
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/
-#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 500 }
+#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 1600, 415}
/**
* Default Max Feed Rate (linear=mm/s, rotational=°/s)
* Override with M203
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/
-#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 }
+#define DEFAULT_MAX_FEEDRATE { 160, 160, 15, 50 }
-//#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
+#define LIMITED_MAX_FR_EDITING // Limit edit via M203 or LCD to DEFAULT_MAX_FEEDRATE * 2
#if ENABLED(LIMITED_MAX_FR_EDITING)
- #define MAX_FEEDRATE_EDIT_VALUES { 600, 600, 10, 50 } // ...or, set your own edit limits
+ #define MAX_FEEDRATE_EDIT_VALUES { 400, 400, 20, 70 } // ...or, set your own edit limits
#endif
/**
@@ -1188,9 +1193,9 @@
* Override with M201
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/
-#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 }
+#define DEFAULT_MAX_ACCELERATION { 800, 800, 100, 10000 }
-//#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
+#define LIMITED_MAX_ACCEL_EDITING // Limit edit via M201 or LCD to DEFAULT_MAX_ACCELERATION * 2
#if ENABLED(LIMITED_MAX_ACCEL_EDITING)
#define MAX_ACCEL_EDIT_VALUES { 6000, 6000, 200, 20000 } // ...or, set your own edit limits
#endif
@@ -1203,9 +1208,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
-#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
-#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
-#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves
+#define DEFAULT_ACCELERATION 1000 // X, Y, Z and E acceleration for printing moves
+#define DEFAULT_RETRACT_ACCELERATION 2000 // E acceleration for retracts
+#define DEFAULT_TRAVEL_ACCELERATION 1000 // X, Y, Z acceleration for travel (non printing) moves
/**
* Default Jerk limits (mm/s)
@@ -1215,10 +1220,10 @@
* When changing speed and direction, if the difference is less than the
* value set here, it may happen instantaneously.
*/
-//#define CLASSIC_JERK
+#define CLASSIC_JERK
#if ENABLED(CLASSIC_JERK)
- #define DEFAULT_XJERK 10.0
- #define DEFAULT_YJERK 10.0
+ #define DEFAULT_XJERK 5.0
+ #define DEFAULT_YJERK 5.0
#define DEFAULT_ZJERK 0.3
//#define DEFAULT_IJERK 0.3
//#define DEFAULT_JJERK 0.3
@@ -1229,7 +1234,7 @@
//#define TRAVEL_EXTRA_XYJERK 0.0 // Additional jerk allowance for all travel moves
- //#define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
+ #define LIMITED_JERK_EDITING // Limit edit via M205 or LCD to DEFAULT_aJERK * 2
#if ENABLED(LIMITED_JERK_EDITING)
#define MAX_JERK_EDIT_VALUES { 20, 20, 0.6, 10 } // ...or, set your own edit limits
#endif
@@ -1245,7 +1250,7 @@
* https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/
#if DISABLED(CLASSIC_JERK)
- #define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge
+ #define JUNCTION_DEVIATION_MM 0.02 // (mm) Distance from real junction edge
#define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
// for small segments (< 1mm) with large junction angles (> 135°).
#endif
@@ -1274,7 +1279,7 @@
* The probe replaces the Z-MIN endstop and is used for Z homing.
* (Automatically enables USE_PROBE_FOR_Z_HOMING.)
*/
-#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
+//#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
// Force the use of the probe for Z-axis homing
//#define USE_PROBE_FOR_Z_HOMING
@@ -1320,7 +1325,7 @@
* Use the nozzle as the probe, as with a conductive
* nozzle system or a piezo-electric smart effector.
*/
-//#define NOZZLE_AS_PROBE
+#define NOZZLE_AS_PROBE
/**
* Z Servo Probe, such as an endstop switch on a rotating arm.
@@ -1483,20 +1488,20 @@
* | [-] |
* O-- FRONT --+
*/
-#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 }
+#define NOZZLE_TO_PROBE_OFFSET { 0, 0, 0 }
// Most probes should stay away from the edges of the bed, but
// with NOZZLE_AS_PROBE this can be negative for a wider probing area.
-#define PROBING_MARGIN 10
+#define PROBING_MARGIN -15
// X and Y axis travel speed (mm/min) between probes
-#define XY_PROBE_FEEDRATE (133*60)
+#define XY_PROBE_FEEDRATE (150*60)
// Feedrate (mm/min) for the first approach when double-probing (MULTIPLE_PROBING == 2)
-#define Z_PROBE_FEEDRATE_FAST (4*60)
+#define Z_PROBE_FEEDRATE_FAST (40*60)
// Feedrate (mm/min) for the "accurate" probe of each point
-#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 2)
+#define Z_PROBE_FEEDRATE_SLOW (Z_PROBE_FEEDRATE_FAST / 1)
/**
* Probe Activation Switch
@@ -1543,8 +1548,8 @@
* A total of 2 does fast/slow probes with a weighted average.
* A total of 3 or more adds more slow probes, taking the average.
*/
-//#define MULTIPLE_PROBING 2
-//#define EXTRA_PROBING 1
+#define MULTIPLE_PROBING 2
+#define EXTRA_PROBING 1
/**
* Z probes require clearance when deploying, stowing, and moving between
@@ -1561,11 +1566,11 @@
* But: `M851 Z+1` with a CLEARANCE of 2 => 2mm from bed to nozzle.
*/
#define Z_CLEARANCE_DEPLOY_PROBE 10 // Z Clearance for Deploy/Stow
-#define Z_CLEARANCE_BETWEEN_PROBES 5 // Z Clearance between probe points
-#define Z_CLEARANCE_MULTI_PROBE 5 // Z Clearance between multiple probes
+#define Z_CLEARANCE_BETWEEN_PROBES 7 // Z Clearance between probe points
+#define Z_CLEARANCE_MULTI_PROBE 7 // Z Clearance between multiple probes
//#define Z_AFTER_PROBING 5 // Z position after probing is done
-#define Z_PROBE_LOW_POINT -2 // Farthest distance below the trigger-point to go before stopping
+#define Z_PROBE_LOW_POINT -15 // Farthest distance below the trigger-point to go before stopping
// For M851 give a range for adjusting the Z probe offset
#define Z_PROBE_OFFSET_RANGE_MIN -20
@@ -1587,15 +1592,15 @@
* These options are most useful for the BLTouch probe, but may also improve
* readings with inductive probes and piezo sensors.
*/
-//#define PROBING_HEATERS_OFF // Turn heaters off when probing
+#define PROBING_HEATERS_OFF // Turn heaters off when probing
#if ENABLED(PROBING_HEATERS_OFF)
//#define WAIT_FOR_BED_HEATER // Wait for bed to heat back up between probes (to improve accuracy)
//#define WAIT_FOR_HOTEND // Wait for hotend to heat back up between probes (to improve accuracy & prevent cold extrude)
#endif
-//#define PROBING_FANS_OFF // Turn fans off when probing
-//#define PROBING_ESTEPPERS_OFF // Turn all extruder steppers off when probing
-//#define PROBING_STEPPERS_OFF // Turn all steppers off (unless needed to hold position) when probing (including extruders)
-//#define DELAY_BEFORE_PROBING 200 // (ms) To prevent vibrations from triggering piezo sensors
+#define PROBING_FANS_OFF // Turn fans off when probing
+#define PROBING_ESTEPPERS_OFF // Turn all extruder steppers off when probing
+#define PROBING_STEPPERS_OFF // Turn all steppers off (unless needed to hold position) when probing (including extruders)
+#define DELAY_BEFORE_PROBING 1500 // (ms) To prevent vibrations from triggering piezo sensors
// Require minimum nozzle and/or bed temperature for probing
//#define PREHEAT_BEFORE_PROBING
@@ -1635,13 +1640,15 @@
// @section extruder
#define DISABLE_E false // Disable the extruder when not stepping
-#define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled
+#ifndef DIAMOND
+ #define DISABLE_INACTIVE_EXTRUDER // Keep only the active extruder enabled
+#endif
// @section motion
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
-#define INVERT_Y_DIR true
+#define INVERT_Y_DIR false
#define INVERT_Z_DIR false
//#define INVERT_I_DIR false
//#define INVERT_J_DIR false
@@ -1694,8 +1701,8 @@
// @section geometry
// The size of the printable area
-#define X_BED_SIZE 200
-#define Y_BED_SIZE 200
+#define X_BED_SIZE 310
+#define Y_BED_SIZE 320
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
#define X_MIN_POS 0
@@ -1703,7 +1710,7 @@
#define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE
-#define Z_MAX_POS 200
+#define Z_MAX_POS 320
//#define I_MIN_POS 0
//#define I_MAX_POS 50
//#define J_MIN_POS 0
@@ -1731,7 +1738,7 @@
#if ENABLED(MIN_SOFTWARE_ENDSTOPS)
#define MIN_SOFTWARE_ENDSTOP_X
#define MIN_SOFTWARE_ENDSTOP_Y
- #define MIN_SOFTWARE_ENDSTOP_Z
+ //#define MIN_SOFTWARE_ENDSTOP_Z
#define MIN_SOFTWARE_ENDSTOP_I
#define MIN_SOFTWARE_ENDSTOP_J
#define MIN_SOFTWARE_ENDSTOP_K
@@ -1755,7 +1762,7 @@
#endif
#if EITHER(MIN_SOFTWARE_ENDSTOPS, MAX_SOFTWARE_ENDSTOPS)
- //#define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
+ #define SOFT_ENDSTOPS_MENU_ITEM // Enable/Disable software endstops from the LCD
#endif
/**
@@ -1871,7 +1878,7 @@
* leveling in steps so you can manually adjust the Z height at each grid-point.
* With an LCD controller the process is guided step-by-step.
*/
-//#define AUTO_BED_LEVELING_3POINT
+#define AUTO_BED_LEVELING_3POINT
//#define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR
//#define AUTO_BED_LEVELING_UBL
@@ -1882,7 +1889,7 @@
* these options to restore the prior leveling state or to always enable
* leveling immediately after G28.
*/
-//#define RESTORE_LEVELING_AFTER_G28
+#define RESTORE_LEVELING_AFTER_G28
//#define ENABLE_LEVELING_AFTER_G28
/**
@@ -1908,7 +1915,7 @@
* Turn on with the command 'M111 S32'.
* NOTE: Requires a lot of PROGMEM!
*/
-//#define DEBUG_LEVELING_FEATURE
+#define DEBUG_LEVELING_FEATURE
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_UBL, PROBE_MANUALLY)
// Set a height for the start of manual adjustment
@@ -2017,7 +2024,7 @@
* Add a bed leveling sub-menu for ABL or MBL.
* Include a guided procedure if manual probing is enabled.
*/
-//#define LCD_BED_LEVELING
+#define LCD_BED_LEVELING
#if ENABLED(LCD_BED_LEVELING)
#define MESH_EDIT_Z_STEP 0.025 // (mm) Step size while manually probing Z axis.
@@ -2098,7 +2105,7 @@
#endif
// Homing speeds (linear=mm/min, rotational=°/min)
-#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) }
+#define HOMING_FEEDRATE_MM_M { (100*60), (100*60), (32*60) }
// Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS
@@ -2176,13 +2183,13 @@
* M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
* M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.)
*/
-//#define EEPROM_SETTINGS // Persistent storage with M500 and M501
+#define EEPROM_SETTINGS // Persistent storage with M500 and M501
//#define DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save PROGMEM.
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
#if ENABLED(EEPROM_SETTINGS)
- //#define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
- //#define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build.
+ #define EEPROM_AUTO_INIT // Init EEPROM automatically on any errors.
+ #define EEPROM_INIT_NOW // Init EEPROM on first boot after a new build.
#endif
// @section host
@@ -2368,7 +2375,7 @@
*
* View the current statistics with M78.
*/
-//#define PRINTCOUNTER
+#define PRINTCOUNTER
#if ENABLED(PRINTCOUNTER)
#define PRINTCOUNTER_SAVE_INTERVAL 60 // (minutes) EEPROM save interval during print. A value of 0 will save stats at end of print.
#endif
@@ -2461,14 +2468,14 @@
* SD Card support is disabled by default. If your controller has an SD slot,
* you must uncomment the following option or it won't work.
*/
-//#define SDSUPPORT
+#define SDSUPPORT
/**
* SD CARD: ENABLE CRC
*
* Use CRC checks and retries on the SD communication.
*/
-//#define SD_CHECK_AND_RETRY
+#define SD_CHECK_AND_RETRY
/**
* LCD Menu Items
@@ -2485,13 +2492,13 @@
// This option overrides the default number of encoder pulses needed to
// produce one step. Should be increased for high-resolution encoders.
//
-//#define ENCODER_PULSES_PER_STEP 4
+#define ENCODER_PULSES_PER_STEP 3
//
// Use this option to override the number of step signals required to
// move between next/prev menu items.
//
-//#define ENCODER_STEPS_PER_MENU_ITEM 1
+#define ENCODER_STEPS_PER_MENU_ITEM 2
/**
* Encoder Direction Options
@@ -2550,7 +2557,7 @@
// If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency.
//
-//#define SPEAKER
+#define SPEAKER
//
// The duration and frequency for the UI feedback sound.
@@ -2559,8 +2566,8 @@
// Note: Test audio output with the G-Code:
// M300 S<frequency Hz> P<duration ms>
//
-//#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
-//#define LCD_FEEDBACK_FREQUENCY_HZ 5000
+#define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
+#define LCD_FEEDBACK_FREQUENCY_HZ 5000
//=============================================================================
//======================== LCD / Controller Selection =========================
@@ -2743,7 +2750,7 @@
// ReprapWorld Graphical LCD
// https://reprapworld.com/electronics/3d-printer-modules/autonomous-printing/graphical-lcd-screen-v1-0/
//
-//#define REPRAPWORLD_GRAPHICAL_LCD
+#define REPRAPWORLD_GRAPHICAL_LCD
//
// Activate one of these if you have a Panucatt Devices
@@ -3350,7 +3357,7 @@
// (ms) Delay before the next move will start, to give the servo time to reach its target angle.
// 300ms is a good value but you can try less delay.
// If the servo can't reach the requested position, increase it.
-#define SERVO_DELAY { 300 }
+#define SERVO_DELAY { 500 }
// Only power servos during movement, otherwise leave off to prevent jitter
//#define DEACTIVATE_SERVOS_AFTER_MOVE
diff -ruN Marlin-2.1.x/Marlin/src/pins/sam/pins_RAMPS_FD_V2.h Marlin-2.1.x.mod/Marlin/src/pins/sam/pins_RAMPS_FD_V2.h
--- Marlin-2.1.x/Marlin/src/pins/sam/pins_RAMPS_FD_V2.h 2023-07-02 03:19:17.000000000 +0300
+++ Marlin-2.1.x.mod/Marlin/src/pins/sam/pins_RAMPS_FD_V2.h 2023-09-12 14:07:16.339307361 +0300
@@ -50,3 +50,33 @@
#ifndef FILWIDTH_PIN
#define FILWIDTH_PIN 5 // Analog Input on AUX2
#endif
+
+#undef FAN_PIN
+#undef FAN1_PIN
+#undef FAN2_PIN
+#undef HEATER_0_PIN
+#undef HEATER_1_PIN
+#undef HEATER_2_PIN
+#undef HEATER_BED_PIN
+#undef TEMP_0_PIN
+#undef TEMP_1_PIN
+#undef TEMP_2_PIN
+#undef TEMP_BED_PIN
+#undef TEMP_CHAMBER_PIN
+
+#undef TEMP_CHAMBER_PIN
+#undef Z_MIN_PROBE_PIN
+#undef HEATER_CHAMBER_PIN
+#undef CONTROLLER_FAN_PIN
+#undef CASE_LIGHT_PIN
+
+#define FAN_PIN 2
+#define HEATER_0_PIN 8
+#define HEATER_BED_PIN 9
+#define TEMP_0_PIN 0 // Analog Input
+#define TEMP_BED_PIN 1 // Analog Input
+#define TEMP_CHAMBER_PIN 2 // Analog Input
+#define Z_MIN_PROBE_PIN 34 // Pin 32 is the RAMPS default
+#define HEATER_CHAMBER_PIN 6
+#define CONTROLLER_FAN_PIN 10
+#define CASE_LIGHT_PIN 11
diff -ruN Marlin-2.1.x/Marlin/_Statusscreen.h Marlin-2.1.x.mod/Marlin/_Statusscreen.h
--- Marlin-2.1.x/Marlin/_Statusscreen.h 1970-01-01 03:00:00.000000000 +0300
+++ Marlin-2.1.x.mod/Marlin/_Statusscreen.h 2020-01-14 09:39:11.000000000 +0200
@@ -0,0 +1,61 @@
+#pragma once
+
+/**
+ * Custom Status Screen bitmap
+ *
+ * Place this file in the root with your configuration files
+ * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
+ *
+ * Use the Marlin Bitmap Converter to make your own:
+ * http://marlinfw.org/tools/u8glib/converter.html
+ */
+
+//
+// Status Screen Logo bitmap
+//
+#define STATUS_LOGO_Y 0
+#define STATUS_LOGO_WIDTH 24
+
+
+const unsigned char status_logo_bmp[] PROGMEM = {
+ B00000000,B00000000,B00000000,
+ B00011000,B01000000,B00000000,
+ B00001111,B00100000,B00000000,
+ B00000111,B11110000,B00000000,
+ B00001111,B11111000,B00000000,
+ B00001111,B11111100,B00110000,
+ B01111111,B11111110,B01001000,
+ B10011111,B11111110,B11010100,
+ B10010111,B11001111,B00100110,
+ B10100001,B00000111,B00110010,
+ B01101100,B01100111,B00100001,
+ B01011110,B11110111,B01011001,
+ B01000000,B00000111,B11000101,
+ B01110000,B01111111,B11000101,
+ B01111000,B00111111,B11000101,
+ B01000000,B00011111,B01001001,
+ B10000000,B00011111,B00110010,
+ B11110000,B00111111,B00000010,
+ B01000000,B00100000,B10001100,
+ B01000000,B00100000,B01110000,
+ B00100000,B01000000,B00000000,
+ B00100000,B01000000,B00000000,
+ B00011001,B10000000,B00000000,
+ B00000110,B00000000,B00000000
+};
+
+
+//
+// Use default bitmaps
+//
+#define STATUS_HOTEND_ANIM
+#define STATUS_BED_ANIM
+#define STATUS_HEATERS_XSPACE 20
+
+#if HOTENDS < 2
+ #define STATUS_HEATERS_X 32
+ #define STATUS_BED_X 54
+#else
+ #define STATUS_HEATERS_X 40
+ #define STATUS_BED_X 80
+#endif
diff -ruN Marlin-2.1.x/platformio.ini Marlin-2.1.x.mod/platformio.ini
--- Marlin-2.1.x/platformio.ini 2023-07-02 03:19:17.000000000 +0300
+++ Marlin-2.1.x.mod/platformio.ini 2023-09-12 14:07:45.162858885 +0300
@@ -13,7 +13,7 @@
[platformio]
src_dir = Marlin
boards_dir = buildroot/share/PlatformIO/boards
-default_envs = mega2560
+default_envs = DUE_USB
include_dir = Marlin
extra_configs =
Marlin/config.ini