Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
b79231c
🩹 Remove poison wchar_t macro
thinkyhead Jul 2, 2022
a5b076d
🩹 Fix MKS TinyBee ADC Vref (#24432)
thisiskeithb Jul 3, 2022
5bf02e3
🚸 MPCTEMP: Home before cooling (#24434)
thisiskeithb Jul 3, 2022
8f84ce7
Fix SDIO for STM32
thinkyhead Jul 9, 2022
686d1fb
🎨 ANY => EITHER
thinkyhead Jul 14, 2022
adeca47
🔨 Fix Warnings.cpp force-recompile
thinkyhead Jul 15, 2022
495002e
🐛 Fix 2d mesh print (#24536)
tombrazier Jul 23, 2022
5e0a392
🎨 Clean up extra axes
thinkyhead Jul 24, 2022
2bf6573
🐛 Fix SDIO for STM32 (#24470)
thinkyhead Jul 9, 2022
1ffc4ba
🩹 Fix some parameters w/out values (#24051)
DerAndere1 Apr 18, 2022
35d5393
📝 Index Mobo Rev03 => Opulo Lumen Rev3
thinkyhead Jun 30, 2022
5bd0541
✨ BigTreeTech SKR SE BX V3.0 (#24449)
thisiskeithb Jul 4, 2022
9fe4d2c
✨ Creality3D v4.2.5 / CR200B (#24491)
rhapsodyv Jul 14, 2022
6ad7f7c
✨ eMotion-Tech eMotronic (Micro-Delta rework) (#24488)
strnk Jul 16, 2022
a1881f7
✨ MKS Monster8 V2 (#24483)
thisiskeithb Jul 11, 2022
3b37e85
🚸 Arrange EXP pins in common order (#24525)
thinkyhead Jul 16, 2022
53b73bb
🔧 Config parity with 2.1.x
thinkyhead Jul 18, 2022
af4160a
🐛 Fix types.h macros and fields
thinkyhead Jun 29, 2022
1e3fe65
🚨 Fix some compiler warnings
thinkyhead Jan 1, 2022
d5a79c2
♻️ More updates for multi-axis
DerAndere1 Apr 1, 2022
c56fb1c
🎨 Minimize block->steps.set
thinkyhead Apr 20, 2022
047d026
🔨 BTT STM32G0B1RE xfer build (#24245)
elimisback May 28, 2022
b7b2286
⚡️ Improve Sensorless homing/probing accuracy for G28, G33, M48 (#24220)
lujios Jun 3, 2022
e170460
♻️ Planner flags refactor
thinkyhead Jun 27, 2022
b548e21
♻️ reset_acceleration_rates => refresh_…
thinkyhead Jun 27, 2022
0ec1cb5
🔨 Fix OpenBLT encode; no-bootloader envs (#24446)
EvilGremlin Jul 4, 2022
9e530cd
🐛 Fix MKS TinyBee compile (#24454)
eduard-sukharev Jul 6, 2022
12ae80b
🔨 Disable stack protector on macOS simulator (#24443)
rhapsodyv Jul 3, 2022
08e6e8b
♻️ Encapsulate PID in class (#24389)
thinkyhead Jul 3, 2022
dddbc4d
🔨 PlatformIO "--target upload" == "--target exec"
thinkyhead Jul 15, 2022
0caf234
🔨 Fix firmware upload (#24499)
GHGiampy Jul 15, 2022
ddb0168
♻️ More updates for multi-axis
thinkyhead Jul 17, 2022
5ccdc9c
🏗️ Axis name arrays
thinkyhead Apr 4, 2022
543bbf0
💥 Update Motor Current G-codes for extra axes (#23975)
DerAndere1 Apr 19, 2022
e570c4c
🧑‍💻 Forward-compatible axis strings
thinkyhead May 22, 2022
90074e6
🎨 Fix/adjust warnings (#24225, #24404)
thisiskeithb May 22, 2022
b49da1d
💥 More M306 M => M306 H (#24258)
tombrazier May 31, 2022
b025c18
⚡️ Fix and improve Inline Laser Power (#22690)
descipher Jul 6, 2022
c96ed89
🩹 Fix LCD_BACKLIGHT_TIMEOUT compile (#24463)
sjasonsmith Jul 8, 2022
653f0ab
🔨 Fix and update Makefile
thinkyhead Jul 14, 2022
a50bb96
🔨 Fix Warnings.cpp force-recompile
thinkyhead Jul 15, 2022
e616542
✨ Polargraph M665 settings (#24401)
arthursw Jul 16, 2022
78fc5ac
🔨 Add mftest --default flag
thinkyhead Jul 16, 2022
99710b9
🎨 Clean up extra axes
thinkyhead Jul 24, 2022
ad4bc37
📝 Update Driver Type comments
thinkyhead Jul 24, 2022
cdda90f
📝 Update MPCTEMP G-Code M306 T (#24535)
thisiskeithb Jul 25, 2022
c847ef0
📺 Fix TFT Classic UI non-Touchscreen 1024x600 (#24541)
thisiskeithb Jul 25, 2022
bc91b1c
🎨 PIO scripts cleanup
thinkyhead Jul 24, 2022
c801cc4
🔨 Update build/CI scripts
thinkyhead Jul 26, 2022
62d29ad
🩹 Fix lcd_preheat compile
thinkyhead Jul 27, 2022
9f5aab1
🧑‍💻 Update planner/stepper includes
thinkyhead Jul 27, 2022
36d508c
🌐 Update German language (#24555)
Ludy87 Jul 28, 2022
af24e1b
Fix axis string 'N' (#24259)
kisslorand May 31, 2022
77fc65d
🏗️ Extend AXIS_CHAR to include E
thinkyhead Apr 4, 2022
ba8f109
🩹 Fix manual move titles (#24518)
thinkyhead Jul 19, 2022
750a8db
🩹 Fix MAX31865 approximations
thinkyhead Jul 22, 2022
ff1ecb0
🎨 Misc. 'else' cleanup
thinkyhead Jul 29, 2022
01f16da
🐛 Fix Archim2 USB Hang (#24314)
InsanityAutomation Jul 20, 2022
d617002
🚸 Fix and update ProUI (#24477)
mriscoc Jul 14, 2022
f18b0f6
🩹 Fix MKS UI extruder speed (#24476)
toomuchwonder Jul 14, 2022
a03516a
🚸 Better M350, M114 with more axes (#23986)
DerAndere1 Apr 4, 2022
f9154ec
🩹 Fix TFT image packing
thinkyhead Jul 23, 2022
56974af
🐛 Fix laser/fan sync (#24460)
descipher Jul 8, 2022
6f51f19
🩹 Fix ST7565 LCD contrast init (#24457)
strnk Jul 6, 2022
bf08425
🎨 Fix comments, formatting
thinkyhead Jun 21, 2022
34f9c28
🩹 Fix safe homing sanity-check (#24462)
Dids Jul 7, 2022
cea45d4
🎨 Misc. 6-axis cleanup
thinkyhead Apr 10, 2022
39863d5
🐛 Fix BACKLASH_COMPENSATION compile (#24072)
ellensp Apr 23, 2022
0a4aa09
🔧 Assert Probe Temp Comp requirements (#24468)
thisiskeithb Jul 8, 2022
2bb9a5e
🩹 Apply linearval in M600
thinkyhead Jul 29, 2022
2461138
🩹 Fix G33 Delta Sensorless Probing compile (#24291)
lujios Jun 7, 2022
6523b92
🩹 Fix G60/G61 debug code (#24231)
ellensp Jun 2, 2022
fa50d2c
🧑‍💻 Fix MAP macro use
thinkyhead Jul 29, 2022
406c234
🚸 Machine-relative Z_STEPPER_ALIGN_XY (#24261)
InsanityAutomation Jul 19, 2022
35e1384
📝 Update board MCU comments (#24486)
thisiskeithb Jul 15, 2022
3a5e87c
📺 SKR_MINI_SCREEN_ADAPTER for BTT SKR Mini E3 V3 (#24521)
ellensp Jul 19, 2022
929ce5e
🧑‍💻 Add Sim debug with lldb
thinkyhead Jul 11, 2022
8e6aa1b
🧑‍💻 Fix and improve build_all_examples
thinkyhead Jul 29, 2022
af69958
🩹 Revert extra axis changes
thinkyhead Jul 29, 2022
5c46ae4
⚡️ Optimize G2-G3 Arcs (#24366)
tombrazier Jul 8, 2022
752f3d4
⚡️ Optimize Planner calculations (#24484, #24509)
tombrazier Jul 15, 2022
2952f0b
Updates from #24560
thisiskeithb Jul 29, 2022
593b734
♻️ Small sound / buzz refactor (#24520)
thinkyhead Jul 19, 2022
25521cb
🚸 Fix, update ProUI (#24251, #24473, #24500)
mriscoc May 28, 2022
dc3322b
🧑‍💻 Axis macros parity with 2.1.x
thinkyhead Jul 29, 2022
889d122
🧑‍💻 Further script updates
thinkyhead Jul 29, 2022
3638ce2
🚑️ Fix XYZEval = N not setting E
thinkyhead Jul 29, 2022
01f96a1
🔖 Marlin 2.0.9.5
thinkyhead Jul 29, 2022
aaa4e8e
🐛 Fix recalculate_max_e_jerk
thinkyhead Nov 10, 2022
d02d7d2
🩹 Add missing FORCE_SOFT_SPI (#24940)
ellensp Nov 14, 2022
284cc8f
🧑‍💻 Update Python indentation
thinkyhead Mar 26, 2023
41593c4
🔨 Newer PlatformIO support
thinkyhead Mar 26, 2023
e7186fc
🔨 Fix thread-unsafe deque iteration
thinkyhead Mar 26, 2023
a8cf849
🔨 Use 'build_src_filter'
thinkyhead May 17, 2023
5ac0c72
🐛 Fix G2/G3 limiting_speed (#25988)
GMagician Jun 17, 2023
743d310
🔨 [2.0.9.7] Use older chitu_crypt.py
thinkyhead Jul 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 5 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ end_of_line = lf
indent_style = space
indent_size = 2

[{*.py,*.conf,*.sublime-project}]
[{*.py}]
indent_style = space
indent_size = 4

[{*.conf,*.sublime-project}]
indent_style = tab
indent_size = 4
7 changes: 5 additions & 2 deletions .github/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,11 @@ This project and everyone participating in it is governed by the [Marlin Code of

We have a Message Board and a Facebook group where our knowledgable user community can provide helpful advice if you have questions.

* [Marlin RepRap forum](https://reprap.org/forum/list.php?415)
* [MarlinFirmware on Facebook](https://www.facebook.com/groups/1049718498464482/)
- [Marlin Documentation](https://marlinfw.org) - Official Marlin documentation
- Facebook Group ["Marlin Firmware"](https://www.facebook.com/groups/1049718498464482/)
- RepRap.org [Marlin Forum](https://forums.reprap.org/list.php?415)
- Facebook Group ["Marlin Firmware for 3D Printers"](https://www.facebook.com/groups/3Dtechtalk/)
- [Marlin Configuration](https://www.youtube.com/results?search_query=marlin+configuration) on YouTube

If chat is more your speed, you can join the MarlinFirmware Discord server:

Expand Down
206 changes: 176 additions & 30 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
*
* Advanced settings can be found in Configuration_adv.h
*/
#define CONFIGURATION_H_VERSION 02000904
#define CONFIGURATION_H_VERSION 02000905

//===========================================================================
//============================= Getting Started =============================
Expand All @@ -57,15 +57,6 @@
* https://www.thingiverse.com/thing:1278865
*/

//===========================================================================
//========================== DELTA / SCARA / TPARA ==========================
//===========================================================================
//
// Download configurations from the link above and customize for your machine.
// Examples are located in config/examples/delta, .../SCARA, and .../TPARA.
//
//===========================================================================

// @section info

// Author info of this build printed to the host during boot and M115
Expand Down Expand Up @@ -186,28 +177,27 @@
//#define E7_DRIVER_TYPE A4988

/**
* Axis codes for additional axes:
* This defines the axis code that is used in G-code commands to
* reference a specific axis.
* 'A' for rotational axis parallel to X
* 'B' for rotational axis parallel to Y
* 'C' for rotational axis parallel to Z
* 'U' for secondary linear axis parallel to X
* 'V' for secondary linear axis parallel to Y
* 'W' for secondary linear axis parallel to Z
* Regardless of the settings, firmware-internal axis IDs are
* I (AXIS4), J (AXIS5), K (AXIS6).
* Additional Axis Settings
*
* AXISn_NAME defines the letter used to refer to the axis in (most) G-code commands.
* By convention the names and roles are typically:
* 'A' : Rotational axis parallel to X
* 'B' : Rotational axis parallel to Y
* 'C' : Rotational axis parallel to Z
* 'U' : Secondary linear axis parallel to X
* 'V' : Secondary linear axis parallel to Y
* 'W' : Secondary linear axis parallel to Z
*
* Regardless of these settings the axes are internally named I, J, K.
*/
#ifdef I_DRIVER_TYPE
#define AXIS4_NAME 'A' // :['A', 'B', 'C', 'U', 'V', 'W']
#endif
#ifdef J_DRIVER_TYPE
#define AXIS5_NAME 'B' // :['B', 'C', 'U', 'V', 'W']
#define AXIS5_ROTATES
#endif
#ifdef K_DRIVER_TYPE
#define AXIS6_NAME 'C' // :['C', 'U', 'V', 'W']
#define AXIS6_ROTATES
#endif

// @section extruder
Expand Down Expand Up @@ -643,7 +633,7 @@
*
* Use a physical model of the hotend to control temperature. When configured correctly
* this gives better responsiveness and stability than PID and it also removes the need
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 to autotune the model.
* for PID_EXTRUSION_SCALING and PID_FAN_SCALING. Use M306 T to autotune the model.
*/
#if ENABLED(MPCTEMP)
//#define MPC_EDIT_MENU // Add MPC editing to the "Advanced Settings" menu. (~1300 bytes of flash)
Expand Down Expand Up @@ -845,6 +835,134 @@
#define POLAR_SEGMENTS_PER_SECOND 5
#endif

// Enable for DELTA kinematics and configure below
//#define DELTA
#if ENABLED(DELTA)

// Make delta curves from many straight lines (linear interpolation).
// This is a trade-off between visible corners (not enough segments)
// and processor overload (too many expensive sqrt calls).
#define DELTA_SEGMENTS_PER_SECOND 200

// After homing move down to a height where XY movement is unconstrained
//#define DELTA_HOME_TO_SAFE_ZONE

// Delta calibration menu
// uncomment to add three points calibration menu option.
// See http://minow.blogspot.com/index.html#4918805519571907051
//#define DELTA_CALIBRATION_MENU

// uncomment to add G33 Delta Auto-Calibration (Enable EEPROM_SETTINGS to store results)
//#define DELTA_AUTO_CALIBRATION

// NOTE NB all values for DELTA_* values MUST be floating point, so always have a decimal point in them

#if ENABLED(DELTA_AUTO_CALIBRATION)
// set the default number of probe points : n*n (1 -> 7)
#define DELTA_CALIBRATION_DEFAULT_POINTS 4
#endif

#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
// Set the steprate for papertest probing
#define PROBE_MANUALLY_STEP 0.05 // (mm)
#endif

// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
#define DELTA_PRINTABLE_RADIUS 140.0 // (mm)

// Maximum reachable area
#define DELTA_MAX_RADIUS 140.0 // (mm)

// Center-to-center distance of the holes in the diagonal push rods.
#define DELTA_DIAGONAL_ROD 250.0 // (mm)

// Distance between bed and nozzle Z home position
#define DELTA_HEIGHT 250.00 // (mm) Get this value from G33 auto calibrate

#define DELTA_ENDSTOP_ADJ { 0.0, 0.0, 0.0 } // Get these values from G33 auto calibrate

// Horizontal distance bridged by diagonal push rods when effector is centered.
#define DELTA_RADIUS 124.0 // (mm) Get this value from G33 auto calibrate

// Trim adjustments for individual towers
// tower angle corrections for X and Y tower / rotate XYZ so Z tower angle = 0
// measured in degrees anticlockwise looking from above the printer
#define DELTA_TOWER_ANGLE_TRIM { 0.0, 0.0, 0.0 } // Get these values from G33 auto calibrate

// Delta radius and diagonal rod adjustments (mm)
//#define DELTA_RADIUS_TRIM_TOWER { 0.0, 0.0, 0.0 }
//#define DELTA_DIAGONAL_ROD_TRIM_TOWER { 0.0, 0.0, 0.0 }
#endif

/**
* MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
* Implemented and slightly reworked by JCERNY in June, 2014.
*
* Mostly Printed SCARA is an open source design by Tyler Williams. See:
* https://www.thingiverse.com/thing:2487048
* https://www.thingiverse.com/thing:1241491
*/
//#define MORGAN_SCARA
//#define MP_SCARA
#if EITHER(MORGAN_SCARA, MP_SCARA)
// If movement is choppy try lowering this value
#define SCARA_SEGMENTS_PER_SECOND 200

// Length of inner and outer support arms. Measure arm lengths precisely.
#define SCARA_LINKAGE_1 150 // (mm)
#define SCARA_LINKAGE_2 150 // (mm)

// SCARA tower offset (position of Tower relative to bed zero position)
// This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
#define SCARA_OFFSET_X 100 // (mm)
#define SCARA_OFFSET_Y -56 // (mm)

#if ENABLED(MORGAN_SCARA)

//#define DEBUG_SCARA_KINEMATICS
#define SCARA_FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly

// Radius around the center where the arm cannot reach
#define MIDDLE_DEAD_ZONE_R 0 // (mm)

#define THETA_HOMING_OFFSET 0 // Calculated from Calibration Guide and M360 / M114. See http://reprap.harleystudio.co.za/?page_id=1073
#define PSI_HOMING_OFFSET 0 // Calculated from Calibration Guide and M364 / M114. See http://reprap.harleystudio.co.za/?page_id=1073

#elif ENABLED(MP_SCARA)

#define SCARA_OFFSET_THETA1 12 // degrees
#define SCARA_OFFSET_THETA2 131 // degrees

#endif

#endif

// Enable for TPARA kinematics and configure below
//#define AXEL_TPARA
#if ENABLED(AXEL_TPARA)
#define DEBUG_ROBOT_KINEMATICS
#define ROBOT_SEGMENTS_PER_SECOND 200

// Length of inner and outer support arms. Measure arm lengths precisely.
#define ROBOT_LINKAGE_1 120 // (mm)
#define ROBOT_LINKAGE_2 120 // (mm)

// SCARA tower offset (position of Tower relative to bed zero position)
// This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
#define ROBOT_OFFSET_X 0 // (mm)
#define ROBOT_OFFSET_Y 0 // (mm)
#define ROBOT_OFFSET_Z 0 // (mm)

#define SCARA_FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly

// Radius around the center where the arm cannot reach
#define MIDDLE_DEAD_ZONE_R 0 // (mm)

// Calculated from Calibration Guide and M360 / M114. See http://reprap.harleystudio.co.za/?page_id=1073
#define THETA_HOMING_OFFSET 0
#define PSI_HOMING_OFFSET 0
#endif

//===========================================================================
//============================== Endstop Settings ===========================
//===========================================================================
Expand Down Expand Up @@ -1001,9 +1119,9 @@
* M204 R Retract Acceleration
* M204 T Travel Acceleration
*/
#define DEFAULT_ACCELERATION 3000 // X, Y, Z and E acceleration for printing moves
#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_TRAVEL_ACCELERATION 3000 // X, Y, Z ... acceleration for travel (non printing) moves

/**
* Default Jerk limits (mm/s)
Expand Down Expand Up @@ -1185,9 +1303,37 @@
*/
//#define SENSORLESS_PROBING

//
// For Z_PROBE_ALLEN_KEY see the Delta example configurations.
//
/**
* Allen key retractable z-probe as seen on many Kossel delta printers - https://reprap.org/wiki/Kossel#Automatic_bed_leveling_probe
* Deploys by touching z-axis belt. Retracts by pushing the probe down.
*/
//#define Z_PROBE_ALLEN_KEY
#if ENABLED(Z_PROBE_ALLEN_KEY)
// 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
// if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.

#define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 }
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_FEEDRATE

#define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 }
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_FEEDRATE)/10

#define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 }
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_FEEDRATE

#define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position
#define Z_PROBE_ALLEN_KEY_STOW_1_FEEDRATE XY_PROBE_FEEDRATE

#define Z_PROBE_ALLEN_KEY_STOW_2 { -64.0, 56.0, 3.0 } // Push it down
#define Z_PROBE_ALLEN_KEY_STOW_2_FEEDRATE (XY_PROBE_FEEDRATE)/10

#define Z_PROBE_ALLEN_KEY_STOW_3 { -64.0, 56.0, 50.0 } // Move it up to clear
#define Z_PROBE_ALLEN_KEY_STOW_3_FEEDRATE XY_PROBE_FEEDRATE

#define Z_PROBE_ALLEN_KEY_STOW_4 { 0.0, 0.0, 50.0 }
#define Z_PROBE_ALLEN_KEY_STOW_4_FEEDRATE XY_PROBE_FEEDRATE

#endif // Z_PROBE_ALLEN_KEY

/**
* Nozzle-to-Probe offsets { X, Y, Z }
Expand Down Expand Up @@ -1738,7 +1884,7 @@
//#define LCD_BED_TRAMMING

#if ENABLED(LCD_BED_TRAMMING)
#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
#define BED_TRAMMING_HEIGHT 0.0 // (mm) Z height of nozzle at leveling points
#define BED_TRAMMING_Z_HOP 4.0 // (mm) Z height of nozzle between leveling points
//#define BED_TRAMMING_INCLUDE_CENTER // Move to the center after the last corner
Expand Down
Loading