Skip to content

Commit 0bbb3fd

Browse files
Merge remote-tracking branch 'MarlinFW/2.0.x' into 2.0.x
2 parents 15b93f2 + 55a6315 commit 0bbb3fd

File tree

654 files changed

+7235
-3200
lines changed

Some content is hidden

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

654 files changed

+7235
-3200
lines changed

.github/workflows/test-builds.yml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,23 +36,25 @@ jobs:
3636
# Base Environments
3737

3838
- DUE
39+
- DUE_archim
3940
- esp32
4041
- linux_native
4142
- mega2560
43+
- at90usb1286_dfu
4244
- teensy31
4345
- teensy35
4446
- teensy41
4547
- SAMD51_grandcentral_m4
4648

4749
# Extended AVR Environments
4850

49-
- FYSETC_F6_13
51+
- FYSETC_F6
5052
- mega1280
5153
- rambo
5254
- sanguino1284p
5355
- sanguino644p
5456

55-
# Extended STM32 Environments
57+
# STM32F1 (Maple) Environments
5658

5759
- STM32F103RC_btt
5860
- STM32F103RC_btt_USB
@@ -62,40 +64,45 @@ jobs:
6264
- STM32F103RC_meeb
6365
- jgaurora_a5s_a1
6466
- STM32F103VE_longer
67+
- mks_robin
68+
- mks_robin_lite
69+
- mks_robin_pro
70+
- STM32F103RET6_creality
71+
- mks_robin_nano35
72+
73+
# STM32 (ST) Environments
74+
75+
- STM32F103RC_btt_stm32
6576
- STM32F407VE_black
6677
- STM32F401VE_STEVAL
6778
- BIGTREE_BTT002
6879
- BIGTREE_SKR_PRO
6980
- BIGTREE_GTR_V1_0
70-
- mks_robin
7181
- mks_robin_stm32
7282
- ARMED
7383
- FYSETC_S6
7484
- STM32F070CB_malyan
7585
- STM32F070RB_malyan
7686
- malyan_M300
77-
- mks_robin_lite
7887
- FLYF407ZG
7988
- rumba32
80-
- mks_robin_pro
81-
- STM32F103RET6_creality
8289
- LERDGEX
83-
- mks_robin_nano35
90+
- LERDGEK
91+
- mks_robin_nano35_stm32
92+
- NUCLEO_F767ZI
93+
- REMRAM_V1
94+
- BTT_SKR_SE_BX
95+
- chitu_f103
8496

8597
# Put lengthy tests last
8698

8799
- LPC1768
88100
- LPC1769
89101

90-
# STM32 with non-STM framework. both broken for now. they should use HAL_STM32 which is working.
91-
92-
#- STM32F4
93-
#- STM32F7
94-
95102
# Non-working environment tests
96103
#- at90usb1286_cdc
97-
#- at90usb1286_dfu
98104
#- STM32F103CB_malyan
105+
#- STM32F103RE
99106
#- mks_robin_mini
100107

101108
steps:
@@ -116,8 +123,4 @@ jobs:
116123

117124
- name: Run ${{ matrix.test-platform }} Tests
118125
run: |
119-
# Inline tests script
120-
chmod +x buildroot/bin/*
121-
chmod +x buildroot/tests/*
122-
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH}
123-
run_tests . ${{ matrix.test-platform }}
126+
make tests-single-ci TEST_TARGET=${{ matrix.test-platform }}

Marlin/Configuration.h

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
*
3838
* Advanced settings can be found in Configuration_adv.h
3939
*/
40-
#define CONFIGURATION_H_VERSION 020008
40+
#define CONFIGURATION_H_VERSION 02000801
4141

4242
//===========================================================================
4343
//============================= Getting Started =============================
@@ -113,6 +113,13 @@
113113
*/
114114
#define SERIAL_PORT_2 -1
115115

116+
/**
117+
* Select a third serial port on the board to use for communication with the host.
118+
* Currently only supported for AVR, DUE, LPC1768/9 and STM32/STM32F1
119+
* :[-1, 0, 1, 2, 3, 4, 5, 6, 7]
120+
*/
121+
//#define SERIAL_PORT_3 1
122+
116123
/**
117124
* This setting determines the communication speed of the printer.
118125
*
@@ -1498,6 +1505,8 @@
14981505
//#define UBL_Z_RAISE_WHEN_OFF_MESH 2.5 // When the nozzle is off the mesh, this value is used
14991506
// as the Z-Height correction value.
15001507

1508+
//#define UBL_MESH_WIZARD // Run several commands in a row to get a complete mesh
1509+
15011510
#elif ENABLED(MESH_BED_LEVELING)
15021511

15031512
//===========================================================================
@@ -2268,7 +2277,8 @@
22682277
// MKS LCD12864A/B with graphic controller and SD support. Follows MKS_MINI_12864 pinout.
22692278
// https://www.aliexpress.com/item/33018110072.html
22702279
//
2271-
//#define MKS_LCD12864
2280+
//#define MKS_LCD12864A
2281+
//#define MKS_LCD12864B
22722282

22732283
//
22742284
// FYSETC variant of the MINI12864 graphic controller with SD support
@@ -2571,7 +2581,7 @@
25712581
//#define DWIN_CREALITY_LCD
25722582

25732583
//
2574-
// ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8
2584+
// Touch Screen Settings
25752585
//
25762586
//#define TOUCH_SCREEN
25772587
#if ENABLED(TOUCH_SCREEN)

Marlin/Configuration_adv.h

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
*
3333
* Basic settings can be found in Configuration.h
3434
*/
35-
#define CONFIGURATION_ADV_H_VERSION 020008
35+
#define CONFIGURATION_ADV_H_VERSION 02000801
3636

