Skip to content

Commit 5f84257

Browse files
committed
Merge branch 'bugfix-2.1.x' into pr/26723
2 parents 49a49ac + 3326c74 commit 5f84257

File tree

257 files changed

+5153
-2085
lines changed

Some content is hidden

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

257 files changed

+5153
-2085
lines changed

.github/lock.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.github/workflows/bump-date.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
steps:
2020

2121
- name: Check out bugfix-2.0.x
22-
uses: actions/checkout@v3
22+
uses: actions/checkout@v4
2323
with:
2424
ref: bugfix-2.0.x
2525

@@ -39,7 +39,7 @@ jobs:
3939
exit 0
4040
4141
- name: Check out bugfix-2.1.x
42-
uses: actions/checkout@v3
42+
uses: actions/checkout@v4
4343
with:
4444
ref: bugfix-2.1.x
4545

.github/workflows/test-builds.yml renamed to .github/workflows/ci-build-tests.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#
2-
# test-builds.yml
2+
# ci-build-tests.yml
33
# Do test builds to catch compile errors
44
#
55

6-
name: CI
6+
name: CI - Build Tests
77

88
on:
99
pull_request:
@@ -27,7 +27,7 @@ on:
2727

2828
jobs:
2929
test_builds:
30-
name: Run All Tests
30+
name: Build Test
3131
if: github.repository == 'MarlinFirmware/Marlin'
3232

3333
runs-on: ubuntu-latest
@@ -152,21 +152,21 @@ jobs:
152152
uses: actions/checkout@v4
153153

154154
- name: Cache pip
155-
uses: actions/cache@v3
155+
uses: actions/cache@v4
156156
with:
157157
path: ~/.cache/pip
158158
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
159159
restore-keys: |
160160
${{ runner.os }}-pip-
161161
162162
- name: Cache PlatformIO
163-
uses: actions/cache@v3
163+
uses: actions/cache@v4
164164
with:
165165
path: ~/.platformio
166166
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
167167

168168
- name: Select Python 3.9
169-
uses: actions/setup-python@v4
169+
uses: actions/setup-python@v5
170170
with:
171171
python-version: '3.9'
172172
architecture: 'x64'

.github/workflows/ci-unit-tests.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#
2+
# ci-unit-tests.yml
3+
# Build and execute unit tests to catch functional issues in code
4+
#
5+
6+
name: CI - Unit Tests
7+
8+
on:
9+
pull_request:
10+
branches:
11+
- bugfix-2.1.x
12+
# Cannot be enabled on 2.1.x until it contains the unit test framework
13+
#- 2.1.x
14+
paths-ignore:
15+
- config/**
16+
- data/**
17+
- docs/**
18+
- '**/*.md'
19+
push:
20+
branches:
21+
- bugfix-2.1.x
22+
# Cannot be enabled on 2.1.x until it contains the unit test framework
23+
#- 2.1.x
24+
paths-ignore:
25+
- config/**
26+
- data/**
27+
- docs/**
28+
- '**/*.md'
29+
30+
jobs:
31+
# This runs all unit tests as a single job. While it should be possible to break this up into
32+
# multiple jobs, they currently run quickly and finish long before the compilation tests.
33+
run_unit_tests:
34+
name: Unit Test
35+
# These tests will only be able to run on the bugfix-2.1.x branch, until the next release
36+
# pulls them into additional branches.
37+
if: github.repository == 'MarlinFirmware/Marlin'
38+
39+
runs-on: ubuntu-latest
40+
41+
steps:
42+
- name: Check out the PR
43+
uses: actions/checkout@v4
44+
45+
- name: Cache pip
46+
uses: actions/cache@v4
47+
with:
48+
path: ~/.cache/pip
49+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
50+
restore-keys: |
51+
${{ runner.os }}-pip-
52+
53+
- name: Cache PlatformIO
54+
uses: actions/cache@v4
55+
with:
56+
path: ~/.platformio
57+
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }}
58+
59+
- name: Select Python 3.9
60+
uses: actions/setup-python@v5
61+
with:
62+
python-version: '3.9'
63+
architecture: 'x64'
64+
65+
- name: Install PlatformIO
66+
run: |
67+
pip install -U platformio
68+
pio upgrade --dev
69+
pio pkg update --global
70+
71+
- name: Run All Unit Tests
72+
run: |
73+
make unit-test-all-local

