Skip to content

Commit e26103f

Browse files
committed
Merge remote-tracking branch 'upstream/bugfix-2.0.x' into X5SA-2E-Bugfix-ColorUI
2 parents 0e065ae + 48b0abc commit e26103f

296 files changed

Lines changed: 4701 additions & 3532 deletions

File tree

Some content is hidden

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

.github/workflows/test-builds.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,4 @@ jobs:
119119

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

.gitignore

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ Marlin/*/*/*/*/readme.txt
148148
# Secure Credentials
149149
Configuration_Secure.h
150150

151-
#Visual Studio
151+
# Visual Studio
152152
*.sln
153153
*.vcxproj
154154
*.vcxproj.user
@@ -159,30 +159,34 @@ __vm/
159159
.vs/
160160
vc-fileutils.settings
161161

162-
#Visual Studio Code
162+
# Visual Studio Code
163163
.vscode
164164
.vscode/.browse.c_cpp.db*
165165
.vscode/c_cpp_properties.json
166166
.vscode/launch.json
167167
.vscode/*.db
168168

169-
#cmake
169+
# cmake
170170
CMakeLists.txt
171171
src/CMakeLists.txt
172172
CMakeListsPrivate.txt
173173

174-
#CLion
174+
# CLion
175175
cmake-build-*
176176

177-
#Eclipse
177+
# Eclipse
178178
.project
179179
.cproject
180180
.pydevproject
181181
.settings
182182
.classpath
183183

184-
#Python
184+
# Python
185185
__pycache__
186186

187-
#IOLogger logs
187+
# IOLogger logs
188188
*_log.csv
189+
190+
# Simulation / Native
191+
eeprom.dat
192+
imgui.ini

Makefile

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
help:
2+
@echo "Tasks for local development:"
3+
@echo "* tests-single-ci: Run a single test from inside the CI"
4+
@echo "* tests-single-local: Run a single test locally"
5+
@echo "* tests-single-local-docker: Run a single test locally, using docker-compose"
6+
@echo "* tests-all-local: Run all tests locally"
7+
@echo "* tests-all-local-docker: Run all tests locally, using docker-compose"
8+
@echo "* setup-local-docker: Setup local docker-compose"
9+
@echo ""
10+
@echo "Options for testing:"
11+
@echo " TEST_TARGET Set when running tests-single-*, to select the"
12+
@echo " test. If you set it to ALL it will run all "
13+
@echo " tests, but some of them are broken: use "
14+
@echo " tests-all-* instead to run only the ones that "
15+
@echo " run on GitHub CI"
16+
@echo " ONLY_TEST Limit tests to only those that contain this, or"
17+
@echo " the index of the test (1-based)"
18+
@echo " VERBOSE_PLATFORMIO If you want the full PIO output, set any value"
19+
@echo " GIT_RESET_HARD Used by CI: reset all local changes. WARNING:"
20+
@echo " THIS WILL UNDO ANY CHANGES YOU'VE MADE!"
21+
.PHONY: help
22+
23+
tests-single-ci:
24+
export GIT_RESET_HARD=true
25+
$(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET)
26+
.PHONY: tests-single-ci
27+
28+
tests-single-local:
29+
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local" ; return 1; fi
30+
chmod +x buildroot/bin/*
31+
chmod +x buildroot/tests/*
32+
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
33+
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
34+
&& run_tests . $(TEST_TARGET) "$(ONLY_TEST)"
35+
.PHONY: tests-single-local
36+
37+
tests-single-local-docker:
38+
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
39+
docker-compose run --rm marlin $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
40+
.PHONY: tests-single-local-docker
41+
42+
tests-all-local:
43+
chmod +x buildroot/bin/*
44+
chmod +x buildroot/tests/*
45+
export PATH=./buildroot/bin/:./buildroot/tests/:${PATH} \
46+
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
47+
&& for TEST_TARGET in $$(./get_test_targets.py) ; do echo "Running tests for $$TEST_TARGET" ; run_tests . $$TEST_TARGET ; done
48+
.PHONY: tests-all-local
49+
50+
tests-all-local-docker:
51+
docker-compose run --rm marlin $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
52+
.PHONY: tests-all-local-docker
53+
54+
setup-local-docker:
55+
docker-compose build
56+
.PHONY: setup-local-docker

Marlin/Configuration.h

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -160,33 +160,19 @@
160160
#endif
161161

162162
/**
163-
* Průša MK2 Single Nozzle Multi-Material Multiplexer, and variants.
164-
*
165-
* This device allows one stepper driver on a control board to drive
166-
* two to eight stepper motors, one at a time, in a manner suitable
167-
* for extruders.
168-
*
169-
* This option only allows the multiplexer to switch on tool-change.
170-
* Additional options to configure custom E moves are pending.
171-
*/
172-
//#define MK2_MULTIPLEXER
173-
#if ENABLED(MK2_MULTIPLEXER)
174-
// Override the default DIO selector pins here, if needed.
175-
// Some pins files may provide defaults for these pins.
176-
//#define E_MUX0_PIN 40 // Always Required
177-
//#define E_MUX1_PIN 42 // Needed for 3 to 8 inputs
178-
//#define E_MUX2_PIN 44 // Needed for 5 to 8 inputs
179-
#endif
180-
181-
/**
182-
* Průša Multi-Material Unit v2
163+
* Multi-Material Unit
164+
* Set to one of these predefined models:
183165
*
184-
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
185-
* Requires EXTRUDERS = 5
166+
* PRUSA_MMU1 : Průša MMU1 (The "multiplexer" version)
167+
* PRUSA_MMU2 : Průša MMU2
168+
* PRUSA_MMU2S : Průša MMU2S (Requires MK3S extruder with motion sensor, EXTRUDERS = 5)
169+
* SMUFF_EMU_MMU2 : Technik Gegg SMUFF (Průša MMU2 emulation mode)
170+
* SMUFF_EMU_MMU2S : Technik Gegg SMUFF (Průša MMU2S emulation mode)
186171
*
187-
* For additional configuration see Configuration_adv.h
172+
* Requires NOZZLE_PARK_FEATURE to park print head in case MMU unit fails.
173+
* See additional options in Configuration_adv.h.
188174
*/
189-
//#define PRUSA_MMU2
175+
//#define MMU_MODEL PRUSA_MMU2
190176