3737
//===========================================================================
3838
//============================= Thermal Settings ============================
@@ -1488,8 +1488,8 @@
14881488
#if ENABLED(MULTI_VOLUME)
14891489
#define VOLUME_SD_ONBOARD
14901490
#define VOLUME_USB_FLASH_DRIVE
1491-
#define DEFAULT_VOLUME SD_ONBOARD
1492-
#define DEFAULT_SHARED_VOLUME USB_FLASH_DRIVE
1491+
#define DEFAULT_VOLUME SV_SD_ONBOARD
1492+
#define DEFAULT_SHARED_VOLUME SV_USB_FLASH_DRIVE
14931493
#endif
14941494

14951495
#endif // SDSUPPORT
@@ -2304,14 +2304,15 @@
23042304
#endif // HAS_MULTI_EXTRUDER
23052305

23062306
/**
2307-
* Advanced Pause
2308-
* Experimental feature for filament change support and for parking the nozzle when paused.
2309-
* Adds the GCode M600 for initiating filament change.
2310-
* If PARK_HEAD_ON_PAUSE enabled, adds the GCode M125 to pause printing and park the nozzle.
2307+
* Advanced Pause for Filament Change
2308+
* - Adds the G-code M600 Filament Change to initiate a filament change.
2309+
* - This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
23112310
*
2312-
* Requires an LCD display.
2313-
* Requires NOZZLE_PARK_FEATURE.
2314-
* This feature is required for the default FILAMENT_RUNOUT_SCRIPT.
2311+
* Requirements:
2312+
* - For Filament Change parking enable and configure NOZZLE_PARK_FEATURE.
2313+
* - For user interaction enable an LCD display, HOST_PROMPT_SUPPORT, or EMERGENCY_PARSER.
2314+
*
2315+
* Enable PARK_HEAD_ON_PAUSE to add the G-code M125 Pause and Park.
23152316
*/
23162317
#define ADVANCED_PAUSE_FEATURE
23172318
#if ENABLED(ADVANCED_PAUSE_FEATURE)
@@ -3402,6 +3403,11 @@
34023403
*/
34033404
#define AUTO_REPORT_TEMPERATURES
34043405

3406+
/**
3407+
* Auto-report position with M154 S<seconds>
3408+
*/
3409+
//#define AUTO_REPORT_POSITION
3410+
34053411
/**
34063412
* Include capabilities in M115 output
34073413
*/
@@ -3471,7 +3477,7 @@
34713477
#define PROPORTIONAL_FONT_RATIO 1.0
34723478

34733479
/**
3474-
* Spend 28 bytes of SRAM to optimize the GCode parser
3480+
* Spend 28 bytes of SRAM to optimize the G-code parser
34753481
*/
34763482
#define FASTER_GCODE_PARSER
34773483

@@ -3767,6 +3773,16 @@
37673773
#define GANTRY_CALIBRATION_COMMANDS_POST "G28" // G28 highly recommended to ensure an accurate position
37683774
#endif
37693775

3776+
/**
3777+
* Instant freeze / unfreeze functionality
3778+
* Specified pin has pullup and connecting to ground will instantly pause motion.
3779+
* Potentially useful for emergency stop that allows being resumed.
3780+
*/
3781+
//#define FREEZE_FEATURE
3782+
#if ENABLED(FREEZE_FEATURE)
3783+
//#define FREEZE_PIN 41 // Override the default (KILL) pin here
3784+
#endif
3785+
37703786
/**
37713787
* MAX7219 Debug Matrix
37723788
*

Marlin/Version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
/**
2929
* Marlin release version identifier
3030
*/
31-
//#define SHORT_BUILD_VERSION "2.0.8"
31+
//#define SHORT_BUILD_VERSION "2.0.8.1"
3232

3333
/**
3434
* Verbose version identifier which should contain a reference to the location
@@ -41,7 +41,7 @@
4141
* here we define this default string as the date where the latest release
4242
* version was tagged.
4343
*/
44-
//#define STRING_DISTRIBUTION_DATE "2021-04-30"
44+
//#define STRING_DISTRIBUTION_DATE "2021-05-15"
4545

