Skip to content

Commit 5d0afe0

Browse files
⛙ Merge w/Marlin
2 parents 52db2cd + c45354a commit 5d0afe0

File tree

158 files changed

+1953
-1516
lines changed

Some content is hidden

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

158 files changed

+1953
-1516
lines changed

.github/contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ Unsure where to begin contributing to Marlin? You can start by looking through t
121121

122122
### Pull Requests
123123

124-
Pull Requests should always be targeted to working branches (e.g., `bugfix-2.1.x` and/or `bugfix-1.1.x`) and never to release branches (e.g., `2.0.x` and/or `1.1.x`). If this is your first Pull Request, please read our [Guide to Pull Requests](https://marlinfw.org/docs/development/getting_started_pull_requests.html) and Github's [Pull Request](https://help.github.com/articles/creating-a-pull-request/) documentation.
124+
Pull Requests should always be targeted to working branches (e.g., `bugfix-2.1.x` and/or `bugfix-1.1.x`) and never to release branches (e.g., `2.0.x` and/or `1.1.x`). If this is your first Pull Request, please read our [Guide to Pull Requests](https://marlinfw.org/docs/development/getting_started_pull_requests.html) and GitHub's [Pull Request](https://help.github.com/articles/creating-a-pull-request/) documentation.
125125

126126
* Fill in [the required template](pull_request_template.md).
127127
* Don't include issue numbers in the PR title.

Makefile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
SCRIPTS_DIR := buildroot/share/scripts
2+
MAKESCRIPTS_DIR := buildroot/share/make
23
CONTAINER_RT_BIN := docker
34
CONTAINER_RT_OPTS := --rm -v $(PWD):/code -v platformio-cache:/root/.platformio
45
CONTAINER_IMAGE := marlin-dev
@@ -8,9 +9,8 @@ UNIT_TEST_CONFIG ?= default
89
ifeq ($(OS),Windows_NT)
910
# Windows: use `where` – fall back through the three common names
1011
PYTHON := $(shell which python 2>nul || which python3 2>nul || which py 2>nul)
11-
# Windows: Use cmd tools to find pins files
12-
PINS_RAW := $(shell cmd //c "dir /s /b Marlin\src\pins\*.h 2>nul | findstr /r ".*Marlin\\\\src\\\\pins\\\\.*\\\\pins_.*\.h"")
13-
PINS := $(subst \,/,$(PINS_RAW))
12+
# Windows: Use Python script to find pins files
13+
PINS := $(shell $(PYTHON) $(MAKESCRIPTS_DIR)/find.py Marlin/src/pins -mindepth 2 -name 'pins_*.h')
1414
else
1515
# POSIX: use `command -v` – prefer python3 over python
1616
PYTHON := $(shell command -v python3 2>/dev/null || command -v python 2>/dev/null)
@@ -36,6 +36,7 @@ help:
3636
@echo "make validate-lines -j : Validate line endings, fails on trailing whitespace, etc."
3737
@echo "make validate-pins -j : Validate all pins files, fails if any require reformatting"
3838
@echo "make validate-boards -j : Validate boards.h and pins.h for standards compliance"
39+
@echo "make validate-urls : Validate URLs in source files"
3940
@echo "make tests-single-ci : Run a single test from inside the CI"
4041
@echo "make tests-single-local : Run a single test locally"
4142
@echo "make tests-single-local-docker : Run a single test locally, using docker"
@@ -88,7 +89,7 @@ tests-all-local:
8889
@$(PYTHON) -c "import yaml" 2>/dev/null || (echo 'pyyaml module is not installed. Install it with "$(PYTHON) -m pip install pyyaml"' && exit 1)
8990
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
9091
&& export VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) \
91-
&& for TEST_TARGET in $$($(PYTHON) $(SCRIPTS_DIR)/get_test_targets.py) ; do \
92+
&& for TEST_TARGET in $$($(PYTHON) $(MAKESCRIPTS_DIR)/get_test_targets.py) ; do \
9293
if [ "$$TEST_TARGET" = "linux_native" ] && [ "$$(uname)" = "Darwin" ]; then \
9394
echo "Skipping tests for $$TEST_TARGET on macOS" ; \
9495
continue ; \
@@ -151,7 +152,7 @@ validate-pins: format-pins
151152
@echo "Validating pins files"
152153
@git diff --exit-code || (git status && echo "\nError: Pins files are not formatted correctly. Run \"make format-pins\" to fix.\n" && exit 1)
153154

154-
.PHONY: format-lines validate-lines
155+
.PHONY: format-lines validate-lines validate-urls
155156

156157
format-lines:
157158
@echo "Formatting all sources"
@@ -162,10 +163,14 @@ validate-lines:
162163
@echo "Validating text formatting"
163164
@npx prettier --check . --editorconfig --object-wrap preserve
164165

166+
validate-urls:
167+
@echo "Checking URLs in source files"
168+
@$(MAKESCRIPTS_DIR)/check-urls.sh
169+
165170
BOARDS_FILE := Marlin/src/core/boards.h
166171

167172
.PHONY: validate-boards
168173

169174
validate-boards:
170175
@echo "Validating boards.h file"
171-
@$(PYTHON) $(SCRIPTS_DIR)/validate_boards.py $(BOARDS_FILE) || (echo "\nError: boards.h file is not valid. Please check and correct it.\n" && exit 1)
176+
@$(PYTHON) $(MAKESCRIPTS_DIR)/validate_boards.py $(BOARDS_FILE) || (echo "\nError: boards.h file is not valid. Please check and correct it.\n" && exit 1)

Marlin/Configuration.h

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@
475475
//===========================================================================
476476
//============================= Thermal Settings ============================
477477
//===========================================================================
478-
// @section temperature
478+
// @section temperature sensors
479479

480480
/**
481481
* Temperature Sensors:
@@ -507,7 +507,7 @@
507507
* 10 : 100kΩ RS PRO 198-961
508508
* 11 : 100kΩ Keenovo AC silicone mats, most Wanhao i3 machines - beta 3950, 1%
509509
* 12 : 100kΩ Vishay 0603 SMD NTCS0603E3104FXT (#8) - calibrated for Makibox hot bed
510-
* 13 : 100kΩ Hisens up to 300°C - for "Simple ONE" & "All In ONE" hotend - beta 3950, 1%
510+
* 13 : 100kΩ Hisense up to 300°C - for "Simple ONE" & "All In ONE" hotend - beta 3950, 1%
511511
* 14 : 100kΩ (R25), 4092K (beta25), 4.7kΩ pull-up, bed thermistor as used in Ender-5 S1
512512
* 15 : 100kΩ Calibrated for JGAurora A5 hotend
513513
* 17 : 100kΩ Dagoma NTC white thermistor
@@ -660,6 +660,8 @@
660660
#define TEMP_SENSOR_REDUNDANT_MAX_DIFF 10 // (°C) Temperature difference that will trigger a print abort.
661661
#endif
662662

663+
// @section temperature
664+
663665
// Below this temperature the heater will be switched off
664666
// because it probably indicates a broken thermistor wire.
665667
#define HEATER_0_MINTEMP 0
@@ -1879,15 +1881,12 @@
18791881
//#define DISABLE_V
18801882
//#define DISABLE_W
18811883

1882-
// Turn off the display blinking that warns about possible accuracy reduction
1883-
//#define DISABLE_REDUCED_ACCURACY_WARNING
1884-
18851884
// @section extruder
18861885

18871886
//#define DISABLE_E // Disable the extruder when not stepping
18881887
#define DISABLE_OTHER_EXTRUDERS // Keep only the active extruder enabled
18891888

1890-
// @section motion
1889+
// @section stepper drivers
18911890

18921891
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
18931892
#define INVERT_X_DIR false
@@ -1900,8 +1899,6 @@
19001899
//#define INVERT_V_DIR false
19011900
//#define INVERT_W_DIR false
19021901

1903-
// @section extruder
1904-
19051902
// For direct drive extruder v9 set to true, for geared extruder set to false.
19061903
#define INVERT_E0_DIR false
19071904
#define INVERT_E1_DIR false
@@ -2551,7 +2548,7 @@
25512548
//
25522549
//#define TEMPERATURE_UNITS_SUPPORT
25532550

2554-
// @section temperature
2551+
// @section temperature presets
25552552

25562553
//
25572554
// Preheat Constants - Up to 10 are supported without changes

Marlin/Configuration_adv.h

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1533,6 +1533,9 @@
15331533

15341534
// @section lcd
15351535

1536+
// Turn off the display blinking that warns about possible accuracy reduction
1537+
//#define DISABLE_REDUCED_ACCURACY_WARNING
1538+
15361539
#if HAS_MANUAL_MOVE_MENU
15371540
#define MANUAL_FEEDRATE { 60*60, 60*60, 10*60, 2*60 } // (mm/min) Feedrates for manual moves along X, Y, Z, E from panel
15381541
#define FINE_MANUAL_MOVE 0.025 // (mm) Smallest manual move (< 0.1mm) applying to Z on most machines
@@ -2363,7 +2366,7 @@
23632366
//#define WATCHDOG_RESET_MANUAL
23642367
#endif
23652368

2366-
// @section lcd
2369+
// @section baby-stepping
23672370

23682371
/**
23692372
* Babystepping enables movement of the axes by tiny increments without changing
@@ -2616,13 +2619,15 @@
26162619
#endif
26172620
#endif // PTC_PROBE || PTC_BED || PTC_HOTEND
26182621

2619-
// @section extras
2622+
// @section gcode
26202623

26212624
//
26222625
// G60/G61 Position Save and Return
26232626
//
26242627
//#define SAVED_POSITIONS 1 // Each saved position slot costs 12 bytes
26252628

2629+
// @section motion
2630+
26262631
//
26272632
// G2/G3 Arc Support
26282633
//
@@ -2654,6 +2659,8 @@
26542659
*/
26552660
//#define DIRECT_STEPPING
26562661

2662+
// @section calibrate
2663+
26572664
/**
26582665
* G38 Probe Target
26592666
*
@@ -2860,7 +2867,7 @@
28602867
*/
28612868
//#define EXTRA_FAN_SPEED
28622869

2863-
// @section gcode
2870+
// @section firmware retraction
28642871

28652872
/**
28662873
* Firmware-based and LCD-controlled retract
@@ -3680,7 +3687,7 @@
36803687
//#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S)
36813688

36823689
// Canon RC-1 or homebrew digital camera trigger
3683-
// Data from: https://www.doc-diy.net/photo/rc-1_hacked/
3690+
// Data from: https://web.archive.org/web/20250327153953/www.doc-diy.net/photo/rc-1_hacked/
36843691
//#define PHOTOGRAPH_PIN 23
36853692

36863693
// Canon Hack Development Kit
@@ -4318,7 +4325,7 @@
43184325
* Developed by Chris Barr at Aus3D.
43194326
*
43204327
* Wiki: https://wiki.aus3d.com.au/Magnetic_Encoder
4321-
* Github: https://github.com/Aus3D/MagneticEncoder
4328+
* GitHub: https://github.com/Aus3D/MagneticEncoder
43224329
*
43234330
* Supplier: https://aus3d.com.au/products/magnetic-encoder-module
43244331
* Alternative Supplier: https://reliabuild3d.com/

Marlin/Version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
/**
6262
* The SOURCE_CODE_URL is the location where users will find the Marlin Source
6363
* Code which is installed on the device. In most cases —unless the manufacturer
64-
* has a distinct Github fork— the Source Code URL should just be the main
64+
* has a distinct GitHub fork— the Source Code URL should just be the main
6565
* Marlin repository.
6666
*/
6767
#define SOURCE_CODE_URL "github.com/classicrocker883/MRiscoCProUI"

Marlin/src/HAL/GD32_MFL/timers.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,6 @@
6969
#endif
7070
#endif
7171

72-
#ifndef HAL_TIMER_RATE
73-
#define HAL_TIMER_RATE GetStepperTimerClkFreq()
74-
#endif
75-
7672
#ifndef STEP_TIMER
7773
#define STEP_TIMER MF_TIMER_STEP
7874
#endif

Marlin/src/HAL/GD32_MFL/timers.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,18 @@
3737
typedef uint32_t hal_timer_t;
3838
#define HAL_TIMER_TYPE_MAX hal_timer_t(UINT16_MAX)
3939

40-
extern uint32_t GetStepperTimerClkFreq();
40+
#ifndef HAL_TIMER_RATE
41+
extern uint32_t GetStepperTimerClkFreq();
42+
#define HAL_TIMER_RATE GetStepperTimerClkFreq()
43+
#endif
4144

4245
// Timer configuration constants
4346
#define STEPPER_TIMER_RATE 2000000
4447
#define TEMP_TIMER_FREQUENCY 1000
4548

4649
// Timer prescaler calculations
47-
#define STEPPER_TIMER_PRESCALE (GetStepperTimerClkFreq() / STEPPER_TIMER_RATE) // Prescaler = 30
48-
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000UL) // (MHz) Stepper Timer ticks per µs
50+
#define STEPPER_TIMER_PRESCALE ((HAL_TIMER_RATE) / (STEPPER_TIMER_RATE)) // Prescaler = 30
51+
#define STEPPER_TIMER_TICKS_PER_US ((STEPPER_TIMER_RATE) / 1000000UL) // (MHz) Stepper Timer ticks per µs
4952

5053
// Pulse Timer (counter) calculations
5154
#define PULSE_TIMER_RATE STEPPER_TIMER_RATE // (Hz) Frequency of Pulse Timer

Marlin/src/HAL/HC32/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Just searching for `SCB->VTOR` should yield some results. From there, you just n
5353
> Some vendors publish incomplete source code. But they sometimes leave version control related files in the repo, which can contain previous version of files that were removed. Find these by including folders like `.git` or `.svn` in your search.
5454
5555
> [!NOTE]
56-
> The example is based on the [Voxelab-64/Aquila_X2](https://github.com/Voxelab-64/Aquila_X2/blob/d1f23adf96920996b979bc31023d1dce236d05db/firmware/Sources/.svn/pristine/ec/ec82bcb480b511906bc3e6658450e3a803ab9813.svn-base#L96) which actually includes deleted files in its repo.
56+
> The example is based on the [Voxelab-64/Aquila_X2](https://github.com/Voxelab-64/Aquila_X2/blob/main/firmware/Sources/.svn/pristine/ec/ec82bcb480b511906bc3e6658450e3a803ab9813.svn-base#L96) which actually includes deleted files in its repo.
5757
5858
2. Using a linker script
5959

Marlin/src/HAL/NATIVE_SIM/u8g/LCD_I2C_routines.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
*/
2222

2323
// adapted from I2C/master/master.c example
24-
// https://www-users.cs.york.ac.uk/~pcc/MCP/HAPR-Course-web/CMSIS/examples/html/master_8c_source.html
24+
// https://www-users.york.ac.uk/~pcc1/MCP/HAPR-Course-web/CMSIS/examples/html/master_8c_source.html
2525

2626
#ifdef __PLAT_NATIVE_SIM__
2727

0 commit comments

Comments
 (0)