forked from MarlinFirmware/Marlin
-
Notifications
You must be signed in to change notification settings - Fork 0
1415 lines (1109 loc) · 70.4 KB
/
build-btt-ender3v2.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Based on the following workflow by ColinM9991:
# https://github.com/ColinM9991/Marlin/blob/skr-mini-e3/.github/workflows/compile-configs-custom.yml
name: "Build BTT SKR Mini E3 V3.0 (Ender 3 V2)"
on:
# Trigger custom firmwares builds only in specific situations
push:
# When the following branches are pushed
branches:
- 2.1.x
- bugfix-2.1.x
- skr-mini-e3-v3-0
# When the following tags are pushed
tags:
- 2*
# Allow manual builds with a configurable target branch
workflow_dispatch:
inputs:
target-branch:
description: "Target Branch"
required: true
type: string
default: "bugfix-2.1.x"
jobs:
# build-display-firmware:
# name: Compile Display Firmware
# if: ${{ success() && matrix.display == "BTT_TFT35_V3_0" }}
# uses: Didstopia/Marlin/.github/workflows/build-btt-tft35-e3-v3-0.yaml@skr-mini-e3-v3-0
build-marlin-firmware:
# name: Build Marlin Firmware
name: Build
## TODO: Test running on self-hosted runners instead
# runs-on: ubuntu-latest
runs-on: self-hosted
# runs-on: [self-hosted, ubuntu-latest]
timeout-minutes: 15
strategy:
# Fail early when possible (only applies to matrix jobs)
fail-fast: true
# fail-fast: false # NOTE: We do NOT want to fail early, because one configuration might fail where others might not, right?
# FIXME: Somehow only set this when running locally?
# The issue when running locally seems to be multiple
# containers trying to access/install the tool cache,
# so not entirely sure what else to do, than to limit this?
# max-parallel: 1
# max-parallel: 3 ## TODO: Limiting to the amount of self-hosted runners we have right now, just to see if that improves things at all?!
## TODO: Use include/exclude to create more specific builds?
## https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#expanding-or-adding-matrix-configurations
matrix:
# Set global defaults
board: ["STM32G0B1RE_btt"]
bltouch: [true]
high-speed: [true]
grid: [5]
ubl: [true]
direct-drive: [true]
# linear-advance: [true]
linear-advance: [false]
# linear-advance: [true, false]
# junction-deviation: [true]
junction-deviation: [false]
# junction-deviation: [true, false]
# hybrid-threshold: [true]
hybrid-threshold: [false]
# hybrid-threshold: [true, false]
input-shaping: [false]
mpc: [true]
display: ["BTT_TFT35_V3_0", "FYSETC_MINI_12864_2_1"]
dwin: [false]
## FIXME: These don't append, they replace the entire matrix, so naturally won't work as-is..
# # Specify additional build configurations
# include:
# ## Test configurations for BLTouch
# # Default probing speed
# - bltouch: true
# high-speed: false
# ## Test configurations for no BLTouch
# # No BLTouch + ABL
# - bltouch: false
# high-speed: false
# ubl: false
# ## Test configurations for Direct Drive
# # Direct Drive enabled
# - direct-drive: true
# # Direct Drive disabled
# - direct-drive: false
# ## Test configurations for Linear Advance + Junction Deviation
# # Linear Advance + Junction Deviation enabled
# - linear-advance: true
# junction-deviation: true
# # Linear Advance + Junction Deviation disabled
# - linear-advance: false
# junction-deviation: false
# # Linear Advance enabled + Junction Deviation disabled
# - linear-advance: true
# junction-deviation: false
# # Linear Advance disabled + Junction Deviation enabled
# - linear-advance: false
# junction-deviation: true
# ## Test configurations for PID vs. MPC
# # PID enabled
# - mpc: false
# # MPC enabled
# - mpc: true
# ## Test configurations for different displays
# # BTT TFT35 E3 V3.0
# - display: BTT_TFT35_V3_0
# dwin: false
# # FYSETC Mini 12864 V2.1
# - display: FYSETC_MINI_12864_2_1
# dwin: false
# # Stock Ender 3 V2 display
# - display: 'STOCK'
# dwin: true
steps:
- name: Print Build Info
run: |-
echo "Build Info:"
echo " Target Branch: ${{inputs.target-branch || github.event.inputs.target-branch || github.ref }}"
echo " Board: ${{ matrix.board }}"
echo " BLTouch: ${{ matrix.bltouch }}"
echo " High Speed: ${{ matrix.high-speed }}"
echo " Grid: ${{ matrix.grid }}"
echo " UBL: ${{ matrix.ubl }}"
echo " Direct Drive: ${{ matrix.direct-drive }}"
echo " Linear Advance: ${{ matrix.linear-advance }}"
echo " Junction Deviation: ${{ matrix.junction-deviation }}"
echo " Hybrid Threshold: ${{ matrix.hybrid-threshold }}"
echo " Input Shaping: ${{ matrix.input-shaping }}"
echo " MPC: ${{ matrix.mpc }}"
echo " Display: ${{ matrix.display }}"
echo " DWIN: ${{ matrix.dwin }}"
- name: Prepare Target Branch
run: |-
# Enable script debugging
set -x
# Target branch defaults to base ref
TARGET_BRANCH=${{ github.event.inputs.currentBranch || env.GITHUB_BASE_REF }}
echo "Target branch: $TARGET_BRANCH"
# If our target branch is not set, default to the "bugfix-2.1.x" branch instead
if [ -z "${TARGET_BRANCH}" ]; then
echo "Target branch not available, defaulting to 'bugfix-2.1.x'"
TARGET_BRANCH=bugfix-2.1.x
fi
# Allow overriding the target branch with manual builds
OVERRIDE_TARGET_BRANCH=${{ github.event.inputs.targetBranch }}
if [ ! -z "${OVERRIDE_TARGET_BRANCH}" ]; then
echo "Branch override detected, setting branch to: '${OVERRIDE_TARGET_BRANCH}'"
TARGET_BRANCH=${OVERRIDE_TARGET_BRANCH}
fi
# If this is a tagged release, always use the "2.1.x" branch instead
REF_TYPE=${{ env.GITHUB_REF_TYPE }}
REF_NAME=${{ env.GITHUB_REF_NAME }}
if [ "$REF_TYPE" = "tag" ]; then
echo "Release tag detected, setting branch to '2.1.x'"
echo "TARGET_TAG=${REF_NAME}" >> $GITHUB_ENV
TARGET_BRANCH=2.1.x
fi
## FIXME: Disable/fix this once we have a config that we can actually use with the "2.1.x" branch
# If the target branch is "2.1.x", echo out an error message and fail the build
# if [ "$TARGET_BRANCH" = "2.1.x" ]; then
# echo "::error title=Unsupported target branch::This workflow is not currently configured to run on the '2.1.x' branch."
# exit 1
# fi
# echo "Final target branch: $TARGET_BRANCH"
echo "::warning title=Final target branch::$TARGET_BRANCH"
# Ensure that we have a target branch
if [ -z "${TARGET_BRANCH}" ]; then
echo "::error title=Missing target branch::Could not detect target branch, unable to continue"
exit 1
else
# Export the final target branch as a global environment variable
echo "TARGET_BRANCH=${TARGET_BRANCH}" >> $GITHUB_ENV
fi
- name: Checkout Repository (${{ env.TARGET_BRANCH }})
if: success()
uses: actions/checkout@v3
with:
ref: ${{ env.TARGET_BRANCH }}
persist-credentials: false
- name: Prepare Environment (${{ env.TARGET_BRANCH }})
if: success()
run: |-
# Enable script debugging
# set -x
# Generate the version based on the branch and commit/tag
if [ -z "${TARGET_TAG}" ]; then
echo "RELEASE_VERSION=$(git rev-parse --abbrev-ref HEAD)-$(git rev-parse --short HEAD)-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" >> $GITHUB_ENV
else
echo "RELEASE_VERSION=$(git rev-parse --abbrev-ref HEAD)-${{ env.TARGET_TAG }}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" >> $GITHUB_ENV
fi
# Print out the version
echo "::notice title=Version::${{ env.RELEASE_VERSION }}"
- name: Prepare Build Script
if: success()
id: configure_build_script
run: |-
# Enable script debugging
set -x
# Download the latest helper build script
mkdir -p .github/workflows/scripts
wget \
https://raw.githubusercontent.com/Didstopia/Marlin/skr-mini-e3-v3-0/.github/workflows/scripts/configure_build_script.sh \
-O .github/workflows/scripts/configure_build_script.sh
# Download custom resources
mkdir -p .github/workflows/resources
wget \
https://raw.githubusercontent.com/Didstopia/Marlin/skr-mini-e3-v3-0/.github/workflows/resources/_Bootscreen.h \
-O .github/workflows/resources/_Bootscreen.h
- name: Cache pip
if: success()
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-v1-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Cache PlatformIO
if: success()
uses: actions/cache@v3
with:
path: ~/.platformio
key: ${{ runner.os }}-platformio--v1-${{ hashFiles('**/lockfiles') }}
- name: Setup Python
if: success()
uses: actions/setup-python@v3
with:
python-version: '3.7' # Version range or exact version of a Python version to use, using semvers version range syntax.
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
- name: Install PlatformIO
if: success()
run: |
pip install -U platformio
pio upgrade --dev
pio pkg update --global
- name: 'Configure: Core'
if: success()
id: configure_core
env:
HYBRID_THRESHOLD: ${{ matrix.hybrid-threshold }}
run: |-
# Source the helper build script
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh
# Set default/custom steps per unit, per axis
configValue DEFAULT_AXIS_STEPS_PER_UNIT "{ 80, 80, 400, 95.1 }" Marlin/Configuration.h
# Bed size, probing and bed clip tweaks specific to this printer/build surface
configValue X_BED_SIZE 220 Marlin/Configuration.h
configValue Y_BED_SIZE 220 Marlin/Configuration.h
# configValue X_MAX_POS "X_BED_SIZE + 15" Marlin/Configuration.h
configValue X_MAX_POS "245" Marlin/Configuration.h # Rough maximum X position before running into the frame
# configValue Y_MAX_POS "Y_BED_SIZE" Marlin/Configuration.h
configValue Y_MAX_POS "220" Marlin/Configuration.h # Rough maximum Y position before running into the bed clips
# configValue Z_MAX_POS "235" Marlin/Configuration.h # NOTE: Lowered from 250 to prevent our specific printer from crashing
configValue Z_MAX_POS "220" Marlin/Configuration.h # This is the safest maximum Z height for our printer
## FIXME: !!! This is temporary until we figure out the EXACT bed size + offsets !!!
# configValue X_BED_SIZE 235 Marlin/Configuration.h
# configValue Y_BED_SIZE 235 Marlin/Configuration.h
# configValue X_MIN_POS 0 Marlin/Configuration.h
# configValue Y_MIN_POS 0 Marlin/Configuration.h
# configValue X_MAX_POS "X_BED_SIZE" Marlin/Configuration.h
# configValue Y_MAX_POS "Y_BED_SIZE" Marlin/Configuration.h
# FIXME: Reverted these changes for now, other issues to solve first!
# Calibrated bed and position values
# configValue X_BED_SIZE "235 - 2" Marlin/Configuration.h
# configValue Y_BED_SIZE "235 - 5" Marlin/Configuration.h
# configValue X_MIN_POS 0 Marlin/Configuration.h
# configValue Y_MIN_POS 0 Marlin/Configuration.h
# configValue X_MAX_POS "245 - 5" Marlin/Configuration.h
# configValue Y_MAX_POS "235 - 5" Marlin/Configuration.h
# Adjust min/max temperatures
configValue HEATER_0_MINTEMP 5 Marlin/Configuration.h
configValue BED_MINTEMP 5 Marlin/Configuration.h
configValue BED_MAXTEMP 150 Marlin/Configuration.h
# Configure thermal protection
configValue WATCH_TEMP_PERIOD 30 Marlin/Configuration_adv.h
configValue WATCH_TEMP_INCREASE 3 Marlin/Configuration_adv.h
configValue THERMAL_PROTECTION_BED_PERIOD 120 Marlin/Configuration_adv.h
configValue WATCH_BED_TEMP_PERIOD 120 Marlin/Configuration_adv.h
# Enable S-Curve Acceleration (default is disabled)
# configEnable S_CURVE_ACCELERATION Marlin/Configuration.h
# Enable filament runout sensor support
configEnable FILAMENT_RUNOUT_SENSOR Marlin/Configuration.h
configValue FIL_RUNOUT_ENABLED_DEFAULT false Marlin/Configuration.h
configValue FILAMENT_RUNOUT_DISTANCE_MM 0 Marlin/Configuration.h
# Enable EEPROM feedback (disabled by default, enabled in Jyers)
configEnable EEPROM_CHITCHAT Marlin/Configuration.h
# Clear EEPROM on startup after flashing a new firmware (disabled by default, Jyers still uses the old EEPROM_AUTO_INIT)
configEnable EEPROM_INIT_NOW Marlin/Configuration.h
# Enable nozzle parking when idle
configEnable NOZZLE_PARK_FEATURE Marlin/Configuration.h
# Increase Z axis while nozzle parking (disabled by default, enabled in Jyers)
configValue NOZZLE_PARK_Z_RAISE_MIN 5 Marlin/Configuration.h
# Enable print counting statistics (disabled by default, enabled in Jyers)
configEnable PRINTCOUNTER Marlin/Configuration.h
# Enable software PWM fan control
configEnable FAN_SOFT_PWM Marlin/Configuration.h
# Enable mainboard/controller fan control
configEnable USE_CONTROLLER_FAN Marlin/Configuration_adv.h
configValue CONTROLLER_FAN_PIN FAN2_PIN Marlin/Configuration_adv.h
configValue CONTROLLERFAN_IDLE_TIME 10 Marlin/Configuration_adv.h
# Enable automatic fan control for the extruder and parts cooler
configValue E0_AUTO_FAN_PIN FAN1_PIN Marlin/Configuration_adv.h
configValue COOLER_AUTO_FAN_PIN FAN_PIN Marlin/Configuration_adv.h
# Enable thermal protection for a heated chamber (which we don't have, so this is rather meaningless)
configEnable THERMAL_PROTECTION_CHAMBER Marlin/Configuration.h
# Turn off display after 5 minutes
# configValue TOUCH_IDLE_SLEEP 300 Marlin/Configuration.h
configValue TOUCH_IDLE_SLEEP_MINS 5 Marlin/Configuration.h
# Enable center point for bed tramming
configEnable BED_TRAMMING_INCLUDE_CENTER Marlin/Configuration.h
# Enable bed tramming audio feedback
configEnable BED_TRAMMING_AUDIO_FEEDBACK Marlin/Configuration.h
# Always enable PID edit and autotune menus
configEnable PID_EDIT_MENU Marlin/Configuration.h
configEnable PID_AUTOTUNE_MENU Marlin/Configuration.h
## FIXME: There's an active issue on Marlin's repository regarding this, so we MAY get this working eventually!
# Disable adaptive step smoothing
configDisable ADAPTIVE_STEP_SMOOTHING Marlin/Configuration_adv.h
# Enable display speaker mute option
configEnable SOUND_MENU_ITEM Marlin/Configuration_adv.h
# Disable the speaker by default
# configDisable SOUND_ON_DEFAULT Marlin/Configuration_adv.h
# Enable additional display features (some are useful when used with OctoPrint for example)
configEnable STATUS_MESSAGE_SCROLLING Marlin/Configuration_adv.h
# TODO: Leaving this alone for now (enabled by default)
# TODO: Why would BTT have this disabled?
# Disable dynamic memory allocation in SD card menus
configValue SDSORT_DYNAMIC_RAM false Marlin/Configuration_adv.h
## TODO: We may want to change this, if we're going to use the BTT screen's SD card slot instead?
# TODO: Leaving this alone for now, pretty sure it'll default to the board values anyway
# Set default SD card connection type
configValue SDCARD_CONNECTION ONBOARD Marlin/Configuration_adv.h
# TODO: Leaving this alone for now (disabled by default)
# Enable UTF filename support
configEnable UTF_FILENAME_SUPPORT Marlin/Configuration_adv.h
# Enable long filename support
configEnable LONG_FILENAME_HOST_SUPPORT Marlin/Configuration_adv.h
# Enable long filename write support
configEnable LONG_FILENAME_WRITE_SUPPORT Marlin/Configuration_adv.h
# TODO: This is already enabled by default
# Enable scrolling filenames
configEnable SCROLL_LONG_FILENAMES Marlin/Configuration_adv.h
# TODO: Leaving this alone for now (disabled by default)
# TODO: UPDATE: We don't really need this, so disabling it for now
# # Enable automatic reporting of SD card status
# configEnable AUTO_REPORT_SD_STATUS Marlin/Configuration_adv.h
# TODO: Leaving this alone for now (enabled by default)
# Enable SD card host drive support
#configDisable NO_SD_HOST_DRIVE Marlin/Configuration_adv.h
# Configure babystepping
# configEnable BABYSTEP_WITHOUT_HOMING Marlin/Configuration_adv.h
# configEnable BABYSTEP_ALWAYS_AVAILABLE Marlin/Configuration_adv.h
configDisable DOUBLECLICK_FOR_Z_BABYSTEPPING Marlin/Configuration_adv.h
# configEnable BABYSTEP_DISPLAY_TOTAL Marlin/Configuration_adv.h
# Enable emergency parser
configEnable EMERGENCY_PARSER Marlin/Configuration_adv.h
# Enable advanced pausing for filament change (disabled by default, enabled in Jyers)
configEnable ADVANCED_PAUSE_FEATURE Marlin/Configuration_adv.h
# TODO: Disabling for now to use the defaults instead
# TODO: This may need adjusting
# Configure filament unload length (default is 100)
configValue FILAMENT_CHANGE_UNLOAD_LENGTH 0 Marlin/Configuration_adv.h
configValue FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 10 Marlin/Configuration_adv.h
# TODO: Disabling for now to use the defaults instead
# TODO: This may need adjusting
# Configure filament fast load length (default is 0)
#configValue FILAMENT_CHANGE_FAST_LOAD_LENGTH 350 Marlin/Configuration_adv.h
# TODO: Reverting this back to the default 10, but may need adjusting for direct drive?
# Configure filament fast load feed rate (speed, default is 6, Jyers uses 10)
#configValue FILAMENT_CHANGE_FAST_LOAD_FEEDRATE 6 Marlin/Configuration_adv.h
# Enable head parking during pause and filament change (disabled by default, enabled in Jyers)
configEnable PARK_HEAD_ON_PAUSE Marlin/Configuration_adv.h
# TODO: Leaving this alone for now
# Run homing before changing filament (disabled by default)
#configEnable HOME_BEFORE_FILAMENT_CHANGE Marlin/Configuration_adv.h
# Enable display and g-code support for filament loading and unloading (disabled by default, enabled in Jyers)
configEnable FILAMENT_LOAD_UNLOAD_GCODES Marlin/Configuration_adv.h
## TODO: If we don't use hybrid threshold/spreadcycle, is this "custom" chopper timing still fine?!
## TODO: UPDATE: Not yet sure if it was this, but something caused MAJOR motor malfunctions, so disabling this for now!
# configValue CHOPPER_TIMING CHOPPER_09STEP_24V Marlin/Configuration_adv.h
if ($HYBRID_THRESHOLD); then
# configValue CHOPPER_TIMING CHOPPER_09STEP_24V Marlin/Configuration_adv.h
configEnable HYBRID_THRESHOLD Marlin/Configuration_adv.h
## TODO: 100 seems very noisy, but 110 is still noisy?!
configValue X_HYBRID_THRESHOLD 110 Marlin/Configuration_adv.h
configValue Y_HYBRID_THRESHOLD 110 Marlin/Configuration_adv.h
## TODO: Test 120 next, if our latest changes don't sound good enough at 110?
# configValue X_HYBRID_THRESHOLD 120 Marlin/Configuration_adv.h
# configValue Y_HYBRID_THRESHOLD 120 Marlin/Configuration_adv.h
## FIXME: This is 3 by default, which means it probably gets triggered too easily, right?
# Configure hybrid threshold (still disabled by default)
# configValue Z_HYBRID_THRESHOLD 20 Marlin/Configuration_adv.h
fi
# TODO: Leaving these alone for now
# Configure sensorless homing (still disably by default)
configValue X_STALL_SENSITIVITY 72 Marlin/Configuration_adv.h
configValue Y_STALL_SENSITIVITY 72 Marlin/Configuration_adv.h
configValue Z_STALL_SENSITIVITY 10 Marlin/Configuration_adv.h
configEnable IMPROVE_HOMING_RELIABILITY Marlin/Configuration_adv.h
# TODO: This needs proper testing!
## TODO: UPDATE: Supposedly leaving this enabled won't do anything if drivers are in standalone mode, which they are for us?!
## TODO: UPDATE: Enabled this (commented out) and homing went on the fritz, loud motors etc.
# Disable square wave stepping (BTT has this disabled, Creality has it enabled)
configDisable SQUARE_WAVE_STEPPING Marlin/Configuration_adv.h
# TODO: Leaving these alone for now
# TODO: UPDATE: Disabled the first 3 to fallback to polling,
# and not sure if fan change was ever even being utilized
# Enable additional reporting etc. features
# configEnable AUTO_REPORT_POSITION Marlin/Configuration_adv.h
# configEnable M114_DETAIL Marlin/Configuration_adv.h
# # configEnable M114_REALTIME Marlin/Configuration_adv.h
# configEnable REPORT_FAN_CHANGE Marlin/Configuration_adv.h
# Enable telling the host to pause on M76 (pause print job)
configEnable HOST_PAUSE_M76 Marlin/Configuration_adv.h
# TODO: Leaving this alone for now, probably requires an LCD anyway
# Enable fan control options in LCD (might not work with DWIN?)
configEnable CONTROLLER_FAN_EDITABLE Marlin/Configuration_adv.h
# Enable showing remaining time (disabled by default, enabled in Jyers)
configEnable SET_PROGRESS_MANUALLY Marlin/Configuration_adv.h
configEnable SHOW_REMAINING_TIME Marlin/Configuration_adv.h
configEnable SET_PROGRESS_PERCENT Marlin/Configuration_adv.h
configEnable SET_REMAINING_TIME Marlin/Configuration_adv.h
configEnable M73_REPORT Marlin/Configuration_adv.h
# TODO: Not sure if this only applies to MarlinUI or something?
# Either way, keeping it disabled for now
# Further display/status info customizations
# configEnable STATUS_HEAT_PERCENT Marlin/Configuration_adv.h # Show heating in a progress bar
## TODO: Is this fine? Because our Z is always holding now, so lower current would seem better?
# Configure the current multiplier when holding/locked (default is 0.5)
configValue HOLD_MULTIPLIER "0.3" Marlin/Configuration_adv.h
# FIXME: Our Y runs very hot, so maybe we need to bring down its current?
# X also runs quite hot and Z isn't exactly cool either..
# TODO: The motors definitely run a bit hot now, but with the DD, it might just need all the power it can get?
# FIXME: This might be too high, but it's exactly at 2 x 580 right now..
# https://github.com/bigtreetech/BIGTREETECH-SKR-V1.3/issues/515
## TODO: UPDATE: Increase the currents to "max values" again,
## as we're now running them with a timing belt and may
## need more power/torque to handle the tighter movements?!
# Configure stepper motor driver currents
configValue Z_CURRENT 1160 Marlin/Configuration_adv.h
# TODO: Testing lower currents with DD
# configValue Z_CURRENT 850 Marlin/Configuration_adv.h
# TODO: Leaving this alone for now
# TODO: UPDATE: Apparently this is "required" by MONITOR_DRIVER_STATUS?
# Enable stepper driver debugging
configEnable TMC_DEBUG Marlin/Configuration_adv.h
## TODO: Add build configs that toggle between meatpack and binary transfer stuff?
## NOTE: Marlin BFT pip package is basically dead, so no point in even trying to use it!
# Meatpack and Binary File Transfer can NOT be enabled at the same time!
# Enable meatpack g-code compression (disabled by default, enabled in Jyers)
configEnable MEATPACK_ON_SERIAL_PORT_1 Marlin/Configuration_adv.h
configEnable MEATPACK_ON_SERIAL_PORT_2 Marlin/Configuration_adv.h
configEnable GCODE_CASE_INSENSITIVE Marlin/Configuration_adv.h
# Enable host actions commands (disabled by default, enabled in Jyers)
configEnable HOST_ACTION_COMMANDS Marlin/Configuration_adv.h
# Customize host action commands (disabled by default, enabled in Jyers)
configEnable HOST_PROMPT_SUPPORT Marlin/Configuration_adv.h
configEnable HOST_START_MENU_ITEM Marlin/Configuration_adv.h
configEnable HOST_SHUTDOWN_MENU_ITEM Marlin/Configuration_adv.h
## TODO: Disabled MGC, as we're now using a timing belt instead!
# # Enable mechanical gantry calibration
# configEnable MECHANICAL_GANTRY_CALIBRATION Marlin/Configuration_adv.h
# # Configure additional options for mechanical gantry calibration
# configValue GANTRY_CALIBRATION_CURRENT "Z_CURRENT \/ 3" Marlin/Configuration_adv.h
# # TODO: This might be too much, just trying to account for any larger deviations!
# configValue GANTRY_CALIBRATION_EXTRA_HEIGHT 15 Marlin/Configuration_adv.h
# # configValue GANTRY_CALIBRATION_EXTRA_HEIGHT 10 Marlin/Configuration_adv.h
# # configValue GANTRY_CALIBRATION_EXTRA_HEIGHT 5 Marlin/Configuration_adv.h
# configValue GANTRY_CALIBRATION_FEEDRATE 500 Marlin/Configuration_adv.h
# configValue GANTRY_CALIBRATION_COMMANDS_POST \"G28\;G28\ Z\" Marlin/Configuration_adv.h
# TODO: I think this only affects LCDs, not DWIN displays, so might be redundant?
# Lower the bootscreen timeout
# configValue BOOTSCREEN_TIMEOUT 0 Marlin/Configuration_adv.h
# TODO: Leaving these alone for now (all defaults seem fine/same, these would just be unnecessarily high)
# Increase buffers etc.
configEnable ADVANCED_OK Marlin/Configuration_adv.h
# TODO: UPDATE: All of the values below seem unnecessary?
# May even want to bring our baud rates back to 115200?
## TODO: Reverted buffer sizes back to defaults
# configValue BLOCK_BUFFER_SIZE 64 Marlin/Configuration_adv.h # Default 8/16
# # # configValue MAX_CMD_SIZE 96 Marlin/Configuration_adv.h # Default 96
# configValue BUFSIZE 32 Marlin/Configuration_adv.h # Default 4
# configValue TX_BUFFER_SIZE 32 Marlin/Configuration_adv.h # Default 0
# configValue RX_BUFFER_SIZE 2048 Marlin/Configuration_adv.h # Default <disabled>
# TODO: Leaving these alone for now
# # Set temperature watcher intervals (defaults are 40/180/180, Jyers uses 30/120/120)
# # configValue WATCH_TEMP_PERIOD 20 Marlin/Configuration_adv.h
# configValue WATCH_TEMP_PERIOD 30 Marlin/Configuration_adv.h
# # configValue THERMAL_PROTECTION_BED_PERIOD 20 Marlin/Configuration_adv.h
# configValue THERMAL_PROTECTION_BED_PERIOD 30 Marlin/Configuration_adv.h
# configValue WATCH_BED_TEMP_PERIOD 60 Marlin/Configuration_adv.h
# FIXME: #error "LCD_BACKLIGHT_TIMEOUT requires an LCD with encoder or keypad."
# Turn off display after 30 seconds
#configValue LCD_BACKLIGHT_TIMEOUT 30 Marlin/Configuration_adv.h
## TODO: UPDATE: Trying this again, because the devs keep recommending it for
## various issues related to babystepping, so it's worth testing more!
# TODO: Leaving this alone for now (disabled by default)
# TODO: This MAY just help with our babystepping issues!
# TODO: Disabling this again, as our babystepping is just too damn unreliable!
# Enable integrated babystepping (experimental)
# configEnable INTEGRATED_BABYSTEPPING Marlin/Configuration_adv.h
## FIXME: Do we gain anything from having this enabled?
# Combine babystepping with the initial Z probe height
# configEnable BABYSTEP_ZPROBE_OFFSET Marlin/Configuration_adv.h
# TODO: Leaving this alone for now, especially with INTEGRATED_BABYSTEPPING now disabled
# Override default minimum steppper direction change delays (changes both post and pre dir delays)
# NOTE: Default value for TSMC2209 is 60, which SHOULD work when INTEGRATED_BABYSTEPPING is also enabled!
# https://github.com/MarlinFirmware/Marlin/issues/17323
#configValue MINIMUM_STEPPER_POST_DIR_DELAY 100 Marlin/Configuration_adv.h
# TODO: Research "firmware retraction" thoroughly and then enable/configure/test this!
# https://marlinfw.org/docs/gcode/G010.html
# https://marlinfw.org/docs/features/fwretract.html
# https://blog.prusaprinters.org/slic3r-and-marlin-configuration-for-reprap-firmware-retraction-2_3686/
# https://damsteen.nl/blog/2021/05/06/adjustable-retractions-during-printing-with-marlin-firmware-retractions
configEnable FWRETRACT Marlin/Configuration_adv.h
## TODO: Configure our calibrated firmware retraction settings here!
# TODO: UPDATE: This makes much more noise and is faster/more aggressive,
# however it MAY have helped keep the Z axis motors in sync!
# FIXME: This is a very experimental change to see if this helps at all!
# Disable stealthchopping for the Z axis
#configDisable STEALTHCHOP_Z Marlin/Configuration_adv.h
# "Alternative LCD_INFO_SCREEN_STYLE requires 20x4 Character LCD."
# Set LCD info screen style between Marlin (0) and Prusa (1)
# configValue LCD_INFO_SCREEN_STYLE 1 Marlin/Configuration.h
# Enable probe offset wizard
configEnable PROBE_OFFSET_WIZARD Marlin/Configuration_adv.h
configValue PROBE_OFFSET_WIZARD_START_Z "0.0" Marlin/Configuration_adv.h
# Enable the LCD info menu
configEnable LCD_INFO_MENU Marlin/Configuration_adv.h
# Disable Z axis idling when inactive, while still allowing for fans to be disabled
configValue DISABLE_INACTIVE_Z false Marlin/Configuration_adv.h
configEnable CONTROLLER_FAN_IGNORE_Z Marlin/Configuration_adv.h
# TODO: This is a MarlinUI or TFT feature, so don't need it (yet at least)
# Enable assisted tramming
configEnable ASSISTED_TRAMMING Marlin/Configuration_adv.h
# TODO: This is a MarlinUI or TFT feature, so don't need it (yet at least)
# FIXME: Calculate/calibrate this for our specific printer?!
# Set assisted tramming probing positions
#configValue TRAMMING_POINT_XY "{ { 20, 20 }, { 180, 20 }, { 180, 180 }, { 20, 180 } }" Marlin/Configuration_adv.h
# TODO: This is a MarlinUI or TFT feature, so don't need it (yet at least)
# Enable the assisted tramming wizard (likely not usable without an LCD)
configEnable ASSISTED_TRAMMING_WIZARD Marlin/Configuration_adv.h
# TODO: This is a MarlinUI or TFT feature, so don't need it (yet at least)
# Enable moving the nozzle out of the way for adjusting when assisted tramming is enabled
# configEnable ASSISTED_TRAMMING_WAIT_POSITION Marlin/Configuration_adv.h
## FIXME: Disabled until we have separate builds with meatpack vs binary file transfer!
## TODO: Add build configs that toggle between meatpack and binary transfer stuff?
## NOTE: Marlin BFT pip package is basically dead, so no point in even trying to use it!
# Meatpack and Binary File Transfer can NOT be enabled at the same time!
# # Enable Marlin binary file transfer support (marlinbft)
configEnable BINARY_FILE_TRANSFER Marlin/Configuration_adv.h
# ## TODO: !!! THIS IS RELATED TO BINARY_FILE_TRANSFER AND MEATPACK, SEE ABOVE !!!
# Enable custom firmware uploading (eg. with BINARY_FILE_TRANSFER + a USB connection)
configEnable CUSTOM_FIRMWARE_UPLOAD Marlin/Configuration_adv.h
# Disable meatpack when using binary file transfer and/or custom firmware upload
configDisable MEATPACK_ON_SERIAL_PORT_1 Marlin/Configuration_adv.h
configDisable MEATPACK_ON_SERIAL_PORT_2 Marlin/Configuration_adv.h
# configEnable USE_BIG_EDIT_FONT Marlin/Configuration_adv.h
# configEnable USE_SMALL_INFOFONT Marlin/Configuration_adv.h
## NOTE: Not supported on our display at the moment (not sure about the FYSETC one though?)
# configValue DISPLAY_SLEEP_MINUTES 2 Marlin/Configuration_adv.h
# FIXME: Set this to 30 for M3 screws, 40 for M4 screws, 50 for M5 screws, etc.
# Set the bed screw thread size (M3, M4, M5 etc.)
#configValue TRAMMING_SCREW_THREAD 40 Marlin/Configuration_adv.h
## TODO: Test fan kickstarting, to enable higher RPM more quickly and reliably
configEnable FAN_KICKSTART_TIME Marlin/Configuration_adv.h
## TODO: Check if Cura support bezier curves and have this enabled, as this should benefit ARC massively!
configEnable BEZIER_CURVE_SUPPORT Marlin/Configuration_adv.h
# Enable additional ARC support
configEnable ARC_P_CIRCLES Marlin/Configuration_adv.h
## FIXME: "POWER_MONITOR_CURRENT requires a valid POWER_MONITOR_CURRENT_PIN."
## TODO: Test if we can utilize these or not
# configEnable POWER_MONITOR_CURRENT Marlin/Configuration_adv.h
# configEnable POWER_MONITOR_VOLTAGE Marlin/Configuration_adv.h
## TODO: Test if this improves the host actions/prompts?
# configEnable HOST_STATUS_NOTIFICATIONS Marlin/Configuration_adv.h # NOTE: This is too spammy..
## FIXME: We can't use this due to "M100 - unsupported CPU" error
## TODO: Temporarily enable, so we can monitor our memory usage/free memory with the M100 g-code!
# configEnable M100_FREE_MEMORY_WATCHER Marlin/Configuration_adv.h
# Enable stepper motor driver status monitoring
# NOTE: This will monitor the TMC2209 drivers, drop the current
# and eventually stop if something goes wrong!
configEnable MONITOR_DRIVER_STATUS Marlin/Configuration_adv.h
# TODO: Disabling babystepping customizations for now
# TODO: Not specific to direct drive, but using this for debugging right now!
# Use millimeters instead of micro-steps for babystepping multiplicator
#configEnable BABYSTEP_MILLIMETER_UNITS Marlin/Configuration_adv.h
#configValue BABYSTEP_MULTIPLICATOR_Z 0.01 Marlin/Configuration_adv.h
#configValue BABYSTEP_MULTIPLICATOR_XY BABYSTEP_MULTIPLICATOR_Z Marlin/Configuration_adv.h
# TODO: Disabled these for now, just because I wanted to try how stock feels again!
# ## TODO: Why are we doing these babystep adjustments again?!
# # Increase the babystepping amount from 0.0025mm to 0.01mm
# configValue BABYSTEP_MULTIPLICATOR_Z 4 Marlin/Configuration_adv.h
# # Set the X and Y axis babystepping to equal the Z axis
# configValue BABYSTEP_MULTIPLICATOR_XY BABYSTEP_MULTIPLICATOR_Z Marlin/Configuration_adv.h
# # Increase fine manual move amount from 0.025mm to 0.005mm
# configValue FINE_MANUAL_MOVE 0.005 Marlin/Configuration_adv.h
# TODO: Disable just to see if it reduces the sounds?!
# TODO: This needs HEAVY testing, as it may be too aggressive!
# Disable stealthschop for the extruder
#configDisable STEALTHCHOP_E Marlin/Configuration_adv.h
## TODO: UPDATE: After we recalibrate firmware retraction, we should 100% try enabling this again!
# FIXME: Disabling firmware retraction for now, as it almost seems
# like we're unable to disable it with g-code, as our stringing
# issues are identical, no matter how much we adjust retraction!?
# Enable and configure firmware retraction
# TODO: Disabled firmware retract for now, continuing to let the slicer do its thing instead!
# configEnable FWRETRACT Marlin/Configuration_adv.h
# configValue MAX_AUTORETRACT 2.0 Marlin/Configuration_adv.h
# # # FIXME: Adjust retract length and feedrate to match known good values for the Bondtech extruder!
# configValue RETRACT_LENGTH 1 Marlin/Configuration_adv.h
# configValue RETRACT_FEEDRATE 25 Marlin/Configuration_adv.h
## FIXME: This is Y+5/Y-5, but this somehow broke tramming?!
# Adjust our bed tramming positions to be more accurately over the bed screws
# configValue TRAMMING_POINT_XY "{ { 20, 25 }, { 180, 25 }, { 180, 185 }, { 20, 185 } }" Marlin/Configuration_adv.h
configValue TRAMMING_POINT_XY "{ { 28, 26 }, { 198, 26 }, { 198, 197 }, { 28, 197 } }" Marlin/Configuration_adv.h
## TODO: The R(ight) and B(ack) might be wrong, if they don't use bed size but max pos instead!
# Adjust assisted tramming bed offsets
configValue BED_TRAMMING_INSET_LFRB "{ 28, 26, 28, 26 }" Marlin/Configuration.h
## FIXME: This needs to be escaped correctly, otherwise it won't work.. (requires double escaping + double quotes + other bullshit)
# Custom abort print g-code that presents the print and makes it easier to clean up
# configValue EVENT_GCODE_SD_ABORT "G91; G1 E-2 F2700; G1 E-2 Z0.2 F2400; G1 X5 Y5 F3000; G1 Z10; G90; G1 X0 Y220; M106 S0; M104 S0; M140 S0; M84 X Y E" Marlin/Configuration_adv.h
# Move the media menu to the top
configEnable MEDIA_MENU_AT_TOP Marlin/Configuration_adv.h
- name: 'Configure: PID'
if: ${{ !matrix.mpc }}
id: configure_pid
run: |-
# Source the helper build script (note the "true" at the end, which ensure we only want to source the script!)
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh true
# Enable PID and disable MPC
configEnable PIDTEMP Marlin/Configuration.h
configDisable MPCTEMP Marlin/Configuration.h
# Configure default PID for the bed
configValue DEFAULT_bedKp 68.4903 Marlin/Configuration.h
configValue DEFAULT_bedKi 13.1712 Marlin/Configuration.h
configValue DEFAULT_bedKd 237.4331 Marlin/Configuration.h
## TODO: Configure default PID for the hotend
- name: 'Configure: MPC'
if: ${{ matrix.mpc }}
id: configure_mpc
run: |-
# Source the helper build script (note the "true" at the end, which ensure we only want to source the script!)
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh true
# Disable PID and enable MPC
configDisable PIDTEMP Marlin/Configuration.h
configEnable MPCTEMP Marlin/Configuration.h
# Configure MPC
# NOTE: Use "M306 T" G-Code to autotune MPC for the hotend
configEnable MPC_EDIT_MENU Marlin/Configuration.h
configEnable MPC_AUTOTUNE_MENU Marlin/Configuration.h
# Customize MPC
configValue MPC_BLOCK_HEAT_CAPACITY "{ 13.8300f }" Marlin/Configuration.h
configValue MPC_SENSOR_RESPONSIVENESS "{ 0.2342f }" Marlin/Configuration.h
configValue MPC_AMBIENT_XFER_COEFF "{ 0.1307f }" Marlin/Configuration.h
configValue MPC_AMBIENT_XFER_COEFF_FAN255 "{ 0.1429f }" Marlin/Configuration.h
configValue FILAMENT_HEAT_CAPACITY_PERMM "{ 0.0056f}" Marlin/Configuration.h
## TODO: MPC only works for the hotend right now, so still need PID for the bed, I think?
# Configure default PID for the bed
configValue DEFAULT_bedKp 68.4903 Marlin/Configuration.h
configValue DEFAULT_bedKi 13.1712 Marlin/Configuration.h
configValue DEFAULT_bedKd 237.4331 Marlin/Configuration.h
- name: 'Configure: BLTouch'
if: ${{ matrix.bltouch }}
id: configure_bltouch
env:
HIGH_SPEED: ${{ matrix.high-speed }}
run: |-
# Source the helper build script (note the "true" at the end, which ensure we only want to source the script!)
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh true
# Disable Z axis endstop switch support (we use BLTouch/CRTouch instead, default is enabled)
configDisable Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN Marlin/Configuration.h
# Enable Z homing using a probe (default is disabled)
configEnable USE_PROBE_FOR_Z_HOMING Marlin/Configuration.h
# Ensure manual probing is always disabled when using BLTouch/CRTouch
configDisable PROBE_MANUALLY Marlin/Configuration.h
# Enable safe homing on the Z axis (disabled by default, enabled in Jyers)
configEnable Z_SAFE_HOMING Marlin/Configuration.h
# Tweak safe Z homing position (safe position to move to when homing only Z)
configValue Z_SAFE_HOMING_X_POINT X_CENTER Marlin/Configuration.h
configValue Z_SAFE_HOMING_Y_POINT Y_CENTER Marlin/Configuration.h
# configValue Z_SAFE_HOMING_X_POINT "((X_BED_SIZE - 10) \/ 2)" Marlin/Configuration.h
# configValue Z_SAFE_HOMING_Y_POINT "((Y_BED_SIZE - 10) \/ 2)" Marlin/Configuration.h
# Enable BLTouch/CRTouch support
configEnable BLTOUCH Marlin/Configuration.h
# Enable BLTouch High Speed mode (HS) depending on the firmware configuration
if ($HIGH_SPEED); then
configValue BLTOUCH_HS_MODE true Marlin/Configuration_adv.h
else
configDisable BLTOUCH_HS_MODE Marlin/Configuration_adv.h
fi
## FIXME: Can this cause our print head crashing into the bed when probing when NOT set?!
# TODO: Pretty sure this isn't required for BLTouch v3.1, so disabling..
# Decreate probing delay for BLTouch
# WARNING: Requires a BLTouch 3.0 or later
# configValue BLTOUCH_DELAY 200 Marlin/Configuration_adv.h
# configValue BLTOUCH_DELAY 300 Marlin/Configuration_adv.h
configValue BLTOUCH_DELAY 350 Marlin/Configuration_adv.h ## TODO: This may be necessary for CRTouch, but definitely not for BLTouch?!
# Increase X/Y axis feed rate (travel speed) when probing (for BLTouch/UBL, default is 50x60, Jyers config uses 133x60)
configValue XY_PROBE_FEEDRATE "(133*60)" Marlin/Configuration.h
# Set min/max probe offsets (defaults are -10 and 10, same for Jyers)
# configValue Z_PROBE_OFFSET_RANGE_MIN -5 Marlin/Configuration.h
# configValue Z_PROBE_OFFSET_RANGE_MAX 10 Marlin/Configuration.h
# Enable Z probe testing (for BLTouch/UBL)
configEnable Z_MIN_PROBE_REPEATABILITY_TEST Marlin/Configuration.h
# Enable/increase Z clearance
# configValue Z_HOMING_HEIGHT 10 Marlin/Configuration.h
# Require heated bed and nozzle when auto-leveling
# configEnable PREHEAT_BEFORE_LEVELING Marlin/Configuration.h
# configValue LEVELING_NOZZLE_TEMP 150 Marlin/Configuration.h
# configValue LEVELING_BED_TEMP 50 Marlin/Configuration.h
# Enable bed tramming with a probe
# configEnable BED_TRAMMING_USE_PROBE Marlin/Configuration.h
# Enable multiple probes
configValue MULTIPLE_PROBING 2 Marlin/Configuration.h
# Enable extra probing
# configEnable EXTRA_PROBING Marlin/Configuration.h
- name: 'Configure: UBL'
if: ${{ matrix.ubl }}
id: configure_ubl
env:
GRID: ${{ matrix.grid }}
run: |-
# Source the helper build script (note the "true" at the end, which ensure we only want to source the script!)
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh true
# Enable Universal Bed Leveling (UBL)
configEnable AUTO_BED_LEVELING_UBL Marlin/Configuration.h
# Disable bilinear leveling (enabled by default)
configDisable AUTO_BED_LEVELING_BILINEAR Marlin/Configuration.h
# Increase default mesh inset for UBL
# configValue MESH_INSET 10 Marlin/Configuration.h
# TODO: Lowered mesh inset back to default 1
# configValue MESH_INSET 1 Marlin/Configuration.h
# configValue MESH_INSET 10 Marlin/Configuration.h
configValue MESH_INSET 5 Marlin/Configuration.h # Reduced mesh inset to account for our already offset bed size and positions
# Enable Hilbert Curve for UBL (reduces travel)
configEnable UBL_HILBERT_CURVE Marlin/Configuration.h
# Disable UBL automatic mesh saving
# configDisable UBL_SAVE_ACTIVE_ON_M500 Marlin/Configuration.h
# Enable Marlin's UBL mesh wizard
configEnable UBL_MESH_WIZARD Marlin/Configuration.h
# Enable UBL mesh editing menu
configEnable MESH_EDIT_MENU Marlin/Configuration.h
# Set the leveling grid size for the current firmware configuration
configValue GRID_MAX_POINTS_X $GRID Marlin/Configuration.h
# Enable leveling after completion (for BLTouch/UBL/ABL)
configEnable RESTORE_LEVELING_AFTER_G28 Marlin/Configuration.h
# Increase the probing margin (for BLTouch/UBL/ABL, default is 10)
# configValue PROBING_MARGIN 10 Marlin/Configuration.h
# configValue PROBING_MARGIN 20 Marlin/Configuration.h
configValue PROBING_MARGIN 5 Marlin/Configuration.h # Since our bed size and positions already account for this, we don't need additional margin?
# Disable retrying bed leveling after a failed attempt
configDisable G29_RETRY_AND_RECOVER Marlin/Configuration_adv.h
- name: 'Configure: Bed Leveling'
if: ${{ !matrix.ubl }}
id: configure_bed_leveling
run: |-
# Source the helper build script (note the "true" at the end, which ensure we only want to source the script!)
cd ${GITHUB_WORKSPACE}
source ${GITHUB_WORKSPACE}/.github/workflows/scripts/configure_build_script.sh true
# Ensure bilinear leveling is enabled (default is enabled)
configEnable AUTO_BED_LEVELING_BILINEAR Marlin/Configuration.h
## TODO: Do we need to specify anything else? Insets, probe offsets, etc?
# Enable retrying bed leveling after a failed attempt
configEnable G29_RETRY_AND_RECOVER Marlin/Configuration_adv.h
- name: 'Configure: Bondtech DDX v3'
if: ${{ matrix.direct-drive }}
id: configure_bondtech_ddx_v3
run: |-