4646
/**
4747
* Defines a generic printer name to be output to the LCD after booting Marlin.

Marlin/src/HAL/AVR/HAL.h

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,28 +93,35 @@ typedef int8_t pin_t;
9393
#define MYSERIAL1 TERN(BLUETOOTH, btSerial, MSerial0)
9494
#else
9595
#if !WITHIN(SERIAL_PORT, -1, 3)
96-
#error "SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
96+
#error "SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
9797
#endif
9898
#define MYSERIAL1 customizedSerial1
9999

100100
#ifdef SERIAL_PORT_2
101101
#if !WITHIN(SERIAL_PORT_2, -1, 3)
102-
#error "SERIAL_PORT_2 must be from 0 to 3. You can also use -1 if the board supports Native USB."
102+
#error "SERIAL_PORT_2 must be from 0 to 3, or -1 for USB Serial."
103103
#endif
104104
#define MYSERIAL2 customizedSerial2
105105
#endif
106+
107+
#ifdef SERIAL_PORT_3
108+
#if !WITHIN(SERIAL_PORT_3, -1, 3)
109+
#error "SERIAL_PORT_3 must be from 0 to 3, or -1 for USB Serial."
110+
#endif
111+
#define MYSERIAL3 customizedSerial3
112+
#endif
106113
#endif
107114

108115
#ifdef MMU2_SERIAL_PORT
109116
#if !WITHIN(MMU2_SERIAL_PORT, -1, 3)
110-
#error "MMU2_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
117+
#error "MMU2_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
111118
#endif
112119
#define MMU2_SERIAL mmuSerial
113120
#endif
114121

115122
#ifdef LCD_SERIAL_PORT
116123
#if !WITHIN(LCD_SERIAL_PORT, -1, 3)
117-
#error "LCD_SERIAL_PORT must be from 0 to 3. You can also use -1 if the board supports Native USB."
124+
#error "LCD_SERIAL_PORT must be from 0 to 3, or -1 for USB Serial."
118125
#endif
119126
#define LCD_SERIAL lcdSerial
120127
#if HAS_DGUS_LCD

Marlin/src/HAL/AVR/MarlinSerial.cpp

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ ISR(SERIAL_REGNAME(USART, SERIAL_PORT, _UDRE_vect)) {
567567

568568
// Because of the template definition above, it's required to instantiate the template to have all methods generated
569569
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT> >;
570-
MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
570+
MSerialT1 customizedSerial1(MSerialT1::HasEmergencyParser);
571571

572572
#ifdef SERIAL_PORT_2
573573

@@ -582,7 +582,24 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
582582

583583
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_2> >;
584584
MSerialT2 customizedSerial2(MSerialT2::HasEmergencyParser);
585-
#endif
585+
586+
#endif // SERIAL_PORT_2
587+
588+
#ifdef SERIAL_PORT_3
589+
590+
// Hookup ISR handlers
591+
ISR(SERIAL_REGNAME(USART, SERIAL_PORT_3, _RX_vect)) {
592+
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_3>>::store_rxd_char();
593+
}
594+
595+
ISR(SERIAL_REGNAME(USART, SERIAL_PORT_3, _UDRE_vect)) {
596+
MarlinSerial<MarlinSerialCfg<SERIAL_PORT_3>>::_tx_udr_empty_irq();
597+
}
598+
599+
template class MarlinSerial< MarlinSerialCfg<SERIAL_PORT_3> >;
600+
MSerialT3 customizedSerial3(MSerialT3::HasEmergencyParser);
601+
602+
#endif // SERIAL_PORT_3
586603

587604
#ifdef MMU2_SERIAL_PORT
588605

@@ -595,8 +612,9 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
595612
}
596613

597614
template class MarlinSerial< MMU2SerialCfg<MMU2_SERIAL_PORT> >;
598-
MSerialT3 mmuSerial(MSerialT3::HasEmergencyParser);
599-
#endif
615+
MSerialMMU2 mmuSerial(MSerialMMU2::HasEmergencyParser);
616+
617+
#endif // MMU2_SERIAL_PORT
600618

601619
#ifdef LCD_SERIAL_PORT
602620

@@ -609,7 +627,7 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
609627
}
610628

611629
template class MarlinSerial< LCDSerialCfg<LCD_SERIAL_PORT> >;
612-
MSerialT4 lcdSerial(MSerialT4::HasEmergencyParser);
630+
MSerialLCD lcdSerial(MSerialLCD::HasEmergencyParser);
613631

614632
#if HAS_DGUS_LCD
615633
template<typename Cfg>
@@ -622,13 +640,13 @@ MSerialT customizedSerial1(MSerialT::HasEmergencyParser);
622640
}
623641
#endif
624642

625-
#endif
643+
#endif // LCD_SERIAL_PORT
626644

627645
#endif // !USBCON && (UBRRH || UBRR0H || UBRR1H || UBRR2H || UBRR3H)
628646

629647
// For AT90USB targets use the UART for BT interfacing
630648
#if defined(USBCON) && ENABLED(BLUETOOTH)
631-
MSerialT5 bluetoothSerial(false);
649+
MSerialBT bluetoothSerial(false);
632650
#endif
633651

634652
#endif // __AVR__

0 commit comments

Comments
 (0)