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