Compare commits

...

15 Commits

Author SHA1 Message Date
Sravan Balaji
9b0583e5e1 Config Updates
- Enable preheat before leveling @ 60C
- Change bed preheat temp to 60C
- Change display charset to western
- Enable SD check and retry
2024-07-14 08:43:05 -04:00
Sravan Balaji
0a54fda0c9 Ender 3 Pro w/ Creality V4.2.7 Board Configuration 2024-07-14 06:48:38 -04:00
Scott Lahteine
fff0d70361 🔖 Version 2.1.2.4 2024-06-15 20:45:26 -05:00
ellensp
53392f39a4 🐛 Mount media early for POWER_LOSS_RECOVERY (#27177) 2024-06-15 20:28:43 -05:00
Mihai
1f8587d312 🧑‍💻 Adjust pulse_phase_isr code guards (#27112) 2024-06-15 20:28:43 -05:00
Scott Lahteine
aa778c3cb0 🚸 Prefer friendly Power Off over Auto-unalive 2024-06-15 20:28:43 -05:00
Scott Lahteine
af8747ec69 📝 "Boards Manager" 2024-06-15 20:28:43 -05:00
Scott Lahteine
e6787f7283 🔧 Assume RAMPS_CREALITY is not CR2020 2024-06-15 20:28:43 -05:00
TheRaf974
4f146ef657 🔧 Overridable SUICIDE_PIN for RAMPS_CREALITY (#27143) 2024-06-15 20:28:43 -05:00
Scott Lahteine
c674f01c01 🎨 Misc. SPI cleanup 2024-06-15 20:28:43 -05:00
Mihai
f7680f3f73 ️ Optimize LPC176x pin toggle (#27149) 2024-06-15 20:28:43 -05:00
ellensp
34305439cd ✏️ Fix comma typo (#27138) 2024-06-15 20:28:43 -05:00
Scott Lahteine
23fda5b3cf 📝 Remove dead video links 2024-06-15 20:28:43 -05:00
Scott Lahteine
1d13aaa31f 🔨 Update SAMD51 build deps 2024-06-15 20:28:43 -05:00
ellensp
9e02be465d 🩹 Fix broken STEPTEST 2024-06-15 03:41:21 +12:00
42 changed files with 2676 additions and 2492 deletions

View File

@@ -21,6 +21,8 @@
*/ */
#pragma once #pragma once
#define CONFIG_EXAMPLES_DIR "config/examples/Creality/Ender-3 Pro/CrealityV427"
/** /**
* Configuration.h * Configuration.h
* *
@@ -35,7 +37,7 @@
* *
* Advanced settings can be found in Configuration_adv.h * Advanced settings can be found in Configuration_adv.h
*/ */
#define CONFIGURATION_H_VERSION 02010203 #define CONFIGURATION_H_VERSION 02010204
//=========================================================================== //===========================================================================
//============================= Getting Started ============================= //============================= Getting Started =============================
@@ -61,7 +63,7 @@
// @section info // @section info
// Author info of this build printed to the host during boot and M115 // 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 STRING_CONFIG_H_AUTHOR "(Dust, Ender-3 Pro)" // Who made the changes.
//#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes) //#define CUSTOM_VERSION_FILE Version.h // Path from the root directory (no quotes)
/** /**
@@ -79,16 +81,16 @@
#define SHOW_BOOTSCREEN #define SHOW_BOOTSCREEN
// Show the bitmap in Marlin/_Bootscreen.h on startup. // 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. // Show the bitmap in Marlin/_Statusscreen.h on the status screen.
//#define CUSTOM_STATUS_SCREEN_IMAGE #define CUSTOM_STATUS_SCREEN_IMAGE
// @section machine // @section machine
// Choose the name from boards.h that matches your setup // Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD #ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_RAMPS_14_EFB #define MOTHERBOARD BOARD_CREALITY_V427
#endif #endif
/** /**
@@ -99,7 +101,7 @@
* *
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7] * :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
*/ */
#define SERIAL_PORT 0 #define SERIAL_PORT 1
/** /**
* Serial Port Baud Rate * Serial Port Baud Rate
@@ -112,7 +114,7 @@
* *
* :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] * :[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
@@ -136,7 +138,7 @@
// #define BLUETOOTH // #define BLUETOOTH
// Name displayed in the LCD "Ready" message and Info menu // Name displayed in the LCD "Ready" message and Info menu
//#define CUSTOM_MACHINE_NAME "3D Printer" #define CUSTOM_MACHINE_NAME "Ender-3 Pro 4.2.7"
// Printer's unique ID, used by some programs to differentiate between machines. // 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 // Choose your own or use a service like https://www.uuidgenerator.net/version4
@@ -159,9 +161,9 @@
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE * TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
*/ */
#define X_DRIVER_TYPE A4988 #define X_DRIVER_TYPE TMC2208_STANDALONE
#define Y_DRIVER_TYPE A4988 #define Y_DRIVER_TYPE TMC2208_STANDALONE
#define Z_DRIVER_TYPE A4988 #define Z_DRIVER_TYPE TMC2208_STANDALONE
// #define X2_DRIVER_TYPE A4988 // #define X2_DRIVER_TYPE A4988
// #define Y2_DRIVER_TYPE A4988 // #define Y2_DRIVER_TYPE A4988
// #define Z2_DRIVER_TYPE A4988 // #define Z2_DRIVER_TYPE A4988
@@ -173,7 +175,7 @@
// #define U_DRIVER_TYPE A4988 // #define U_DRIVER_TYPE A4988
// #define V_DRIVER_TYPE A4988 // #define V_DRIVER_TYPE A4988
// #define W_DRIVER_TYPE A4988 // #define W_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988 #define E0_DRIVER_TYPE TMC2208_STANDALONE
// #define E1_DRIVER_TYPE A4988 // #define E1_DRIVER_TYPE A4988
// #define E2_DRIVER_TYPE A4988 // #define E2_DRIVER_TYPE A4988
// #define E3_DRIVER_TYPE A4988 // #define E3_DRIVER_TYPE A4988
@@ -640,7 +642,7 @@
#define HEATER_5_MAXTEMP 275 #define HEATER_5_MAXTEMP 275
#define HEATER_6_MAXTEMP 275 #define HEATER_6_MAXTEMP 275
#define HEATER_7_MAXTEMP 275 #define HEATER_7_MAXTEMP 275
#define BED_MAXTEMP 150 #define BED_MAXTEMP 125
#define CHAMBER_MAXTEMP 60 #define CHAMBER_MAXTEMP 60
/** /**
@@ -677,16 +679,17 @@
// #define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders) // #define PID_PARAMS_PER_HOTEND // Use separate PID parameters for each extruder (useful for mismatched extruders)
// Set/get with G-code: M301 E[extruder number, 0-2] // Set/get with G-code: M301 E[extruder number, 0-2]
// Creality Ender-3
#if ENABLED(PID_PARAMS_PER_HOTEND) #if ENABLED(PID_PARAMS_PER_HOTEND)
// Specify up to one value per hotend here, according to your setup. // Specify up to one value per hotend here, according to your setup.
// If there are fewer values, the last one applies to the remaining hotends. // If there are fewer values, the last one applies to the remaining hotends.
#define DEFAULT_Kp_LIST { 22.20, 22.20 } #define DEFAULT_Kp_LIST {21.73, 21.73}
#define DEFAULT_Ki_LIST { 1.08, 1.08 } #define DEFAULT_Ki_LIST {1.54, 1.54}
#define DEFAULT_Kd_LIST { 114.00, 114.00 } #define DEFAULT_Kd_LIST {76.55, 76.55}
#else #else
#define DEFAULT_Kp 22.20 #define DEFAULT_Kp 21.73
#define DEFAULT_Ki 1.08 #define DEFAULT_Ki 1.54
#define DEFAULT_Kd 114.00 #define DEFAULT_Kd 76.55
#endif #endif
#else #else
#define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current #define BANG_MAX 255 // Limit hotend current while in bang-bang mode; 255=full current
@@ -833,8 +836,8 @@
#define PID_FUNCTIONAL_RANGE 10 // If the temperature difference between the target temperature and the actual temperature #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. // 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_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_AUTOTUNE_MENU // Add PID auto-tuning to the "Advanced Settings" menu. (~250 bytes of flash)
#endif #endif
// @section safety // @section safety
@@ -1196,14 +1199,14 @@
* Override with M92 * Override with M92
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] * 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, 400, 93}
/** /**
* Default Max Feed Rate (linear=mm/s, rotational=°/s) * Default Max Feed Rate (linear=mm/s, rotational=°/s)
* Override with M203 * Override with M203
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/ */
#define DEFAULT_MAX_FEEDRATE { 300, 300, 5, 25 } #define DEFAULT_MAX_FEEDRATE {500, 500, 5, 25}
// #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) #if ENABLED(LIMITED_MAX_FR_EDITING)
@@ -1216,7 +1219,7 @@
* Override with M201 * Override with M201
* X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]] * X, Y, Z [, I [, J [, K...]]], E0 [, E1[, E2...]]
*/ */
#define DEFAULT_MAX_ACCELERATION { 3000, 3000, 100, 10000 } #define DEFAULT_MAX_ACCELERATION {500, 500, 100, 5000}
// #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) #if ENABLED(LIMITED_MAX_ACCEL_EDITING)
@@ -1231,9 +1234,9 @@
* M204 R Retract Acceleration * M204 R Retract Acceleration
* M204 T Travel Acceleration * M204 T Travel Acceleration
*/ */
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves #define DEFAULT_ACCELERATION 500 // X, Y, Z and E acceleration for printing moves
#define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts #define DEFAULT_RETRACT_ACCELERATION 500 // E acceleration for retracts
#define DEFAULT_TRAVEL_ACCELERATION 3000 // X, Y, Z acceleration for travel (non printing) moves #define DEFAULT_TRAVEL_ACCELERATION 500 // X, Y, Z acceleration for travel (non printing) moves
/** /**
* Default Jerk limits (mm/s) * Default Jerk limits (mm/s)
@@ -1273,7 +1276,7 @@
* https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html * https://blog.kyneticcnc.com/2018/10/computing-junction-deviation-for-marlin.html
*/ */
#if DISABLED(CLASSIC_JERK) #if DISABLED(CLASSIC_JERK)
#define JUNCTION_DEVIATION_MM 0.013 // (mm) Distance from real junction edge #define JUNCTION_DEVIATION_MM 0.08 // (mm) Distance from real junction edge
#define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle #define JD_HANDLE_SMALL_SEGMENTS // Use curvature estimation instead of just the junction angle
// for small segments (< 1mm) with large junction angles (> 135°). // for small segments (< 1mm) with large junction angles (> 135°).
#endif #endif
@@ -1302,10 +1305,10 @@
* The probe replaces the Z-MIN endstop and is used for Z homing. * The probe replaces the Z-MIN endstop and is used for Z homing.
* (Automatically enables USE_PROBE_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 // Force the use of the probe for Z-axis homing
//#define USE_PROBE_FOR_Z_HOMING #define USE_PROBE_FOR_Z_HOMING
/** /**
* Z_MIN_PROBE_PIN * Z_MIN_PROBE_PIN
@@ -1359,7 +1362,7 @@
/** /**
* The BLTouch probe uses a Hall effect sensor and emulates a servo. * The BLTouch probe uses a Hall effect sensor and emulates a servo.
*/ */
//#define BLTOUCH #define BLTOUCH
/** /**
* MagLev V4 probe by MDD * MagLev V4 probe by MDD
@@ -1412,16 +1415,46 @@
#define PROBE_DEPLOY_FEEDRATE (133 * 60) // (mm/min) Probe deploy speed #define PROBE_DEPLOY_FEEDRATE (133 * 60) // (mm/min) Probe deploy speed
#define PROBE_STOW_FEEDRATE (133 * 60) // (mm/min) Probe stow speed #define PROBE_STOW_FEEDRATE (133 * 60) // (mm/min) Probe stow speed
#define MAG_MOUNTED_DEPLOY_1 { PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } } // Move to side Dock & Attach probe #define MAG_MOUNTED_DEPLOY_1 \
#define MAG_MOUNTED_DEPLOY_2 { PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } } // Move probe off dock { \
#define MAG_MOUNTED_DEPLOY_3 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed PROBE_DEPLOY_FEEDRATE, { 245, 114, 30 } \
#define MAG_MOUNTED_DEPLOY_4 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed } // Move to side Dock & Attach probe
#define MAG_MOUNTED_DEPLOY_5 { PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } } // Extra move if needed #define MAG_MOUNTED_DEPLOY_2 \
#define MAG_MOUNTED_STOW_1 { PROBE_STOW_FEEDRATE, { 245, 114, 20 } } // Move to dock { \
#define MAG_MOUNTED_STOW_2 { PROBE_STOW_FEEDRATE, { 245, 114, 0 } } // Place probe beside remover PROBE_DEPLOY_FEEDRATE, { 210, 114, 30 } \
#define MAG_MOUNTED_STOW_3 { PROBE_STOW_FEEDRATE, { 230, 114, 0 } } // Side move to remove probe } // Move probe off dock
#define MAG_MOUNTED_STOW_4 { PROBE_STOW_FEEDRATE, { 210, 114, 20 } } // Side move to remove probe #define MAG_MOUNTED_DEPLOY_3 \
#define MAG_MOUNTED_STOW_5 { PROBE_STOW_FEEDRATE, { 0, 0, 0 } } // Extra move if needed { \
PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } \
} // Extra move if needed
#define MAG_MOUNTED_DEPLOY_4 \
{ \
PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } \
} // Extra move if needed
#define MAG_MOUNTED_DEPLOY_5 \
{ \
PROBE_DEPLOY_FEEDRATE, { 0, 0, 0 } \
} // Extra move if needed
#define MAG_MOUNTED_STOW_1 \
{ \
PROBE_STOW_FEEDRATE, { 245, 114, 20 } \
} // Move to dock
#define MAG_MOUNTED_STOW_2 \
{ \
PROBE_STOW_FEEDRATE, { 245, 114, 0 } \
} // Place probe beside remover
#define MAG_MOUNTED_STOW_3 \
{ \
PROBE_STOW_FEEDRATE, { 230, 114, 0 } \
} // Side move to remove probe
#define MAG_MOUNTED_STOW_4 \
{ \
PROBE_STOW_FEEDRATE, { 210, 114, 20 } \
} // Side move to remove probe
#define MAG_MOUNTED_STOW_5 \
{ \
PROBE_STOW_FEEDRATE, { 0, 0, 0 } \
} // Extra move if needed
#endif #endif
// Duet Smart Effector (for delta printers) - https://docs.duet3d.com/en/Duet3D_hardware/Accessories/Smart_Effector // Duet Smart Effector (for delta printers) - https://docs.duet3d.com/en/Duet3D_hardware/Accessories/Smart_Effector
@@ -1511,7 +1544,7 @@
* | [-] | * | [-] |
* O-- FRONT --+ * O-- FRONT --+
*/ */
#define NOZZLE_TO_PROBE_OFFSET { 10, 10, 0 } #define NOZZLE_TO_PROBE_OFFSET { -46.63, -5.12, 0 }
// Most probes should stay away from the edges of the bed, but // 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. // with NOZZLE_AS_PROBE this can be negative for a wider probing area.
@@ -1663,14 +1696,14 @@
// @section extruder // @section extruder
// #define DISABLE_E // Disable the extruder when not stepping // #define DISABLE_E // Disable the extruder when not stepping
#define DISABLE_OTHER_EXTRUDERS // Keep only the active extruder enabled // #define DISABLE_OTHER_EXTRUDERS // Keep only the active extruder enabled
// @section motion // @section motion
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way. // Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false #define INVERT_X_DIR false
#define INVERT_Y_DIR true #define INVERT_Y_DIR false
#define INVERT_Z_DIR false #define INVERT_Z_DIR true
// #define INVERT_I_DIR false // #define INVERT_I_DIR false
// #define INVERT_J_DIR false // #define INVERT_J_DIR false
// #define INVERT_K_DIR false // #define INVERT_K_DIR false
@@ -1722,8 +1755,8 @@
// @section geometry // @section geometry
// The size of the printable area // The size of the printable area
#define X_BED_SIZE 200 #define X_BED_SIZE 235
#define Y_BED_SIZE 200 #define Y_BED_SIZE 235
// Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. // Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions.
#define X_MIN_POS 0 #define X_MIN_POS 0
@@ -1731,7 +1764,7 @@
#define Z_MIN_POS 0 #define Z_MIN_POS 0
#define X_MAX_POS X_BED_SIZE #define X_MAX_POS X_BED_SIZE
#define Y_MAX_POS Y_BED_SIZE #define Y_MAX_POS Y_BED_SIZE
#define Z_MAX_POS 200 #define Z_MAX_POS 250
// #define I_MIN_POS 0 // #define I_MIN_POS 0
// #define I_MAX_POS 50 // #define I_MAX_POS 50
// #define J_MIN_POS 0 // #define J_MIN_POS 0
@@ -1901,7 +1934,7 @@
*/ */
// #define AUTO_BED_LEVELING_3POINT // #define AUTO_BED_LEVELING_3POINT
// #define AUTO_BED_LEVELING_LINEAR // #define AUTO_BED_LEVELING_LINEAR
//#define AUTO_BED_LEVELING_BILINEAR #define AUTO_BED_LEVELING_BILINEAR
// #define AUTO_BED_LEVELING_UBL // #define AUTO_BED_LEVELING_UBL
// #define MESH_BED_LEVELING // #define MESH_BED_LEVELING
@@ -1922,10 +1955,10 @@
/** /**
* Auto-leveling needs preheating * Auto-leveling needs preheating
*/ */
//#define PREHEAT_BEFORE_LEVELING #define PREHEAT_BEFORE_LEVELING
#if ENABLED(PREHEAT_BEFORE_LEVELING) #if ENABLED(PREHEAT_BEFORE_LEVELING)
#define LEVELING_NOZZLE_TEMP 120 // (°C) Only applies to E0 at this time #define LEVELING_NOZZLE_TEMP 120 // (°C) Only applies to E0 at this time
#define LEVELING_BED_TEMP 50 #define LEVELING_BED_TEMP 60
#endif #endif
/** /**
@@ -1987,7 +2020,7 @@
#if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR) #if EITHER(AUTO_BED_LEVELING_LINEAR, AUTO_BED_LEVELING_BILINEAR)
// Set the number of grid points per dimension. // Set the number of grid points per dimension.
#define GRID_MAX_POINTS_X 3 #define GRID_MAX_POINTS_X 5
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X
// Probe along the Y axis, advancing X after each column // Probe along the Y axis, advancing X after each column
@@ -2118,7 +2151,7 @@
* - Allows Z homing only when XY positions are known and trusted. * - Allows Z homing only when XY positions are known and trusted.
* - If stepper drivers sleep, XY homing may be required again before Z homing. * - If stepper drivers sleep, XY homing may be required again before Z homing.
*/ */
//#define Z_SAFE_HOMING #define Z_SAFE_HOMING
#if ENABLED(Z_SAFE_HOMING) #if ENABLED(Z_SAFE_HOMING)
#define Z_SAFE_HOMING_X_POINT X_CENTER // (mm) X point for Z homing #define Z_SAFE_HOMING_X_POINT X_CENTER // (mm) X point for Z homing
@@ -2126,7 +2159,7 @@
#endif #endif
// Homing speeds (linear=mm/min, rotational=°/min) // Homing speeds (linear=mm/min, rotational=°/min)
#define HOMING_FEEDRATE_MM_M { (50*60), (50*60), (4*60) } #define HOMING_FEEDRATE_MM_M {(20 * 60), (20 * 60), (4 * 60)}
// Validate that endstops are triggered on homing moves // Validate that endstops are triggered on homing moves
#define VALIDATE_HOMING_ENDSTOPS #define VALIDATE_HOMING_ENDSTOPS
@@ -2204,7 +2237,7 @@
* M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes) * M501 - Read settings from EEPROM. (i.e., Throw away unsaved changes)
* M502 - Revert settings to "factory" defaults. (Follow with M500 to init the EEPROM.) * 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 DISABLE_M503 // Saves ~2700 bytes of flash. Disable for release!
#define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save flash. #define EEPROM_CHITCHAT // Give feedback on EEPROM commands. Disable to save flash.
#define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load #define EEPROM_BOOT_SILENT // Keep M503 quiet and only give errors during first load
@@ -2243,16 +2276,16 @@
// Preheat Constants - Up to 10 are supported without changes // Preheat Constants - Up to 10 are supported without changes
// //
#define PREHEAT_1_LABEL "PLA" #define PREHEAT_1_LABEL "PLA"
#define PREHEAT_1_TEMP_HOTEND 180 #define PREHEAT_1_TEMP_HOTEND 185
#define PREHEAT_1_TEMP_BED 70 #define PREHEAT_1_TEMP_BED 60
#define PREHEAT_1_TEMP_CHAMBER 35 #define PREHEAT_1_TEMP_CHAMBER 35
#define PREHEAT_1_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_1_FAN_SPEED 255 // Value from 0 to 255
#define PREHEAT_2_LABEL "ABS" #define PREHEAT_2_LABEL "ABS"
#define PREHEAT_2_TEMP_HOTEND 240 #define PREHEAT_2_TEMP_HOTEND 240
#define PREHEAT_2_TEMP_BED 110 #define PREHEAT_2_TEMP_BED 70
#define PREHEAT_2_TEMP_CHAMBER 35 #define PREHEAT_2_TEMP_CHAMBER 35
#define PREHEAT_2_FAN_SPEED 0 // Value from 0 to 255 #define PREHEAT_2_FAN_SPEED 255 // Value from 0 to 255
// @section motion // @section motion
@@ -2473,7 +2506,7 @@
* *
* :['JAPANESE', 'WESTERN', 'CYRILLIC'] * :['JAPANESE', 'WESTERN', 'CYRILLIC']
*/ */
#define DISPLAY_CHARSET_HD44780 JAPANESE #define DISPLAY_CHARSET_HD44780 WESTERN
/** /**
* Info Screen Style (0:Classic, 1:Průša) * Info Screen Style (0:Classic, 1:Průša)
@@ -2488,14 +2521,14 @@
* SD Card support is disabled by default. If your controller has an SD slot, * 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. * you must uncomment the following option or it won't work.
*/ */
//#define SDSUPPORT #define SDSUPPORT
/** /**
* SD CARD: ENABLE CRC * SD CARD: ENABLE CRC
* *
* Use CRC checks and retries on the SD communication. * Use CRC checks and retries on the SD communication.
*/ */
//#define SD_CHECK_AND_RETRY #define SD_CHECK_AND_RETRY
/** /**
* LCD Menu Items * LCD Menu Items
@@ -2577,7 +2610,7 @@
// If you have a speaker that can produce tones, enable it here. // If you have a speaker that can produce tones, enable it here.
// By default Marlin assumes you have a buzzer with a fixed frequency. // 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. // The duration and frequency for the UI feedback sound.
@@ -2866,7 +2899,10 @@
// //
// Connect to EXP1 on RAMPS and compatible boards. // Connect to EXP1 on RAMPS and compatible boards.
// //
//#define CR10_STOCKDISPLAY #define CR10_STOCKDISPLAY
#if ENABLED(CR10_STOCKDISPLAY)
#define RET6_12864_LCD // Specific to the SoC (can either be RET / VET)
#endif
// //
// Ender-2 OEM display, a variant of the MKS_MINI_12864 // Ender-2 OEM display, a variant of the MKS_MINI_12864
@@ -3255,7 +3291,7 @@
// Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency
// which is not as annoying as with the hardware PWM. On the other hand, if this frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency
// is too low, you should also increment SOFT_PWM_SCALE. // is too low, you should also increment SOFT_PWM_SCALE.
//#define FAN_SOFT_PWM #define FAN_SOFT_PWM
// Incrementing this by 1 will double the software PWM frequency, // Incrementing this by 1 will double the software PWM frequency,
// affecting heaters, and the fan if FAN_SOFT_PWM is enabled. // affecting heaters, and the fan if FAN_SOFT_PWM is enabled.

View File

@@ -21,6 +21,8 @@
*/ */
#pragma once #pragma once
#define CONFIG_EXAMPLES_DIR "config/examples/Creality/Ender-3 Pro/CrealityV427"
/** /**
* Configuration_adv.h * Configuration_adv.h
* *
@@ -30,7 +32,7 @@
* *
* Basic settings can be found in Configuration.h * Basic settings can be found in Configuration.h
*/ */
#define CONFIGURATION_ADV_H_VERSION 02010203 #define CONFIGURATION_ADV_H_VERSION 02010204
// @section develop // @section develop
@@ -885,7 +887,7 @@
//#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing //#define HOMING_BACKOFF_POST_MM { 2, 2, 2 } // (linear=mm, rotational=°) Backoff from endstops after homing
//#define XY_COUNTERPART_BACKOFF_MM 0 // (mm) Backoff X after homing Y, and vice-versa //#define XY_COUNTERPART_BACKOFF_MM 0 // (mm) Backoff X after homing Y, and vice-versa
//#define QUICK_HOME // If G28 contains XY do a diagonal move first #define QUICK_HOME // If G28 contains XY do a diagonal move first
// #define HOME_Y_BEFORE_X // If G28 contains XY home Y before X // #define HOME_Y_BEFORE_X // If G28 contains XY home Y before X
// #define HOME_Z_FIRST // Home Z first. Requires a real endstop (not a probe). // #define HOME_Z_FIRST // Home Z first. Requires a real endstop (not a probe).
// #define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first // #define CODEPENDENT_XY_HOMING // If X/Y can't home without homing Y/X first
@@ -959,7 +961,6 @@
*/ */
// #define BLTOUCH_HS_MODE true // #define BLTOUCH_HS_MODE true
#endif // BLTOUCH #endif // BLTOUCH
// @section calibration // @section calibration
@@ -1034,7 +1035,10 @@
#if ENABLED(ASSISTED_TRAMMING) #if ENABLED(ASSISTED_TRAMMING)
// Define from 3 to 9 points to probe. // Define from 3 to 9 points to probe.
#define TRAMMING_POINT_XY { { 20, 20 }, { 180, 20 }, { 180, 180 }, { 20, 180 } } #define TRAMMING_POINT_XY \
{ \
{20, 20}, {180, 20}, {180, 180}, { 20, 180 } \
}
// Define position names for probe points. // Define position names for probe points.
#define TRAMMING_POINT_NAME_1 "Front-Left" #define TRAMMING_POINT_NAME_1 "Front-Left"
@@ -1378,7 +1382,7 @@
// #define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight // #define LCD_BACKLIGHT_TIMEOUT_MINS 1 // (minutes) Timeout before turning off the backlight
#if HAS_BED_PROBE && EITHER(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI) #if HAS_BED_PROBE && EITHER(HAS_MARLINUI_MENU, HAS_TFT_LVGL_UI)
//#define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu #define PROBE_OFFSET_WIZARD // Add a Probe Z Offset calibration option to the LCD menu
#if ENABLED(PROBE_OFFSET_WIZARD) #if ENABLED(PROBE_OFFSET_WIZARD)
/** /**
* Enable to init the Probe Z-Offset when starting the Wizard. * Enable to init the Probe Z-Offset when starting the Wizard.
@@ -1414,7 +1418,7 @@
#endif #endif
// Include a page of printer information in the LCD Main Menu // Include a page of printer information in the LCD Main Menu
//#define LCD_INFO_MENU #define LCD_INFO_MENU
#if ENABLED(LCD_INFO_MENU) #if ENABLED(LCD_INFO_MENU)
// #define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages // #define LCD_PRINTER_INFO_IS_BOOTSCREEN // Show bootscreen(s) instead of Printer Info pages
#endif #endif
@@ -1444,7 +1448,7 @@
#endif #endif
// Scroll a longer status message into view // Scroll a longer status message into view
//#define STATUS_MESSAGE_SCROLLING #define STATUS_MESSAGE_SCROLLING
// Apply a timeout to low-priority status messages // Apply a timeout to low-priority status messages
// #define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds) // #define STATUS_MESSAGE_TIMEOUT_SEC 30 // (seconds)
@@ -1639,7 +1643,7 @@
// #define LONG_FILENAME_WRITE_SUPPORT // Create / delete files with long filenames via M28, M30, and Binary Transfer Protocol // #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 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!) // #define SD_ABORT_NO_COOLDOWN // Leave the heaters on after Stop Print (not recommended!)
@@ -2063,7 +2067,7 @@
* *
* Warning: Does not respect endstops! * Warning: Does not respect endstops!
*/ */
//#define BABYSTEPPING #define BABYSTEPPING
#if ENABLED(BABYSTEPPING) #if ENABLED(BABYSTEPPING)
// #define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR // #define INTEGRATED_BABYSTEPPING // EXPERIMENTAL integration of babystepping into the Stepper ISR
// #define BABYSTEP_WITHOUT_HOMING // #define BABYSTEP_WITHOUT_HOMING
@@ -2074,7 +2078,7 @@
#define BABYSTEP_MULTIPLICATOR_Z 1 // (steps or mm) Steps or millimeter distance for each Z babystep #define BABYSTEP_MULTIPLICATOR_Z 1 // (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 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) #if ENABLED(DOUBLECLICK_FOR_Z_BABYSTEPPING)
#define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds. #define DOUBLECLICK_MAX_INTERVAL 1250 // Maximum interval between clicks, in milliseconds.
// Note: Extra time may be added to mitigate controller latency. // Note: Extra time may be added to mitigate controller latency.
@@ -2731,7 +2735,7 @@
#define INTERPOLATE true #define INTERPOLATE true
#if AXIS_IS_TMC_CONFIG(X) #if AXIS_IS_TMC_CONFIG(X)
#define X_CURRENT 800 // (mA) RMS current. Multiply by 1.414 for peak current. #define X_CURRENT 580 // (mA) RMS current. Multiply by 1.414 for peak current.
#define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing #define X_CURRENT_HOME X_CURRENT // (mA) RMS current for sensorless homing
#define X_MICROSTEPS 16 // 0..256 #define X_MICROSTEPS 16 // 0..256
#define X_RSENSE 0.11 // Multiplied x1000 for TMC26X #define X_RSENSE 0.11 // Multiplied x1000 for TMC26X
@@ -2751,7 +2755,7 @@
#endif #endif
#if AXIS_IS_TMC_CONFIG(Y) #if AXIS_IS_TMC_CONFIG(Y)
#define Y_CURRENT 800 #define Y_CURRENT 580
#define Y_CURRENT_HOME Y_CURRENT #define Y_CURRENT_HOME Y_CURRENT
#define Y_MICROSTEPS 16 #define Y_MICROSTEPS 16
#define Y_RSENSE 0.11 #define Y_RSENSE 0.11
@@ -2771,7 +2775,7 @@
#endif #endif
#if AXIS_IS_TMC_CONFIG(Z) #if AXIS_IS_TMC_CONFIG(Z)
#define Z_CURRENT 800 #define Z_CURRENT 580
#define Z_CURRENT_HOME Z_CURRENT #define Z_CURRENT_HOME Z_CURRENT
#define Z_MICROSTEPS 16 #define Z_MICROSTEPS 16
#define Z_RSENSE 0.11 #define Z_RSENSE 0.11
@@ -2871,7 +2875,7 @@
#endif #endif
#if AXIS_IS_TMC_CONFIG(E0) #if AXIS_IS_TMC_CONFIG(E0)
#define E0_CURRENT 800 #define E0_CURRENT 650
#define E0_MICROSTEPS 16 #define E0_MICROSTEPS 16
#define E0_RSENSE 0.11 #define E0_RSENSE 0.11
#define E0_CHAIN_POS -1 #define E0_CHAIN_POS -1
@@ -3062,7 +3066,7 @@
* Define your own with: * Define your own with:
* { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] } * { <off_time[1..15]>, <hysteresis_end[-3..12]>, hysteresis_start[1..8] }
*/ */
#define CHOPPER_TIMING CHOPPER_DEFAULT_12V // All axes (override below) #define CHOPPER_TIMING CHOPPER_DEFAULT_24V // All axes (override below)
// #define CHOPPER_TIMING_X CHOPPER_TIMING // For X Axes (override below) // #define CHOPPER_TIMING_X CHOPPER_TIMING // For X Axes (override below)
// #define CHOPPER_TIMING_X2 CHOPPER_TIMING_X // #define CHOPPER_TIMING_X2 CHOPPER_TIMING_X
// #define CHOPPER_TIMING_Y CHOPPER_TIMING // For Y Axes (override below) // #define CHOPPER_TIMING_Y CHOPPER_TIMING // For Y Axes (override below)
@@ -3225,7 +3229,9 @@
* stepperY.intpol(0); \ * stepperY.intpol(0); \
* } * }
*/ */
#define TMC_ADV() { } #define TMC_ADV() \
{ \
}
#endif // HAS_TRINAMIC_CONFIG || HAS_TMC26X #endif // HAS_TRINAMIC_CONFIG || HAS_TMC26X