191177
// A dual extruder that uses a single stepper motor
192178
//#define SWITCHING_EXTRUDER
@@ -391,8 +377,10 @@
391377
* 13 : 100k Hisens 3950 1% up to 300°C for hotend "Simple ONE " & "Hotend "All In ONE"
392378
* 15 : 100k thermistor calibration for JGAurora A5 hotend
393379
* 18 : ATC Semitec 204GT-2 (4.7k pullup) Dagoma.Fr - MKS_Base_DKU001327
394-
* 20 : Pt100 with circuit in the Ultimainboard V2.x with 5v excitation (AVR)
395-
* 21 : Pt100 with circuit in the Ultimainboard V2.x with 3.3v excitation (STM32 \ LPC176x....)
380+
* 20 : Pt100 with circuit in the Ultimainboard V2.x with mainboard ADC reference voltage = INA826 amplifier-board supply voltage.
381+
* NOTES: (1) Must use an ADC input with no pullup. (2) Some INA826 amplifiers are unreliable at 3.3V so consider using sensor 147, 110, or 21.
382+
* 21 : Pt100 with circuit in the Ultimainboard V2.x with 3.3v ADC reference voltage (STM32, LPC176x....) and 5V INA826 amplifier board supply.
383+
* NOTE: ADC pins are not 5V tolerant. Not recommended because it's possible to damage the CPU by going over 500°C.
396384
* 22 : 100k (hotend) with 4.7k pullup to 3.3V and 220R to analog input (as in GTM32 Pro vB)
397385
* 23 : 100k (bed) with 4.7k pullup to 3.3v and 220R to analog input (as in GTM32 Pro vB)
398386
* 30 : Kis3d Silicone heating mat 200W/300W with 6mm precision cast plate (EN AW 5083) NTC100K / B3950 (4.7k pullup)
@@ -438,11 +426,11 @@
438426
#define DUMMY_THERMISTOR_998_VALUE 25
439427
#define DUMMY_THERMISTOR_999_VALUE 100
440428

441-
// Resistor values when using a MAX31865 (sensor -5)
442-
// Sensor value is typically 100 (PT100) or 1000 (PT1000)
443-
// Calibration value is typically 430 ohm for AdaFruit PT100 modules and 4300 ohm for AdaFruit PT1000 modules.
444-
//#define MAX31865_SENSOR_OHMS 100
445-
//#define MAX31865_CALIBRATION_OHMS 430
429+
// Resistor values when using MAX31865 sensors (-5) on TEMP_SENSOR_0 / 1
430+
//#define MAX31865_SENSOR_OHMS_0 100 // (Ω) Typically 100 or 1000 (PT100 or PT1000)
431+
//#define MAX31865_CALIBRATION_OHMS_0 430 // (Ω) Typically 430 for AdaFruit PT100; 4300 for AdaFruit PT1000
432+
//#define MAX31865_SENSOR_OHMS_1 100
433+
//#define MAX31865_CALIBRATION_OHMS_1 430
446434

