Skip to content

Commit 151dd73

Browse files
committed
Merge 'bugfix-2.1.x' into pr/25036
2 parents be1e5d8 + ef3f484 commit 151dd73

File tree

457 files changed

+37795
-6986
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

457 files changed

+37795
-6986
lines changed

.github/workflows/check-pr.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ jobs:
2929
3030
Please redo this PR starting with the `bugfix-2.1.x` branch and be careful to target `bugfix-2.1.x` when resubmitting the PR. Patches may also target `bugfix-2.0.x` if they are specifically for 2.0.9.x.
3131
32-
It may help to set your fork's default branch to `bugfix-2.0.x`.
32+
It may help to set your fork's default branch to `bugfix-2.1.x`.
3333
3434
See [this page](https://marlinfw.org/docs/development/getting_started_pull_requests.html) for full instructions.

.github/workflows/test-builds.yml

+1
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ jobs:
4444
- teensy31
4545
- teensy35
4646
- teensy41
47+
- SAMD21_minitronics20
4748
- SAMD51_grandcentral_m4
4849
- PANDA_PI_V29
4950

Marlin/Configuration.h

+108-36
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
*
3636
* Advanced settings can be found in Configuration_adv.h
3737
*/
38-
#define CONFIGURATION_H_VERSION 02010200
38+
#define CONFIGURATION_H_VERSION 02010300
3939

4040
//===========================================================================
4141
//============================= Getting Started =============================
@@ -878,8 +878,9 @@
878878
// Enable for Polargraph Kinematics
879879
//#define POLARGRAPH
880880
#if ENABLED(POLARGRAPH)
881-
#define POLARGRAPH_MAX_BELT_LEN 1035.0
882-
#define DEFAULT_SEGMENTS_PER_SECOND 5
881+
#define POLARGRAPH_MAX_BELT_LEN 1035.0 // (mm) Belt length at full extension. Override with M665 H.
882+
#define DEFAULT_SEGMENTS_PER_SECOND 5 // Move segmentation based on duration
883+
#define PEN_UP_DOWN_MENU // Add "Pen Up" and "Pen Down" to the MarlinUI menu
883884
#endif
884885

885886
// @section delta
@@ -909,15 +910,13 @@
909910
#define DELTA_CALIBRATION_DEFAULT_POINTS 4
910911
#endif
911912

912-
// NOTE: All values for DELTA_* values MUST be floating point, so always have a decimal point in them
913-
914913
#if EITHER(DELTA_AUTO_CALIBRATION, DELTA_CALIBRATION_MENU)
915914
// Step size for paper-test probing
916915
#define PROBE_MANUALLY_STEP 0.05 // (mm)
917916
#endif
918917

919918
// Print surface diameter/2 minus unreachable space (avoid collisions with vertical towers).
920-
#define DELTA_PRINTABLE_RADIUS 140.0 // (mm)
919+
#define PRINTABLE_RADIUS 140.0 // (mm)
921920

922921
// Maximum reachable area
923922
#define DELTA_MAX_RADIUS 140.0 // (mm)
@@ -971,7 +970,7 @@
971970
#if ENABLED(MORGAN_SCARA)
972971

973972
//#define DEBUG_SCARA_KINEMATICS
974-
#define SCARA_FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
973+
#define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
975974

976975
// Radius around the center where the arm cannot reach
977976
#define MIDDLE_DEAD_ZONE_R 0 // (mm)
@@ -1006,7 +1005,7 @@
10061005
#define TPARA_OFFSET_Y 0 // (mm)
10071006
#define TPARA_OFFSET_Z 0 // (mm)
10081007

1009-
#define SCARA_FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
1008+
#define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
10101009

10111010
// Radius around the center where the arm cannot reach
10121011
#define MIDDLE_DEAD_ZONE_R 0 // (mm)
@@ -1016,6 +1015,59 @@
10161015
#define PSI_HOMING_OFFSET 0
10171016
#endif
10181017

1018+
// @section polar
1019+
1020+
/**
1021+
* POLAR Kinematics
1022+
* developed by Kadir ilkimen for PolarBear CNC and babyBear
1023+
* https://github.com/kadirilkimen/Polar-Bear-Cnc-Machine
1024+
* https://github.com/kadirilkimen/babyBear-3D-printer
1025+
*
1026+
* A polar machine can have different configurations.
1027+
* This kinematics is only compatible with the following configuration:
1028+
* X : Independent linear
1029+
* Y or B : Polar
1030+
* Z : Independent linear
1031+
*
1032+
* For example, PolarBear has CoreXZ plus Polar Y or B.
1033+
*
1034+
* Motion problem for Polar axis near center / origin:
1035+
*
1036+
* 3D printing:
1037+
* Movements very close to the center of the polar axis take more time than others.
1038+
* This brief delay results in more material deposition due to the pressure in the nozzle.
1039+
*
1040+
* Current Kinematics and feedrate scaling deals with this by making the movement as fast
1041+
* as possible. It works for slow movements but doesn't work well with fast ones. A more
1042+
* complicated extrusion compensation must be implemented.
1043+
*
1044+
* Ideally, it should estimate that a long rotation near the center is ahead and will cause
1045+
* unwanted deposition. Therefore it can compensate the extrusion beforehand.
1046+
*
1047+
* Laser cutting:
1048+
* Same thing would be a problem for laser engraving too. As it spends time rotating at the
1049+
* center point, more likely it will burn more material than it should. Therefore similar
1050+
* compensation would be implemented for laser-cutting operations.
1051+
*
1052+
* Milling:
1053+
* This shouldn't be a problem for cutting/milling operations.
1054+
*/
1055+
//#define POLAR
1056+
#if ENABLED(POLAR)
1057+
#define DEFAULT_SEGMENTS_PER_SECOND 180 // If movement is choppy try lowering this value
1058+
#define PRINTABLE_RADIUS 82.0f // (mm) Maximum travel of X axis
1059+
1060+
// Movements fall inside POLAR_FAST_RADIUS are assigned the highest possible feedrate
1061+
// to compensate unwanted deposition related to the near-origin motion problem.
1062+
#define POLAR_FAST_RADIUS 3.0f // (mm)
1063+
1064+
// Radius which is unreachable by the tool.
1065+
// Needed if the tool is not perfectly aligned to the center of the polar axis.
1066+
#define POLAR_CENTER_OFFSET 0.0f // (mm)
1067+
1068+
#define FEEDRATE_SCALING // Convert XY feedrate from mm/s to degrees/s on the fly
1069+
#endif
1070+
10191071
// @section machine
10201072

10211073
// Articulated robot (arm). Joints are directly mapped to axes with no kinematics.
@@ -1422,13 +1474,13 @@
14221474
// 2 or 3 sets of coordinates for deploying and retracting the spring loaded touch probe on G29,
14231475
// if servo actuated touch probe is not defined. Uncomment as appropriate for your printer/probe.
14241476

1425-
#define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, DELTA_PRINTABLE_RADIUS, 100.0 }
1477+
#define Z_PROBE_ALLEN_KEY_DEPLOY_1 { 30.0, PRINTABLE_RADIUS, 100.0 }
14261478
#define Z_PROBE_ALLEN_KEY_DEPLOY_1_FEEDRATE XY_PROBE_FEEDRATE
14271479

1428-
#define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, DELTA_PRINTABLE_RADIUS, 100.0 }
1480+
#define Z_PROBE_ALLEN_KEY_DEPLOY_2 { 0.0, PRINTABLE_RADIUS, 100.0 }
14291481
#define Z_PROBE_ALLEN_KEY_DEPLOY_2_FEEDRATE (XY_PROBE_FEEDRATE)/10
14301482

1431-
#define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (DELTA_PRINTABLE_RADIUS) * 0.75, 100.0 }
1483+
#define Z_PROBE_ALLEN_KEY_DEPLOY_3 { 0.0, (PRINTABLE_RADIUS) * 0.75, 100.0 }
14321484
#define Z_PROBE_ALLEN_KEY_DEPLOY_3_FEEDRATE XY_PROBE_FEEDRATE
14331485

14341486
#define Z_PROBE_ALLEN_KEY_STOW_1 { -64.0, 56.0, 23.0 } // Move the probe into position
@@ -1918,17 +1970,21 @@
19181970
#endif
19191971

19201972
#if ANY(MESH_BED_LEVELING, AUTO_BED_LEVELING_BILINEAR, AUTO_BED_LEVELING_UBL)
1921-
// Gradually reduce leveling correction until a set height is reached,
1922-
// at which point movement will be level to the machine's XY plane.
1923-
// The height can be set with M420 Z<height>
1973+
/**
1974+
* Gradually reduce leveling correction until a set height is reached,
1975+
* at which point movement will be level to the machine's XY plane.
1976+
* The height can be set with M420 Z<height>
1977+
*/
19241978
#define ENABLE_LEVELING_FADE_HEIGHT
19251979
#if ENABLED(ENABLE_LEVELING_FADE_HEIGHT)
19261980
#define DEFAULT_LEVELING_FADE_HEIGHT 10.0 // (mm) Default fade height.
19271981
#endif
19281982

1929-
// For Cartesian machines, instead of dividing moves on mesh boundaries,
1930-
// split up moves into short segments like a Delta. This follows the
1931-
// contours of the bed more closely than edge-to-edge straight moves.
1983+
/**
1984+
* For Cartesian machines, instead of dividing moves on mesh boundaries,
1985+
* split up moves into short segments like a Delta. This follows the
1986+
* contours of the bed more closely than edge-to-edge straight moves.
1987+
*/
19321988
#define SEGMENT_LEVELED_MOVES
19331989
#define LEVELED_SEGMENT_LENGTH 5.0 // (mm) Length of all segments (except the last one)
19341990

@@ -1964,7 +2020,7 @@
19642020
//#define EXTRAPOLATE_BEYOND_GRID
19652021

19662022
//
1967-
// Experimental Subdivision of the grid by Catmull-Rom method.
2023+
// Subdivision of the grid by Catmull-Rom method.
19682024
// Synthesizes intermediate points to produce a more detailed mesh.
19692025
//
19702026
//#define ABL_BILINEAR_SUBDIVISION
@@ -2249,7 +2305,7 @@
22492305
#endif
22502306

22512307
/**
2252-
* Clean Nozzle Feature -- EXPERIMENTAL
2308+
* Clean Nozzle Feature
22532309
*
22542310
* Adds the G12 command to perform a nozzle cleaning process.
22552311
*
@@ -2283,7 +2339,6 @@
22832339
* Before starting, the nozzle moves to NOZZLE_CLEAN_START_POINT.
22842340
*
22852341
* Caveats: The ending Z should be the same as starting Z.
2286-
* Attention: EXPERIMENTAL. G-code arguments may change.
22872342
*/
22882343
//#define NOZZLE_CLEAN_FEATURE
22892344

@@ -2739,7 +2794,7 @@
27392794

27402795
//
27412796
// ReprapWorld Graphical LCD
2742-
// https://reprapworld.com/?products_details&products_id/1218
2797+
// https://reprapworld.com/electronics/3d-printer-modules/autonomous-printing/graphical-lcd-screen-v1-0/
27432798
//
27442799
//#define REPRAPWORLD_GRAPHICAL_LCD
27452800

@@ -2937,23 +2992,16 @@
29372992

29382993
/**
29392994
* DGUS Touch Display with DWIN OS. (Choose one.)
2940-
* ORIGIN : https://www.aliexpress.com/item/32993409517.html
2941-
* FYSETC : https://www.aliexpress.com/item/32961471929.html
2942-
* MKS : https://www.aliexpress.com/item/1005002008179262.html
2943-
*
2944-
* Flash display with DGUS Displays for Marlin:
2945-
* - Format the SD card to FAT32 with an allocation size of 4kb.
2946-
* - Download files as specified for your type of display.
2947-
* - Plug the microSD card into the back of the display.
2948-
* - Boot the display and wait for the update to complete.
29492995
*
29502996
* ORIGIN (Marlin DWIN_SET)
29512997
* - Download https://github.com/coldtobi/Marlin_DGUS_Resources
29522998
* - Copy the downloaded DWIN_SET folder to the SD card.
2999+
* - Product: https://www.aliexpress.com/item/32993409517.html
29533000
*
29543001
* FYSETC (Supplier default)
29553002
* - Download https://github.com/FYSETC/FYSTLCD-2.0
29563003
* - Copy the downloaded SCREEN folder to the SD card.
3004+
* - Product: https://www.aliexpress.com/item/32961471929.html
29573005
*
29583006
* HIPRECY (Supplier default)
29593007
* - Download https://github.com/HiPrecy/Touch-Lcd-LEO
@@ -2962,17 +3010,24 @@
29623010
* MKS (MKS-H43) (Supplier default)
29633011
* - Download https://github.com/makerbase-mks/MKS-H43
29643012
* - Copy the downloaded DWIN_SET folder to the SD card.
3013+
* - Product: https://www.aliexpress.com/item/1005002008179262.html
29653014
*
29663015
* RELOADED (T5UID1)
29673016
* - Download https://github.com/Desuuuu/DGUS-reloaded/releases
29683017
* - Copy the downloaded DWIN_SET folder to the SD card.
3018+
*
3019+
* IA_CREALITY (T5UID1)
3020+
* - Download https://github.com/InsanityAutomation/Marlin/raw/CrealityDwin2.0_Bleeding/TM3D_Combined480272_Landscape_V7.7z
3021+
* - Copy the downloaded DWIN_SET folder to the SD card.
3022+
*
3023+
* Flash display with DGUS Displays for Marlin:
3024+
* - Format the SD card to FAT32 with an allocation size of 4kb.
3025+
* - Download files as specified for your type of display.
3026+
* - Plug the microSD card into the back of the display.
3027+
* - Boot the display and wait for the update to complete.
29693028
*/
2970-
//#define DGUS_LCD_UI_ORIGIN
2971-
//#define DGUS_LCD_UI_FYSETC
2972-
//#define DGUS_LCD_UI_HIPRECY
2973-
//#define DGUS_LCD_UI_MKS
2974-
//#define DGUS_LCD_UI_RELOADED
2975-
#if ENABLED(DGUS_LCD_UI_MKS)
3029+
//#define DGUS_LCD_UI ORIGIN
3030+
#if DGUS_UI_IS(MKS)
29763031
#define USE_MKS_GREEN_UI
29773032
#endif
29783033

@@ -3130,6 +3185,19 @@
31303185
//#define TFT_COLOR_UI
31313186
//#define TFT_LVGL_UI
31323187

3188+
#if ENABLED(TFT_COLOR_UI)
3189+
/**
3190+
* TFT Font for Color_UI. Choose one of the following:
3191+
*
3192+
* NOTOSANS - Default font with antialiasing. Supports Latin Extended and non-Latin characters.
3193+
* UNIFONT - Lightweight font, no antialiasing. Supports Latin Extended and non-Latin characters.
3194+
* HELVETICA - Lightweight font, no antialiasing. Supports Basic Latin (0x0020-0x007F) and Latin-1 Supplement (0x0080-0x00FF) characters only.
3195+
*/
3196+
#define TFT_FONT NOTOSANS
3197+
3198+
//#define TFT_SHARED_SPI // SPI is shared between TFT display and other devices. Disable async data transfer
3199+
#endif
3200+
31333201
#if ENABLED(TFT_LVGL_UI)
31343202
//#define MKS_WIFI_MODULE // MKS WiFi module
31353203
#endif
@@ -3278,6 +3346,9 @@
32783346
//#define RGB_LED_G_PIN 43
32793347
//#define RGB_LED_B_PIN 35
32803348
//#define RGB_LED_W_PIN -1
3349+
#endif
3350+
3351+
#if ANY(RGB_LED, RGBW_LED, PCA9632)
32813352
//#define RGB_STARTUP_TEST // For PWM pins, fade between all colors
32823353
#if ENABLED(RGB_STARTUP_TEST)
32833354
#define RGB_STARTUP_TEST_INNER_MS 10 // (ms) Reduce or increase fading speed
@@ -3303,6 +3374,7 @@
33033374
#define NEOPIXEL2_PIXELS 15 // Number of LEDs in the second strip
33043375
#define NEOPIXEL2_BRIGHTNESS 127 // Initial brightness (0-255)
33053376
#define NEOPIXEL2_STARTUP_TEST // Cycle through colors at startup
3377+
#define NEOPIXEL_M150_DEFAULT -1 // Default strip for M150 without 'S'. Use -1 to set all by default.
33063378
#else
33073379
//#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel
33083380
#endif

0 commit comments

Comments
 (0)