View File

@@ -28,7 +28,7 @@
/** /**
* Marlin release version identifier * Marlin release version identifier
*/ */
//#define SHORT_BUILD_VERSION "2.1.2.3" //#define SHORT_BUILD_VERSION "2.1.2.4"
/** /**
* Verbose version identifier which should contain a reference to the location * Verbose version identifier which should contain a reference to the location

97
Marlin/_Bootscreen.h Normal file
View File

@@ -0,0 +1,97 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once
/**
* Custom Boot Screen bitmap
*
* Place this file in the root with your configuration files
* and enable SHOW_CUSTOM_BOOTSCREEN in Configuration.h.
*
* Use the Marlin Bitmap Converter to make your own:
* https://marlinfw.org/tools/u8glib/converter.html
*/
#define CUSTOM_BOOTSCREEN_TIMEOUT 1000
#define CUSTOM_BOOTSCREEN_BMPWIDTH 81
#define CUSTOM_BOOTSCREEN_INVERTED
const unsigned char custom_start_bmp[] PROGMEM = {
B11111111,B11111111,B11111111,B11111111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11101111,B11101111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11100111,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11100011,B11011111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11110011,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11100001,B11100001,B11001111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111110,B01111000,B00000000,B00000000,B00000011,B11011101,B11111111,B11111111,B11111111,B11111111,
B11111110,B11111111,B10000000,B01111110,B00000000,B00000001,B11101110,B11111111,B11111111,B11111111,B11111111,
B11111110,B01111101,B11001111,B11111100,B00000000,B00000000,B11110111,B01111111,B11111111,B11111111,B11111111,
B11111111,B10001110,B00000110,B00000000,B00000000,B00000000,B01111011,B10111111,B11111111,B11111111,B11111111,
B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B01111101,B11011111,B11111111,B11111111,B11111111,
B11111111,B11111100,B00000001,B11111110,B00000000,B00000000,B00111110,B11100111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111100,B00000000,B00000011,B00011111,B01110011,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111000,B00000000,B00000001,B10001111,B10000001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11100000,B00000000,B00000000,B10000011,B11111001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B00000000,B11111100,B00000000,B00000000,B11110000,B11111111,B11111111,B11111111,
B11111111,B11111111,B11100000,B00001111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111,
B11111111,B11111110,B00000011,B11111111,B11111111,B11000000,B00000000,B00000000,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111001,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111100,B00000000,B00000111,B11000000,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B00000000,B00000111,B11100000,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00000111,B11110001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111100,B00000111,B11111001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B00000011,B11111001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B10000011,B11111001,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11000011,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11100001,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11110000,B10111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111011,B11111000,B00111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111001,B11111000,B00111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B01111110,B11110000,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B10001110,B00000011,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11100000,B00011111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B01111111,B11111111,B11111111,B11111111,
B11111111,B00000000,B00000000,B01111111,B11111111,B11111111,B11111000,B01111111,B11111111,B11111111,B11111111,
B11111111,B10000000,B00000000,B01111111,B11111111,B11111111,B11100000,B01111111,B11111111,B11111111,B11111111,
B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111,
B11111111,B11000011,B11111100,B11111111,B11111111,B11111111,B11111000,B11111111,B11111111,B11111111,B11111111,
B11111111,B10000111,B11111101,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111,
B11111111,B10000111,B11111111,B11111111,B11111111,B11111111,B11110001,B11111111,B11111111,B11111111,B11111111,
B11111111,B00001111,B11100111,B11110011,B00001111,B11111100,B00100011,B11111100,B00111111,B11111111,B11111111,
B11111111,B00001111,B11101111,B10000000,B00000111,B11110000,B00000011,B11110000,B00011110,B00000000,B01111111,
B11111110,B00011111,B11001111,B10000001,B10000111,B11000111,B10000111,B11000111,B00001100,B00000000,B01111111,
B11111110,B00000000,B00011111,B11000111,B11000111,B10001111,B11000111,B10011111,B00001111,B00001100,B11111111,
B11111110,B00000000,B00011111,B10000111,B10001111,B00011111,B10001111,B00011111,B00001111,B00011111,B11111111,
B11111100,B00111111,B10011111,B10001111,B10001111,B00011111,B10001110,B00000000,B00011110,B00111111,B11111111,
B11111100,B01111111,B00111111,B00001111,B00011110,B00111111,B00011110,B00111111,B11111110,B00111111,B11111111,
B11111000,B01111111,B11111111,B00011111,B00011100,B00111111,B00011100,B01111111,B11111100,B01111111,B11111111,
B11111000,B11111111,B11111111,B00011110,B00011100,B01111110,B00011100,B01111111,B11111100,B01111111,B11111111,
B11110000,B11111111,B11001110,B00111110,B00111100,B01111110,B00111100,B01111111,B10111000,B11111111,B11111111,
B11110000,B11111111,B10011110,B00111100,B00111000,B01111100,B00111000,B01111110,B01111000,B11111111,B11111111,
B11100001,B11111111,B00111100,B01111100,B01111000,B01111100,B01111000,B00111100,B11110001,B11111111,B11111111,
B11100001,B11111000,B00111000,B01111000,B01111000,B00010000,B00011000,B00000001,B11110001,B11111111,B11111111,
B00000000,B00000000,B01100000,B00100000,B00111100,B00000000,B01111100,B00000111,B10000000,B01111111,B11111111,
B11111111,B11111111,B11111111,B11111111,B11111110,B00011111,B11111110,B00011111,B11111111,B11111111,B11111111
};