447435
// Use temp sensor 1 as a redundant sensor with sensor 0. If the readings
448436
// from the two sensors differ too much the print will be aborted.
@@ -751,8 +739,6 @@
751739
* X, Y, Z, E0 [, E1[, E2...]]
752740
*/
753741
#define DEFAULT_AXIS_STEPS_PER_UNIT { 160, 160, 800, 920.69 }
754-
//TITAN EXTRUDER:
755-
//#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 92.6 }
756742

757743
/**
758744
* Default Max Feed Rate (mm/s)
@@ -1192,25 +1178,41 @@
11921178
#define NUM_RUNOUT_SENSORS 2 // Number of sensors, up to one per extruder. Define a FIL_RUNOUT#_PIN for each.
11931179

11941180
#define FIL_RUNOUT_STATE HIGH // Pin state indicating that filament is NOT present.
1195-
#define FIL_RUNOUT_PULL // Use internal pullup / pulldown for filament runout pins.
1181+
#define FIL_RUNOUT_PULLUP // Use internal pullup for filament runout pins.
1182+
//#define FIL_RUNOUT_PULLDOWN // Use internal pulldown for filament runout pins.
11961183

11971184
// Override individually if the runout sensors vary
11981185
//#define FIL_RUNOUT1_STATE LOW
1199-
//#define FIL_RUNOUT1_PULL
1186+
//#define FIL_RUNOUT1_PULLUP
1187+
//#define FIL_RUNOUT1_PULLDOWN
1188+
12001189
//#define FIL_RUNOUT2_STATE LOW
1201-
//#define FIL_RUNOUT2_PULL
1190+
//#define FIL_RUNOUT2_PULLUP
1191+
//#define FIL_RUNOUT2_PULLDOWN
1192+
12021193
//#define FIL_RUNOUT3_STATE LOW
1203-
//#define FIL_RUNOUT3_PULL
1194+
//#define FIL_RUNOUT3_PULLUP
1195+
//#define FIL_RUNOUT3_PULLDOWN
1196+
12041197
//#define FIL_RUNOUT4_STATE LOW
1205-
//#define FIL_RUNOUT4_PULL
1198+
//#define FIL_RUNOUT4_PULLUP
1199+
//#define FIL_RUNOUT4_PULLDOWN
1200+
12061201
//#define FIL_RUNOUT5_STATE LOW
1207-
//#define FIL_RUNOUT5_PULL
1202+
//#define FIL_RUNOUT5_PULLUP
1203+
//#define FIL_RUNOUT5_PULLDOWN
1204+
12081205
//#define FIL_RUNOUT6_STATE LOW
1209-
//#define FIL_RUNOUT6_PULL
1206+
//#define FIL_RUNOUT6_PULLUP
1207+
//#define FIL_RUNOUT6_PULLDOWN
1208+
12101209
//#define FIL_RUNOUT7_STATE LOW
1211-
//#define FIL_RUNOUT7_PULL
1210+
//#define FIL_RUNOUT7_PULLUP
1211+
//#define FIL_RUNOUT7_PULLDOWN
1212+
12121213
//#define FIL_RUNOUT8_STATE LOW
1213-
//#define FIL_RUNOUT8_PULL
1214+
//#define FIL_RUNOUT8_PULLUP
1215+
//#define FIL_RUNOUT8_PULLDOWN
12141216

12151217
// Set one or more commands to execute on filament runout.
12161218
// (After 'M412 H' Marlin will ask the host to handle the process.)
@@ -2366,10 +2368,10 @@
23662368

23672369
#define TOUCH_SCREEN_CALIBRATION
23682370

2369-
#define XPT2046_X_CALIBRATION -12316
2370-
#define XPT2046_Y_CALIBRATION 8981
2371-
#define XPT2046_X_OFFSET 340
2372-
#define XPT2046_Y_OFFSET -20
2371+
#define TOUCH_CALIBRATION_X -12316
2372+
#define TOUCH_CALIBRATION_Y 8981
2373+
#define TOUCH_OFFSET_X 340
2374+
#define TOUCH_OFFSET_Y -20
23732375

23742376
#if ENABLED(TFT_COLOR_UI)
23752377
#define SINGLE_TOUCH_NAVIGATION

0 commit comments

Comments
 (0)