.github/workflows/clean-closed.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
- "Needs: Work"
3333

3434
steps:
35-
- uses: actions/checkout@v3
35+
- uses: actions/checkout@v4
3636
- name: Remove Labels
3737
uses: actions-ecosystem/action-remove-labels@v1
3838
with:

.github/workflows/close-stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
runs-on: ubuntu-latest
1818

1919
steps:
20-
- uses: actions/stale@v8
20+
- uses: actions/stale@v9
2121
with:
2222
repo-token: ${{ secrets.GITHUB_TOKEN }}
2323
stale-issue-message: |

.github/workflows/lock-closed.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ jobs:
1717
runs-on: ubuntu-latest
1818

1919
steps:
20-
- uses: dessant/lock-threads@v2
20+
- uses: dessant/lock-threads@v5
2121
with:
2222
github-token: ${{ github.token }}
2323
process-only: 'issues'
24-
issue-lock-inactive-days: '60'
25-
issue-exclude-created-before: ''
26-
issue-exclude-labels: 'no-locking'
27-
issue-lock-labels: ''
28-
issue-lock-comment: >
24+
issue-inactive-days: '60'
25+
exclude-issue-created-before: ''
26+
exclude-any-issue-labels: 'no-locking'
27+
add-issue-labels: ''
28+
issue-comment: >
2929
This issue has been automatically locked since there
3030
has not been any recent activity after it was closed.
3131
Please open a new issue for related bugs.

Makefile

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,12 @@ help:
1212
@echo "make tests-single-local-docker : Run a single test locally, using docker"
1313
@echo "make tests-all-local : Run all tests locally"
1414
@echo "make tests-all-local-docker : Run all tests locally, using docker"
15-
@echo "make setup-local-docker : Build the local docker image"
15+
# @echo "make unit-test-single-ci : Run a single code test from inside the CI"
16+
# @echo "make unit-test-single-local : Run a single code test locally"
17+
# @echo "make unit-test-single-local-docker : Run a single code test locally, using docker-compose"
18+
@echo "make unit-test-all-local : Run all code tests locally"
19+
@echo "make unit-test-all-local-docker : Run all code tests locally, using docker-compose"
20+
@echo "make setup-local-docker : Setup local docker-compose"
1621
@echo ""
1722
@echo "Options for testing:"
1823
@echo " TEST_TARGET Set when running tests-single-*, to select the"
@@ -43,7 +48,7 @@ tests-single-local:
4348
tests-single-local-docker:
4449
@if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make tests-all-local-docker" ; return 1; fi
4550
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
46-
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
51+
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make tests-single-local TEST_TARGET=$(TEST_TARGET) VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD) ONLY_TEST="$(ONLY_TEST)"
4752

4853
tests-all-local:
4954
export PATH="./buildroot/bin/:./buildroot/tests/:${PATH}" \
@@ -52,10 +57,31 @@ tests-all-local:
5257

5358
tests-all-local-docker:
5459
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
55-
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) $(MAKE) tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
60+
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make tests-all-local VERBOSE_PLATFORMIO=$(VERBOSE_PLATFORMIO) GIT_RESET_HARD=$(GIT_RESET_HARD)
61+
62+
#unit-test-single-ci:
63+
# export GIT_RESET_HARD=true
64+
# $(MAKE) unit-test-single-local TEST_TARGET=$(TEST_TARGET)
65+
66+
# TODO: How can we limit tests with ONLY_TEST with platformio?
67+
#unit-test-single-local:
68+
# @if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make unit-test-all-local" ; return 1; fi
69+
# platformio run -t marlin_$(TEST_TARGET)
70+
71+
#unit-test-single-local-docker:
72+
# @if ! test -n "$(TEST_TARGET)" ; then echo "***ERROR*** Set TEST_TARGET=<your-module> or use make unit-test-all-local-docker" ; return 1; fi
73+
# @if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
74+
# $(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make unit-test-single-local TEST_TARGET=$(TEST_TARGET) ONLY_TEST="$(ONLY_TEST)"
75+
76+
unit-test-all-local:
77+
platformio run -t test-marlin -e linux_native_test
78+
79+
unit-test-all-local-docker:
80+
@if ! $(CONTAINER_RT_BIN) images -q $(CONTAINER_IMAGE) > /dev/null ; then $(MAKE) setup-local-docker ; fi
81+
$(CONTAINER_RT_BIN) run $(CONTAINER_RT_OPTS) $(CONTAINER_IMAGE) make unit-test-all-local
5682