71
Marlin/_Statusscreen.h Normal file
View File

@@ -0,0 +1,71 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#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:
* https://marlinfw.org/tools/u8glib/converter.html
*/
//
// Status Screen Logo bitmap
//
#define STATUS_LOGO_Y 8
#define STATUS_LOGO_WIDTH 39
const unsigned char status_logo_bmp[] PROGMEM = {
B11111000,B00000001,B10000000,B00000000,B00001100,
B01001000,B00000000,B10000000,B00000000,B00010010,
B01000011,B11000011,B10001100,B11010000,B00000010,
B01110001,B00100100,B10010010,B01100111,B11001100,
B01000001,B00100100,B10011110,B01000000,B00000010,
B01001001,B00100100,B10010000,B01000000,B00010010,
B11111011,B10110011,B11001110,B11100000,B00001100,
B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000000,B00000000,B00000000,B00000000,
B00000000,B00000011,B10000000,B00000000,B00000000,
B00000000,B00000010,B01000000,B00000000,B00000000,
B00000000,B00000010,B01010110,B01100000,B00000000,
B00000000,B00000011,B10011000,B10010000,B00000000,
B00000000,B00000010,B00010000,B10010000,B00000000,
B00000000,B00000010,B00010000,B10010000,B00000000,
B00000000,B00000010,B00010000,B01100000,B00000000
};
//
// Use default bitmaps
//
#define STATUS_HOTEND_ANIM
#define STATUS_BED_ANIM
#define STATUS_HEATERS_XSPACE 20
#if HOTENDS < 2
#define STATUS_HEATERS_X 48
#define STATUS_BED_X 72
#else
#define STATUS_HEATERS_X 40
#define STATUS_BED_X 80
#endif

View File

@@ -150,7 +150,7 @@ void MarlinHAL::set_pwm_frequency(const pin_t pin, const uint16_t f_desired) {
else { else {
if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2 if (p == 32 || p == 128) continue; // Skip TIMER2 specific prescalers when not TIMER2
const uint16_t rft = (F_CPU) / (p * f_desired); const uint16_t rft = (F_CPU) / (p * f_desired);
DEBUG_ECHOLNPGM("(Not Timer 2) F_CPU=" STRINGIFY(F_CPU), " prescaler=", p, " f_desired=", f_desired); DEBUG_ECHOLNPGM("(Not Timer 2) F_CPU=", STRINGIFY(F_CPU), " prescaler=", p, " f_desired=", f_desired);
res_fast_temp = rft - 1; res_fast_temp = rft - 1;
res_pc_temp = rft / 2; res_pc_temp = rft / 2;
} }

View File

@@ -28,9 +28,6 @@
* Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx * Port : E0 E1 E4 E5 G5 E3 H3 H4 H5 H6 B4 B5 B6 B7 J1 J0 H1 H0 D3 D2 D1 D0 A0 A1 A2 A3 A4 A5 A6 A7 C7 C6 C5 C4 C3 C2 C1 C0 D7 G2 G1 G0 L7 L6 L5 L4 L3 L2 L1 L0 B3 B2 B1 B0 F0 F1 F2 F3 F4 F5 F6 F7 K0 K1 K2 K3 K4 K5 K6 K7 | E2 E6 E7 xx xx H2 H7 G3 G4 xx xx xx xx xx D4 D5 D6 xx xx J2 J3 J4 J5 J6 J7 xx xx xx xx xx
* Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx * Logical Pin : 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 78 79 80 xx xx 84 85 71 70 xx xx xx xx xx 81 82 83 xx xx 72 73 75 76 77 74 xx xx xx xx xx
* Analog Input : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 * Analog Input : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"

View File

@@ -26,9 +26,6 @@
* *
* Logical Pin: 38 39 40 41 42 43 44 45 16 10 11 12 06 07 08 09 30 31 32 33 34 35 36 37 17 18 19 20 21 22 23 24 00 01 13 05 02 03 14 15 46 47 48 49 50 51 52 53 25 26 27 28 29 04 * Logical Pin: 38 39 40 41 42 43 44 45 16 10 11 12 06 07 08 09 30 31 32 33 34 35 36 37 17 18 19 20 21 22 23 24 00 01 13 05 02 03 14 15 46 47 48 49 50 51 52 53 25 26 27 28 29 04
* Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5 * Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 G0 G1 G2 G3 G4 G5
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"

View File

@@ -26,9 +26,6 @@
* *
* Logical Pin: 08 09 10 11 12 13 14 15 16 17 18 19 20 21 00 01 02 03 04 05 06 07 * Logical Pin: 08 09 10 11 12 13 14 15 16 17 18 19 20 21 00 01 02 03 04 05 06 07
* Port: B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 * Port: B0 B1 B2 B3 B4 B5 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"

View File

@@ -26,9 +26,6 @@
* *
* Logical Pin: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 * Logical Pin: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
* Port: B0 B1 B2 B3 B4 B5 B6 B7 D0 D1 D2 D3 D4 D5 D6 D7 C0 C1 C2 C3 C4 C5 C6 C7 A7 A6 A5 A4 A3 A2 A1 A0 * Port: B0 B1 B2 B3 B4 B5 B6 B7 D0 D1 D2 D3 D4 D5 D6 D7 C0 C1 C2 C3 C4 C5 C6 C7 A7 A6 A5 A4 A3 A2 A1 A0
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
/** ATMega644 /** ATMega644

View File

@@ -27,9 +27,6 @@
* Logical Pin: 28 29 30 31 32 33 34 35 20 21 22 23 24 25 26 27 10 11 12 13 14 15 16 17 00 01 02 03 04 05 06 07 08 09(46*47)36 37 18 19 38 39 40 41 42 43 44 45 * Logical Pin: 28 29 30 31 32 33 34 35 20 21 22 23 24 25 26 27 10 11 12 13 14 15 16 17 00 01 02 03 04 05 06 07 08 09(46*47)36 37 18 19 38 39 40 41 42 43 44 45
* Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7 * Port: A0 A1 A2 A3 A4 A5 A6 A7 B0 B1 B2 B3 B4 B5 B6 B7 C0 C1 C2 C3 C4 C5 C6 C7 D0 D1 D2 D3 D4 D5 D6 D7 E0 E1 E2 E3 E4 E5 E6 E7 F0 F1 F2 F3 F4 F5 F6 F7
* The logical pins 46 and 47 are not supported by Teensyduino, but are supported below as E2 and E3 * The logical pins 46 and 47 are not supported by Teensyduino, but are supported below as E2 and E3
*
* Arduino Pin Layout video: https://youtu.be/rIqeVCX09FA
* AVR alternate pin function overview video: https://youtu.be/1yd8wuI5Plg
*/ */
#include "../fastio.h" #include "../fastio.h"

View File

@@ -68,16 +68,15 @@
* Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time * Usually the hardware SPI pins are only available to the LCD. This makes the DUE hard SPI used at the same time
* as the TMC2130 soft SPI the most common setup. * as the TMC2130 soft SPI the most common setup.
*/ */
#define _IS_HW_SPI(P) (defined(TMC_SPI_##P) && (TMC_SPI_##P == SD_MOSI_PIN || TMC_SPI_##P == SD_MISO_PIN || TMC_SPI_##P == SD_SCK_PIN))
#if HAS_MEDIA && HAS_DRIVER(TMC2130) #if HAS_MEDIA && HAS_DRIVER(TMC2130)
#if ENABLED(TMC_USE_SW_SPI) #define _IS_HW_SPI(P) (defined(TMC_SPI_##P) && (TMC_SPI_##P == SD_MOSI_PIN || TMC_SPI_##P == SD_MISO_PIN || TMC_SPI_##P == SD_SCK_PIN))
#if DISABLED(DUE_SOFTWARE_SPI) && (_IS_HW_SPI(MOSI) || _IS_HW_SPI(MISO) || _IS_HW_SPI(SCK)) #if DISABLED(DUE_SOFTWARE_SPI) && ENABLED(TMC_USE_SW_SPI) && (_IS_HW_SPI(MOSI) || _IS_HW_SPI(MISO) || _IS_HW_SPI(SCK))
#error "DUE hardware SPI is required but is incompatible with TMC2130 software SPI. Either disable TMC_USE_SW_SPI or use separate pins for the two SPIs." #error "DUE hardware SPI is required but is incompatible with TMC2130 software SPI. Either disable TMC_USE_SW_SPI or use separate pins for the two SPIs."
#endif #endif
#elif ENABLED(DUE_SOFTWARE_SPI) #if ENABLED(DUE_SOFTWARE_SPI) && DISABLED(TMC_USE_SW_SPI)
#error "DUE software SPI is required but is incompatible with TMC2130 hardware SPI. Enable TMC_USE_SW_SPI to fix." #error "DUE software SPI is required but is incompatible with TMC2130 hardware SPI. Enable TMC_USE_SW_SPI to fix."
#endif #endif
#undef _IS_HW_SPI
#endif #endif
#if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY #if ENABLED(FAST_PWM_FAN) || SPINDLE_LASER_FREQUENCY

View File

@@ -24,7 +24,7 @@
/** /**
* Define SPI Pins: SCK, MISO, MOSI, SS * Define SPI Pins: SCK, MISO, MOSI, SS
* *
* Available chip select pins for HW SPI are 4 10 52 77 * Available chip select pins for HW SPI are 4 10 52 77 87
*/ */
#if SDSS == 4 || SDSS == 10 || SDSS == 52 || SDSS == 77 || SDSS == 87 #if SDSS == 4 || SDSS == 10 || SDSS == 52 || SDSS == 77 || SDSS == 87
#if SDSS == 4 #if SDSS == 4

View File

@@ -31,12 +31,6 @@
// spiBeginTransaction. // spiBeginTransaction.
#endif #endif
// Onboard SD
//#define SD_SCK_PIN P0_07
//#define SD_MISO_PIN P0_08
//#define SD_MOSI_PIN P0_09
//#define SD_SS_PIN P0_06
// External SD // External SD
#ifndef SD_SCK_PIN #ifndef SD_SCK_PIN
#define SD_SCK_PIN 50 #define SD_SCK_PIN 50

View File

@@ -66,7 +66,7 @@
#define _WRITE(IO,V) WRITE_PIN(IO,V) #define _WRITE(IO,V) WRITE_PIN(IO,V)
/// toggle a pin /// toggle a pin
#define _TOGGLE(IO) _WRITE(IO, !READ(IO)) #define _TOGGLE(IO) LPC176x::gpio_toggle(IO)
/// set pin as input /// set pin as input
#define _SET_INPUT(IO) SET_DIR_INPUT(IO) #define _SET_INPUT(IO) SET_DIR_INPUT(IO)

View File

@@ -30,12 +30,13 @@
// spiBeginTransaction. // spiBeginTransaction.
#endif #endif
/** onboard SD card */ // Onboard SD
//#define SD_SCK_PIN P0_07 //#define SD_SCK_PIN P0_07
//#define SD_MISO_PIN P0_08 //#define SD_MISO_PIN P0_08
//#define SD_MOSI_PIN P0_09 //#define SD_MOSI_PIN P0_09
//#define SD_SS_PIN P0_06 //#define SD_SS_PIN P0_06
/** external */
// External SD
#ifndef SD_SCK_PIN #ifndef SD_SCK_PIN
#define SD_SCK_PIN P0_15 #define SD_SCK_PIN P0_15
#endif #endif

View File

@@ -1329,7 +1329,7 @@ void setup() {
#endif #endif
#endif #endif
#if ALL(HAS_MEDIA, SDCARD_EEPROM_EMULATION) #if HAS_MEDIA && ANY(SDCARD_EEPROM_EMULATION, POWER_LOSS_RECOVERY)
SETUP_RUN(card.mount()); // Mount media with settings before first_load SETUP_RUN(card.mount()); // Mount media with settings before first_load
#endif #endif

View File

@@ -112,9 +112,9 @@ void GcodeSuite::M81() {
return; return;
} }
#if HAS_SUICIDE #if ENABLED(PSU_CONTROL)
suicide();
#elif ENABLED(PSU_CONTROL)
powerManager.power_off_soon(); powerManager.power_off_soon();
#elif HAS_SUICIDE
suicide();
#endif #endif
} }