5783
setup-local-docker:
58-
$(CONTAINER_RT_BIN) build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
84+
$(CONTAINER_RT_BIN) buildx build -t $(CONTAINER_IMAGE) -f docker/Dockerfile .
5985

6086
PINS := $(shell find Marlin/src/pins -mindepth 2 -name '*.h')
6187

Marlin/Configuration.h

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,9 @@
135135
* Options: A4988, A5984, DRV8825, LV8729, TB6560, TB6600, TMC2100,
136136
* TMC2130, TMC2130_STANDALONE, TMC2160, TMC2160_STANDALONE,
137137
* TMC2208, TMC2208_STANDALONE, TMC2209, TMC2209_STANDALONE,
138-
* TMC26X, TMC26X_STANDALONE, TMC2660, TMC2660_STANDALONE,
139-
* TMC5130, TMC5130_STANDALONE, TMC5160, TMC5160_STANDALONE
140-
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
138+
* TMC2660, TMC2660_STANDALONE, TMC5130, TMC5130_STANDALONE,
139+
* TMC5160, TMC5160_STANDALONE
140+
* :['A4988', 'A5984', 'DRV8825', 'LV8729', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE']
141141
*/
142142
#define X_DRIVER_TYPE A4988
143143
#define Y_DRIVER_TYPE A4988
@@ -401,9 +401,18 @@
401401
//#define PS_OFF_SOUND // Beep 1s when power off
402402
#define PSU_ACTIVE_STATE LOW // Set 'LOW' for ATX, 'HIGH' for X-Box
403403

404-
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
405-
//#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power
406-
//#define LED_POWEROFF_TIMEOUT 10000 // (ms) Turn off LEDs after power-off, with this amount of delay
404+
//#define PSU_DEFAULT_OFF // Keep power off until enabled directly with M80
405+
//#define PSU_POWERUP_DELAY 250 // (ms) Delay for the PSU to warm up to full power
406+
//#define LED_POWEROFF_TIMEOUT 10000 // (ms) Turn off LEDs after power-off, with this amount of delay
407+
408+
//#define PSU_OFF_REDUNDANT // Second pin for redundant power control
409+
//#define PSU_OFF_REDUNDANT_INVERTED // Redundant pin state is the inverse of PSU_ACTIVE_STATE
410+
411+
//#define PS_ON1_PIN 6 // Redundant pin required to enable power in combination with PS_ON_PIN
412+
413+
//#define PS_ON_EDM_PIN 8 // External Device Monitoring pins for external power control relay feedback. Fault on mismatch.
414+
//#define PS_ON1_EDM_PIN 9
415+
#define PS_EDM_RESPONSE 250 // (ms) Time to allow for relay action
407416

408417
//#define POWER_OFF_TIMER // Enable M81 D<seconds> to power off after a delay
409418
//#define POWER_OFF_WAIT_FOR_COOLDOWN // Enable M81 S to power off only after cooldown
@@ -2627,9 +2636,9 @@
26272636
#define DISPLAY_CHARSET_HD44780 JAPANESE
26282637

26292638
/**
2630-
* Info Screen Style (0:Classic, 1:Průša)
2639+
* Info Screen Style (0:Classic, 1:Průša, 2:CNC)
26312640
*
2632-
* :[0:'Classic', 1:'Průša']
2641+
* :[0:'Classic', 1:'Průša', 2:'CNC']
26332642
*/
26342643
#define LCD_INFO_SCREEN_STYLE 0
26352644

0 commit comments

Comments
 (0)