View File

@@ -25,7 +25,7 @@
* Release version. Leave the Marlin version or apply a custom scheme. * Release version. Leave the Marlin version or apply a custom scheme.
*/ */
#ifndef SHORT_BUILD_VERSION #ifndef SHORT_BUILD_VERSION
#define SHORT_BUILD_VERSION "2.1.2.3" #define SHORT_BUILD_VERSION "2.1.2.4"
#endif #endif
/** /**
@@ -42,7 +42,7 @@
* version was tagged. * version was tagged.
*/ */
#ifndef STRING_DISTRIBUTION_DATE #ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2024-05-29" #define STRING_DISTRIBUTION_DATE "2024-06-16"
#endif #endif
/** /**
@@ -52,7 +52,7 @@
* to alert users to major changes. * to alert users to major changes.
*/ */
#define MARLIN_HEX_VERSION 02010203 #define MARLIN_HEX_VERSION 02010204
#ifndef REQUIRED_CONFIGURATION_H_VERSION #ifndef REQUIRED_CONFIGURATION_H_VERSION
#define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION #define REQUIRED_CONFIGURATION_H_VERSION MARLIN_HEX_VERSION
#endif #endif

View File

@@ -274,7 +274,7 @@ xyze_int8_t Stepper::count_direction{0};
#define MINDIR(A) (count_direction[_AXIS(A)] < 0) #define MINDIR(A) (count_direction[_AXIS(A)] < 0)
#define MAXDIR(A) (count_direction[_AXIS(A)] > 0) #define MAXDIR(A) (count_direction[_AXIS(A)] > 0)
#define STEPTEST(A,M,I) TERN0(HAS_ ##A## ##I## _ ##M, !(TEST(endstops.state(), A## ##I## _ ##M) && M## DIR(A)) && !locked_ ##A## ##I## _motor) #define STEPTEST(A,M,I) TERN0(USE_##A##I##_##M, !(TEST(endstops.state(), A##I##_##M) && M## DIR(A)) && !locked_ ##A##I##_motor)
#define DUAL_ENDSTOP_APPLY_STEP(A,V) \ #define DUAL_ENDSTOP_APPLY_STEP(A,V) \
if (separate_multi_axis) { \ if (separate_multi_axis) { \
@@ -1610,7 +1610,7 @@ void Stepper::isr() {
#if MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE #if MINIMUM_STEPPER_PULSE || MAXIMUM_STEPPER_RATE
#define ISR_PULSE_CONTROL 1 #define ISR_PULSE_CONTROL 1
#endif #endif
#if ISR_PULSE_CONTROL && DISABLED(I2S_STEPPER_STREAM) #if ISR_PULSE_CONTROL && MULTISTEPPING_LIMIT > 1 && DISABLED(I2S_STEPPER_STREAM)
#define ISR_MULTI_STEPS 1 #define ISR_MULTI_STEPS 1
#endif #endif
@@ -1655,10 +1655,11 @@ void Stepper::pulse_phase_isr() {
// Just update the value we will get at the end of the loop // Just update the value we will get at the end of the loop
step_events_completed += events_to_do; step_events_completed += events_to_do;
// Take multiple steps per interrupt (For high speed moves) TERN_(ISR_PULSE_CONTROL, USING_TIMED_PULSE());
#if ISR_MULTI_STEPS
// Take multiple steps per interrupt. For high speed moves.
#if ENABLED(ISR_MULTI_STEPS)
bool firstStep = true; bool firstStep = true;
USING_TIMED_PULSE();
#endif #endif
xyze_bool_t step_needed{0}; xyze_bool_t step_needed{0};
@@ -1944,7 +1945,7 @@ void Stepper::pulse_phase_isr() {
TERN_(I2S_STEPPER_STREAM, i2s_push_sample()); TERN_(I2S_STEPPER_STREAM, i2s_push_sample());
// TODO: need to deal with MINIMUM_STEPPER_PULSE over i2s // TODO: need to deal with MINIMUM_STEPPER_PULSE over i2s
#if ISR_MULTI_STEPS #if ISR_PULSE_CONTROL
START_TIMED_PULSE(); START_TIMED_PULSE();
AWAIT_HIGH_PULSE(); AWAIT_HIGH_PULSE();
#endif #endif

View File

@@ -29,17 +29,57 @@
#define BOARD_INFO_NAME "Creality3D RAMPS" #define BOARD_INFO_NAME "Creality3D RAMPS"
//#define CR2020_INDUSTRIAL_SERIES // Use layout specific to CR2020
//
// 4-pin expansion header
//
#define EXP1_PIN 65 // A11 - Used by CR2020 Industrial series for case
#define EXP2_PIN 66 // A12
#define EXP3_PIN 11 // RAMPS: SERVO0_PIN
#define EXP4_PIN 12 // RAMPS: PS_ON_PIN
//
// Servos
//
#define SERVO1_PIN 12
// //
// Heaters / Fans // Heaters / Fans
// //
#define MOSFET_B_PIN 7 #define MOSFET_B_PIN 7
#define FAN0_PIN 9 #define FAN0_PIN 9
//
// Filament Runout Sensor
//
#define FIL_RUNOUT_PIN 2 #define FIL_RUNOUT_PIN 2
#if NUM_RUNOUT_SENSORS >= 2 #if NUM_RUNOUT_SENSORS >= 2
#define FIL_RUNOUT2_PIN 15 // Creality CR-X can use dual runout sensors #define FIL_RUNOUT2_PIN 15 // Creality CR-X can use dual runout sensors
#endif #endif
//
// Misc. Functions
//
#ifdef CR2020_INDUSTRIAL_SERIES
#if ENABLED(PSU_CONTROL) && !defined(PS_ON_PIN)
#define PS_ON_PIN 40 // Used by CR2020 Industrial series
#endif
#ifndef SUICIDE_PIN
#define SUICIDE_PIN 12 // Used by CR2020 Industrial series
#endif
#ifndef SUICIDE_PIN_STATE
#define SUICIDE_PIN_STATE HIGH
#endif
#endif
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN)
#define CASE_LIGHT_PIN 65
#endif
//
// SD Card
//
#ifndef SD_DETECT_PIN #ifndef SD_DETECT_PIN
#if SD_CONNECTION_IS(ONBOARD) #if SD_CONNECTION_IS(ONBOARD)
//#define HAS_ONBOARD_SD_DETECT // If the SD_DETECT_PIN is wired up //#define HAS_ONBOARD_SD_DETECT // If the SD_DETECT_PIN is wired up
@@ -49,28 +89,14 @@
#endif #endif
#endif #endif
#ifndef PS_ON_PIN //
#define PS_ON_PIN 40 // Used by CR2020 Industrial series // Based on RAMPS 1.4
#endif //
#if ENABLED(CASE_LIGHT_ENABLE) && !defined(CASE_LIGHT_PIN)
#define CASE_LIGHT_PIN 65
#endif
#define SERVO1_PIN 12
#include "pins_RAMPS.h" #include "pins_RAMPS.h"
//
// LCD / Controller
//
#ifndef BEEPER_PIN #ifndef BEEPER_PIN
#define BEEPER_PIN 37 // Always define beeper pin so Play Tone works with ExtUI #define BEEPER_PIN 37 // Always define beeper pin so Play Tone works with ExtUI
#endif #endif
#define EXP1_PIN 65 // A11 - Used by CR2020 Industrial series for case
#define EXP2_PIN 66 // A12
#define EXP3_PIN 11 // SERVO0_PIN
#define EXP4_PIN 12 // PS_ON_PIN
#define SUICIDE_PIN 12 // Used by CR2020 Industrial series
#ifndef SUICIDE_PIN_STATE
#define SUICIDE_PIN_STATE HIGH
#endif

View File

@@ -26,10 +26,10 @@
* *
* The Archim 1.0 board requires Arduino Archim addons installed. * The Archim 1.0 board requires Arduino Archim addons installed.
* *
* - Add the following URL to Arduino IDE's Additional Board Manager URLs: * - Add the following URL to Arduino IDE's Additional Boards Manager URLs:
* https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json * https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
* *
* - In the Arduino IDE Board Manager search for Archim and install the package. * - In the Arduino IDE Boards Manager search for Archim and install the package.
* *
* - Change your target board to "Archim". * - Change your target board to "Archim".
* *

View File

@@ -26,10 +26,10 @@
* *
* The Archim 2.0 board requires Arduino Archim addons installed. * The Archim 2.0 board requires Arduino Archim addons installed.
* *
* - Add the following URL to Arduino IDE's Additional Board Manager URLs: * - Add the following URL to Arduino IDE's Additional Boards Manager URLs:
* https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json * https://raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json
* *
* - In the Arduino IDE Board Manager search for Archim and install the package. * - In the Arduino IDE Boards Manager search for Archim and install the package.
* *
* - Change your target board to "Archim". * - Change your target board to "Archim".
* *

View File

@@ -35,7 +35,7 @@
*/ */
/** /**
* The standard Arduino IDE extension (board manager) for this board * The standard Arduino IDE extension (Boards Manager) for this board
* is located at https://github.com/SkyNet3D/anet-board. * is located at https://github.com/SkyNet3D/anet-board.
* *
* Installation instructions are on that page. * Installation instructions are on that page.
@@ -52,7 +52,7 @@
*/ */
/** /**
* Another usable Arduino IDE extension (board manager) can be found at * Another usable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -33,7 +33,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -32,7 +32,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -36,7 +36,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -32,7 +32,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -42,7 +42,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -32,7 +32,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -38,7 +38,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -37,7 +37,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -59,7 +59,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -57,7 +57,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -44,7 +44,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -33,7 +33,7 @@
*/ */
/** /**
* A useable Arduino IDE extension (board manager) can be found at * A useable Arduino IDE extension (Boards Manager) can be found at
* https://github.com/Lauszus/Sanguino * https://github.com/Lauszus/Sanguino
* *
* This extension has been tested on Arduino 1.6.12 & 1.8.0 * This extension has been tested on Arduino 1.6.12 & 1.8.0

View File

@@ -78,7 +78,7 @@ uint8_t const SD_CARD_TYPE_SD1 = 1, // Standard capacity V1 SD card
/** /**
* Define SOFTWARE_SPI to use bit-bang SPI * Define SOFTWARE_SPI to use bit-bang SPI
*/ */
#if ANY(MEGA_SOFT_SPI, USE_SOFTWARE_SPI) #if ANY(MEGA_SOFT_SPI, SDFAT_USE_SOFTWARE_SPI)
#define SOFTWARE_SPI #define SOFTWARE_SPI
#endif #endif

View File

@@ -88,8 +88,8 @@
*/ */
#define MEGA_SOFT_SPI 0 #define MEGA_SOFT_SPI 0
// Set USE_SOFTWARE_SPI nonzero to ALWAYS use Software SPI. // Set SDFAT_USE_SOFTWARE_SPI nonzero to ALWAYS use Software SPI.
#define USE_SOFTWARE_SPI 0 #define SDFAT_USE_SOFTWARE_SPI 0
/** /**
* The __cxa_pure_virtual function is an error handler that is invoked when * The __cxa_pure_virtual function is an error handler that is invoked when

View File

@@ -33,7 +33,7 @@
/** /**
* Define SOFTWARE_SPI to use bit-bang SPI * Define SOFTWARE_SPI to use bit-bang SPI
*/ */
#if ANY(MEGA_SOFT_SPI, USE_SOFTWARE_SPI) #if ANY(MEGA_SOFT_SPI, SDFAT_USE_SOFTWARE_SPI)
#define SOFTWARE_SPI #define SOFTWARE_SPI
#endif #endif

View File

@@ -94,52 +94,19 @@ The Issue Queue is reserved for Bug Reports and Feature Requests. To get help wi
Marlin is constantly improving thanks to a huge number of contributors from all over the world bringing their specialties and talents. Huge thanks are due to [all the contributors](https://github.com/MarlinFirmware/Marlin/graphs/contributors) who regularly patch up bugs, help direct traffic, and basically keep Marlin from falling apart. Marlin's continued existence would not be possible without them. Marlin is constantly improving thanks to a huge number of contributors from all over the world bringing their specialties and talents. Huge thanks are due to [all the contributors](https://github.com/MarlinFirmware/Marlin/graphs/contributors) who regularly patch up bugs, help direct traffic, and basically keep Marlin from falling apart. Marlin's continued existence would not be possible without them.
## Administration ## Project Leadership
Regular users can open and close their own issues, but only the administrators can do project-related things like add labels, merge changes, set milestones, and kick trolls. The current Marlin admin team consists of: Name|Role|Link|Donate
----|----|----|----
<table align="center"> 🇺🇸 Scott Lahteine|Project Lead|[[@thinkyhead](https://github.com/thinkyhead)]|[💸 Donate](https://marlinfw.org/docs/development/contributing.html#donate)
<tr><td>Project Maintainer</td></tr> 🇺🇸 Roxanne Neufeld|Admin|[[@Roxy-3D](https://github.com/Roxy-3D)]|
<tr><td> 🇺🇸 Keith Bennett|Admin|[[@thisiskeithb](https://github.com/thisiskeithb)]|[💸 Donate](https://github.com/sponsors/thisiskeithb)
🇺🇸 Jason Smith|Admin|[[@sjasonsmith](https://github.com/sjasonsmith)]|
🇺🇸  **Scott Lahteine** 🇧🇷 Victor Oliveira|Admin|[[@rhapsodyv](https://github.com/rhapsodyv)]|
[@thinkyhead](https://github.com/thinkyhead) 🇬🇧 Chris Pepper|Admin|[[@p3p](https://github.com/p3p)]|
[<kbd>Donate 💸  </kbd>](https://www.thinkyhead.com/donate-to-marlin) 🇳🇿 Peter Ellens|Admin|[[@ellensp](https://github.com/ellensp)]|[💸 Donate](https://ko-fi.com/ellensp)
🇺🇸 Bob Kuhn|Admin|[[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)]|
</td><td> 🇳🇱 Erik van der Zalm|Founder|[[@ErikZalm](https://github.com/ErikZalm)]|
🇺🇸  **Roxanne Neufeld**
[@Roxy-3D](https://github.com/Roxy-3D)
🇺🇸  **Keith Bennett**
[@thisiskeithb](https://github.com/thisiskeithb)
[<kbd>Donate 💸  </kbd>](https://github.com/sponsors/thisiskeithb)
🇺🇸  **Jason Smith**
[@sjasonsmith](https://github.com/sjasonsmith)
</td><td>
🇧🇷  **Victor Oliveira**
[@rhapsodyv](https://github.com/rhapsodyv)
🇬🇧  **Chris Pepper**
[@p3p](https://github.com/p3p)
🇳🇿  **Peter Ellens**
[@ellensp](https://github.com/ellensp)
[<kbd>Donate 💸  </kbd>](https://ko-fi.com/ellensp)
</td><td>
🇺🇸  **Bob Kuhn**
[@Bob-the-Kuhn](https://github.com/Bob-the-Kuhn)
🇳🇱  **Erik van der Zalm**
[@ErikZalm](https://github.com/ErikZalm)
</td></tr>
</table>
## License ## License

View File

@@ -1,3 +1,3 @@
# Where have all the configurations gone? # Where have all the configurations gone?
## https://github.com/MarlinFirmware/Configurations/archive/release-2.1.2.3.zip ## https://github.com/MarlinFirmware/Configurations/archive/release-2.1.2.4.zip

View File

@@ -15,11 +15,12 @@
[env:SAMD51_grandcentral_m4] [env:SAMD51_grandcentral_m4]
platform = atmelsam platform = atmelsam
board = adafruit_grandcentral_m4 board = adafruit_grandcentral_m4
build_flags = ${common.build_flags} -std=gnu++17 build_flags = ${common.build_flags} -std=gnu++17 -DUSE_TINYUSB
build_unflags = -std=gnu++11 build_unflags = -std=gnu++11
build_src_filter = ${common.default_src_filter} +<src/HAL/SAMD51> build_src_filter = ${common.default_src_filter} +<src/HAL/SAMD51>
lib_deps = ${common.lib_deps} lib_deps = ${common.lib_deps}
SoftwareSerialM SoftwareSerialM
Adafruit TinyUSB Library
extra_scripts = ${common.extra_scripts} extra_scripts = ${common.extra_scripts}
pre:buildroot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py pre:buildroot/share/PlatformIO/scripts/SAMD51_grandcentral_m4.py
custom_marlin.HAS_MEDIA = SdFat - Adafruit Fork, Adafruit SPIFlash custom_marlin.HAS_MEDIA = SdFat - Adafruit Fork, Adafruit SPIFlash