Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensible Source Inclusion System, Smart Building for Marlin #25332

Merged

Conversation

quiret
Copy link
Contributor

@quiret quiret commented Feb 3, 2023

Description

logo_small

Please watch the video to get the full idea:
https://www.youtube.com/watch?v=aSdFR7pnAtg

The Marlin Firmware has a too complicated source file inclusion layout. In this PR I want to help reduce the technical burden of source code repository maintenance. There are some issues in the default way that PlatformIO does things. Notorious example is the inclusion of all font files when graphical LCDs are used.

Benefits

The amount of lines in the platformio.ini has been drastically reduced.
Shorter build times (small impact?)
Better maintainability.
Backwards compatible with old layout.

Related Issues

#24911

@jmz52
Copy link
Contributor

jmz52 commented Feb 4, 2023

TFT font optimization requires new line in features.ini file for each family type increasing amount of work needed to support it.
Also it is made on assumptions that only one font can be used, meaning it will be obsolete the moment UI will start to use multiple fonts.
Do you have numbers that show how much time it saves during compilation?

@quiret
Copy link
Contributor Author

quiret commented Feb 4, 2023

(...) meaning it will be obsolete the moment UI will start to use multiple fonts.

Sorry but you are mistaken. If multiple fonts get supported then you have a configuration option. You can use that to enable multiple features at once, like each font feature.

Do you have numbers that show how much time it saves during compilation?

Launching the GCC compiler for a disabled source file is an unnecessaringly big task. This wastes both time and energy that could be spent on other computational activities.

@jmz52
Copy link
Contributor

jmz52 commented Feb 7, 2023

This is exactly my point - with the proposed granularity level even small change in UI will render this system outdated and it will fail to build firmware.
The need to constantly update this system will make development process more time consuming.

On the other hand the time saving on excluding fonts file is insignificant at best.
I've run number of clean compilation on my 14-year old i7 with generic 7200 RPM HDDs and here are the results:
Best compilation time with all font files included - 127.28s (yes, it was faster than without fonts)
Best compilation time without Helvetica and NotoSans (heaviest of the all) fonts - 128.74s
Build time deviation between builds - 11.7s
Conclusion: potential time saving on excluding font files from compilation is less than mean statistical error caused by build time deviation.

So again - proposed level of granularity is not an improvement over the one we already have.

@quiret
Copy link
Contributor Author

quiret commented Feb 7, 2023

So again - proposed level of granularity is not an improvement over the one we already have.

You have purposefully tested on a fast computer, excluding build speedups on people who just want to build Marlin on their old computers. Do not ignore the people stuck with their AVR processors or using old laptops. While I cannot speak for every computer out there I claim that there are special situations in which build exclusions speed up for good.

Also you are ignoring the fact that the build process is much cleaner without those additional source files in the compilation stage. Your assumption that the build files do not result in a larger binary is randomly coincident to the fact that the compiler is smart enough to optimize your definitions away. In the object graph your font data does persist until linking stage. I wouldn't go as far as to rely on compiler optimization too much.

Another small advantage of cleaning up the build stage is a cleaner build log. You only see the source files being built that matter, improving on the human maintainability of the Marlin project. If everyone were to include their optional sources... Just imagine what a mess it would become!

Anyway, I do not understand your ramsack obstruction over this (maybe minor) software development improvement.

@jmz52
Copy link
Contributor

jmz52 commented Feb 7, 2023

Your assumption that the build files do not result in a larger binary is randomly coincident to the fact that the compiler is smart enough to optimize your definitions away. In the object graph your font data does persist until linking stage. I wouldn't go as far as to rely on compiler optimization too much.

There is absolutely no coincidence or optimization done by compiler.
No including unused code and data is literally a core functionality of a linker and it is being that way for decades.

I do not understand your ramsack obstruction over this (maybe minor) software development improvement.

"The need to constantly update this system will make development process more time consuming."

@EvilGremlin
Copy link
Contributor

EvilGremlin commented Feb 7, 2023

What is actual quantifiable benefit of changed filtering? Does it shave off at least 5% of build time? Guess i'll go get my old netbook to test.

@quiret
Copy link
Contributor Author

quiret commented Feb 7, 2023

@jmz52 Since you are so convinced that your multi-font stuff is so necessary for Marlin let me explain to you that many boards already hit their RAM/ROM limit with just one font (MKS Robin E3D V1.1 for example) Do you really it is a good idea? It is not a good idea for everybody. The memory is better spent increasing the framebuffer! Note that multi-font support is possible by making use of the TFT_FONT_* defines set out in this PR. You probably thought it something sinister but you are just mistaken. Please calm down and think, ok?

I am not the one making build-speed improvement this big argument. This @jmz52 guy just felt triggered about it. Please look at the software model improvement by proper features.ini parsing instead. I think this is way more worthwhile.

Also imagine code that references all the font data, by chance. By disabling the source files we are giving the user no wrong impressions that font data is overcrowding his printer firmware. The optional inclusion as set out by features.ini is giving good developer guidelines for firmware size minimalization. It simply does not appear in the build log, leading to a clean impression of the Marlin firmware building process.

Granularity has always been a goal of Marlin firmware. In this discussion a point was made to the contrary but just think about it. There are many GCodes in Marlin that you can enable or disable based on what kind of printer you want. The additional configuration resolution for the firmware is aligned with Marlin's current strategy.

@EvilGremlin Please spare yourself the extra work over this minor detail. It resulted from a user making a fuss about something changing related to what he worked on. I have corrected a detail in my post to not raise any wrong expectations! Most of the users will not see a GIANT impact on build speed improvement. But some will appreciate it, even if not always visible.

@quiret
Copy link
Contributor Author

quiret commented Feb 8, 2023

titlecard_small

https://www.youtube.com/watch?v=3pTu-lXoK6M

Here is my statistical proof that Extensible Source Inclusion does save meaningful build time. The test target was the inclusion of the font files: on one end just helvetica was included and on the other all of them. The test results speak for themselves:

with minimal fonts:

  1. 132.64
  2. 134.43
  3. 125.02
  4. 134.27
  5. 133.52
    mean-time = 131.98
    max-deviation = 9.41 seconds

with maximal fonts:

  1. 128.24
  2. 147.98
  3. 140.84
  4. 142.95
  5. 145.14
    mean-time = 141.03
    max-deviation = 19.74 seconds

mean-saving = abs(mean-time(minimal) - mean-time(maximal)) = 9.05 seconds
-> good time saving thanks to ESIS!

@quiret
Copy link
Contributor Author

quiret commented Mar 23, 2023

I am sorry but I have decided to halt my activities on this PR for an indetermined amount of time. You are free to decide whether to continue it yourself. Thank you to the Marlin firmware community for providing this interesting playing ground for testing my ideas and vision. I hope that Marlin will continue to go towards the best 3D printing solution! Hopefully my ideas have inspired you on how to continue this software!

@thinkyhead thinkyhead force-pushed the bugfix-2.1.x branch 5 times, most recently from 27df113 to 8d31429 Compare March 25, 2023 04:25
@thinkyhead thinkyhead force-pushed the bugfix-2.1.x branch 3 times, most recently from de391db to 0f34163 Compare April 12, 2023 05:14
Co-Authored-By: Martin Turski <[email protected]>
@thinkyhead
Copy link
Member

thinkyhead commented Apr 27, 2023

It's been a busy few months trying to keep up with the Joneses, especially in the area of smoother and faster motion, and of course we want the followup to 2.1.2 to fix any extant issues and be a net improvement, so of course I got obsessed with refactoring. There are still various issues to work out with probing, leveling, and Fixed-Time Motion, but we're getting there.

On that note, this PR is one of those helpful refactors that simplifies things, which is exactly the kind of refactor I like. I've just been reviewing the methodology applied in the improved dependencies script, and it all seems clean and robust. So, at last this will get merged for inclusion in 2.1.3. Sorry for the long delay. There are never enough hours in the day… week… month….

Overall, this is a very simple idea and well-implemented, patching a deficiency in PlatformIO that was making it a lot more tedious to do source filtering. I appreciate that you made a video. I would like to make more of those to share my excitement over things I have been building too.

I've only made a couple of small tweaks here, notably moving the font dependencies to common-dependencies.h so that the items in features.ini work as expected and no custom handling is needed for TFT_FONT in the script. I might try cleaning up the filtering even more, but anyway, it should be merged shortly.

@thinkyhead thinkyhead force-pushed the bugfix-2.1.x-smartbuild branch 12 times, most recently from bdc30ae to 8370c97 Compare April 27, 2023 11:37
@thinkyhead thinkyhead merged commit 9a7d9e6 into MarlinFirmware:bugfix-2.1.x Apr 27, 2023
@thinkyhead
Copy link
Member

Thanks again! There are all kinds of elements in this codebase that can benefit from this kind of care and attention, and we have a shortage of capable developers, so your contribution is much appreciated.

Lately I have been in the mood to address various deficits and the stratification of ad hoc solutions, and this is starting to bear some fruit. For example, I have a major LCD pins reorganization underway which is beginning to take shape, and I just managed to get rid of those annoying USE_*_PLUG settings that were a classic example of that stratification.

Meanwhile I'm working on improving the configuration documentation at the MarlinDocumentation repo by encapsulating all the settings in YML format, and stealing time to extend the Auto Build Marlin extension with the eventual goal of integrating that configuration tool with the website documentation, and even automating migration.

The newest technologies represented by Klipper, Bambu Labs, Prusa Research, and Creality3D are inspiring and challenging us to achieve a higher standard, and that begins with shoring up the foundations of this project, so that is where my focus is increasingly centered. Rather than being overwhelmed by the challenges ahead, I am feeling more exhilarated than ever. And it is gratifying to encounter others who recognize the continuing relevance and potential of venerable old Marlin in a field of shiny new contenders.

Onward and upward!

thinkyhead added a commit that referenced this pull request Apr 28, 2023
danielcastilho pushed a commit to danielcastilho/Marlin_KP3S_Custom that referenced this pull request May 4, 2023
commit cfbd8a2
Author: thinkyhead <[email protected]>
Date:   Thu May 4 00:20:30 2023 +0000

    [cron] Bump distribution date (2023-05-04)

commit 7642bfb
Author: Keith Bennett <[email protected]>
Date:   Wed May 3 14:19:32 2023 -0700

    🐛 Fix TFT Touch Calibration overrides (MarlinFirmware#25579)

    …and other misc. display-related updates

    Co-authored-by: Scott Lahteine <[email protected]>

commit dbed3f1
Author: thinkyhead <[email protected]>
Date:   Wed May 3 00:20:18 2023 +0000

    [cron] Bump distribution date (2023-05-03)

commit e1f6435
Author: Scott Lahteine <[email protected]>
Date:   Tue May 2 17:59:27 2023 -0500

    ✨ Creality STM32F401RE board (e.g., Ender-5 S1) (MarlinFirmware#25773)

commit 21ea9bf
Author: plampix <[email protected]>
Date:   Tue May 2 23:50:07 2023 +0200

    🐛 Fix minimal M115, Cap:PROGRESS:0 (MarlinFirmware#25769)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 137ea43
Author: ellensp <[email protected]>
Date:   Wed May 3 09:15:10 2023 +1200

    ✨ Creality Ender-2 (Melzi) (MarlinFirmware#25754)

commit 9aa69cb
Author: plampix <[email protected]>
Date:   Tue May 2 07:01:44 2023 +0200

    Fix G12 Nozzle Clean (MarlinFirmware#25766)

    Followup to MarlinFirmware#25666

commit 61f0dd2
Author: Scott Lahteine <[email protected]>
Date:   Mon May 1 20:23:41 2023 -0500

    🩹 Fix _CAN_HOME for new endstop flags

commit 207535a
Author: Scott Lahteine <[email protected]>
Date:   Mon May 1 20:33:58 2023 -0500

    🔨 Fix Multi-Language Menu criteria

commit 4812ed5
Author: Scott Lahteine <[email protected]>
Date:   Mon May 1 18:45:42 2023 -0500

    🎨 Misc. code cleanup

commit f89fa4c
Author: thinkyhead <[email protected]>
Date:   Tue May 2 00:24:02 2023 +0000

    [cron] Bump distribution date (2023-05-02)

commit b042567
Author: Scott Lahteine <[email protected]>
Date:   Mon May 1 18:15:31 2023 -0500

    🩹 Fix TFT sanity error

commit 4bed8a8
Author: Scott Mikutsky <[email protected]>
Date:   Mon May 1 02:10:46 2023 -0400

    🐛 Fix STM32 USB disconnect behavior (MarlinFirmware#25762)

commit 006a9e5
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 30 23:10:44 2023 -0500

    🩹 NOZZLE_CLEAN_PATTERN_* Followup

    Followup to MarlinFirmware#25666

commit 55cbe15
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 30 19:14:53 2023 -0500

    🔧 Remove config.ini obsolete options

commit 35dd6a3
Author: thinkyhead <[email protected]>
Date:   Mon May 1 00:22:20 2023 +0000

    [cron] Bump distribution date (2023-05-01)

commit 9773160
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 30 18:24:05 2023 -0500

    🔧 Character display has boot screen

commit f246e0d
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 30 18:12:13 2023 -0500

    🔧 Fix X2/Y2 axis pins check

commit 4937a64
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 30 18:12:21 2023 -0500

    🧑‍💻 Use NUM_AXIS_ARRAY

commit b88ab39
Author: ellensp <[email protected]>
Date:   Mon May 1 09:52:29 2023 +1200

    🐛 Fix Ender-2 Stock LCD on MELZI_CREALITY (MarlinFirmware#25759)

commit 3b50b6a
Author: Davide Rombolà <[email protected]>
Date:   Sun Apr 30 23:36:47 2023 +0200

    🔧 Allow BLTOUCH_HS_EXTRA_CLEARANCE == 0 (MarlinFirmware#25760)

commit ec6bc15
Author: Scott Lahteine <[email protected]>
Date:   Sat Apr 29 20:10:33 2023 -0500

    🐛 Fix FT Motion reversed Z

commit 5aef2c0
Author: thinkyhead <[email protected]>
Date:   Sun Apr 30 00:22:44 2023 +0000

    [cron] Bump distribution date (2023-04-30)

commit 4c033c3
Author: Scott Lahteine <[email protected]>
Date:   Sat Apr 29 12:34:56 2023 -0500

    🧑‍💻 Tweak homing debug

commit f9db5ab
Author: thinkyhead <[email protected]>
Date:   Sat Apr 29 00:20:26 2023 +0000

    [cron] Bump distribution date (2023-04-29)

commit c5a2e41
Author: James Pearson <[email protected]>
Date:   Fri Apr 28 23:30:15 2023 +0100

    🐛 Probe behavior corrections (MarlinFirmware#25631)

    Co-authored-by: Scott Lahteine <[email protected]>
    Co-authored-by: David Fries <[email protected]>

commit 7d95928
Author: Scott Lahteine <[email protected]>
Date:   Fri Apr 28 13:38:59 2023 -0500

    🐛 Fix auto pullup/down settings

    Followup to MarlinFirmware#25748

commit a872232
Author: Scott Lahteine <[email protected]>
Date:   Fri Apr 28 11:03:38 2023 -0500

    🔧 Move MMU section

commit 6323de3
Author: Scott Lahteine <[email protected]>
Date:   Fri Apr 28 11:03:20 2023 -0500

    🔨 Fix LPC faux pins

    Followup to MarlinFirmware#25332

commit 0e2c5b4
Author: thinkyhead <[email protected]>
Date:   Fri Apr 28 00:21:29 2023 +0000

    [cron] Bump distribution date (2023-04-28)

commit 959f730
Author: TheSnowfield <[email protected]>
Date:   Thu Apr 27 20:37:11 2023 +0800

    ✨ AUTO_REPORT_REAL_POSITION option for M154 (MarlinFirmware#25738)

commit 9a7d9e6
Author: Martin Turski <[email protected]>
Date:   Thu Apr 27 14:05:24 2023 +0200

    🧑‍💻 Optimize PlatformIO source filtering (MarlinFirmware#25332)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 774861b
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 20:04:01 2023 -0500

    🔧 Endstops followup

commit 04a25ab
Author: thinkyhead <[email protected]>
Date:   Thu Apr 27 00:22:32 2023 +0000

    [cron] Bump distribution date (2023-04-27)

commit 467ab74
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 14:56:23 2023 -0500

    🧑‍💻 Simplify endstops config (MarlinFirmware#25748)

commit 358a54e
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 14:39:56 2023 -0500

    🔨 Servo Timer 1 with STM32F103RC_fysetc (MarlinFirmware#25741)

commit 79b4555
Author: Giuliano Zaro <[email protected]>
Date:   Wed Apr 26 21:38:39 2023 +0200

    🔧 Thermistor 100 : SoC sensor (MarlinFirmware#25745)

    Followup to MarlinFirmware#25642

commit d364bab
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 14:29:21 2023 -0500

    🧑‍💻 Change HAL_PATH macro for easier HAL relocation (MarlinFirmware#25743)

commit 1771d7a
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 13:51:33 2023 -0500

    ✅ Skip change alerts in CI test

commit 68f7478
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 13:50:45 2023 -0500

    🎨 Misc. fixes, cleanup

commit 08edb62
Author: Scott Lahteine <[email protected]>
Date:   Wed Apr 26 02:57:53 2023 -0500

    🔧 Extra axis endstop defaults

commit a4cc9b6
Author: thinkyhead <[email protected]>
Date:   Wed Apr 26 00:21:12 2023 +0000

    [cron] Bump distribution date (2023-04-26)

commit f5a905a
Author: Giuliano Zaro <[email protected]>
Date:   Tue Apr 25 04:51:44 2023 +0200

    ✨ TEMP_SENSOR_SOC (MarlinFirmware#25642)

    Co-authored-by: Scott Lahteine <[email protected]>

commit d1738e9
Author: Scott Lahteine <[email protected]>
Date:   Mon Apr 24 21:40:08 2023 -0500

    🔧 Fix LCD_SERIAL_PORT config

commit 650e6fc
Author: Anson Liu <[email protected]>
Date:   Mon Apr 24 22:07:12 2023 -0400

    🔨 Prevent SlowSoftWire + Wire name conflict (MarlinFirmware#25707)

commit c034819
Author: thinkyhead <[email protected]>
Date:   Tue Apr 25 00:20:57 2023 +0000

    [cron] Bump distribution date (2023-04-25)

commit 077a620
Author: Scott Lahteine <[email protected]>
Date:   Mon Apr 24 05:24:10 2023 -0500

    📝 Developer note in boards.h

commit 2954bf2
Author: Scott Lahteine <[email protected]>
Date:   Mon Apr 24 00:24:40 2023 -0500

    🌐 Replace '=' with '{' for substitution

commit 743903b
Author: Nick <[email protected]>
Date:   Mon Apr 24 01:50:39 2023 +0100

    🩹 Fix Anycubic PlayTune (MarlinFirmware#25735)

    Followup to MarlinFirmware#25690

    Co-authored-by: Scott Lahteine <[email protected]>

commit 02a14d3
Author: thinkyhead <[email protected]>
Date:   Mon Apr 24 00:21:28 2023 +0000

    [cron] Bump distribution date (2023-04-24)

commit df4f806
Author: plampix <[email protected]>
Date:   Mon Apr 24 01:12:47 2023 +0200

    ✨ NOZZLE_CLEAN_PATTERN_* (MarlinFirmware#25666)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 9902097
Author: ellensp <[email protected]>
Date:   Mon Apr 24 11:11:02 2023 +1200

    🔨 Gather GD32, suppress redundant #error (MarlinFirmware#25665)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 10ed5ab
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 23 03:17:55 2023 -0500

    🚸 Improve PAUSE_PROBE_DEPLOY_WHEN_TRIGGERED (MarlinFirmware#25681)

commit 1669356
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 23 03:00:56 2023 -0500

    🔧 Split followup

commit aaf55a2
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 23 02:07:42 2023 -0500

    🩹 Fix UBL safe measure move with extra axes

    Followup to 7e79fc5

commit 69f8da4
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 23 01:58:01 2023 -0500

    🔧 Split Changes.h from SanityCheck.h (MarlinFirmware#25732)

commit f0f7ec8
Author: Scott Lahteine <[email protected]>
Date:   Sun Apr 23 00:47:44 2023 -0500

    🧑‍💻 Stepper::set_directions() => apply_directions()

commit 921591d
Author: Scott Lahteine <[email protected]>
Date:   Sat Apr 22 23:15:31 2023 -0500

    🧑‍💻 SDIO_SUPPORT => ONBOARD_SDIO

commit 5664c02
Author: Scott Lahteine <[email protected]>
Date:   Sat Apr 22 22:43:09 2023 -0500

    🧑‍💻 Generalize SDSUPPORT as HAS_MEDIA

    In preparation for single- and multi-volume refactoring.

commit ce85b98
Author: Jason Smith <[email protected]>
Date:   Sat Apr 22 20:27:01 2023 -0700

    🩹 Relocate Fan conditionals, sanity-checks (MarlinFirmware#25731)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 95cfc98
Author: thinkyhead <[email protected]>
Date:   Sun Apr 23 00:22:56 2023 +0000

    [cron] Bump distribution date (2023-04-23)

commit 5d8d38a
Author: ellensp <[email protected]>
Date:   Sun Apr 23 08:59:51 2023 +1200

    🩹 Status / Host Prompt followup (MarlinFirmware#25720)

    Followup to MarlinFirmware#25679

    Co-authored-by: Scott Lahteine <[email protected]>

commit 3117339
Author: thinkyhead <[email protected]>
Date:   Sat Apr 22 12:06:22 2023 +0000

    [cron] Bump distribution date (2023-04-22)

commit c8ed795
Author: ellensp <[email protected]>
Date:   Sat Apr 22 21:09:17 2023 +1200

    🔧 Permit extrude without hotend (MarlinFirmware#25709)

    Co-authored-by: Scott Lahteine <[email protected]>

commit 89ccede
Author: Alexey D. Filimonov <[email protected]>
Date:   Sat Apr 22 12:06:19 2023 +0300

    🎨 Clean up TFT Color UI display items (MarlinFirmware#25712)

    Co-authored-by: Scott Lahteine <[email protected]>

commit fba1f83
Author: ellensp <[email protected]>
Date:   Sat Apr 22 21:02:51 2023 +1200

    🩹 Fix Anycubic PlayTune (MarlinFirmware#25728)

    Followup to MarlinFirmware#25690

commit 726de7e
Author: Nomis-97 <[email protected]>
Date:   Sat Apr 22 10:16:19 2023 +0200

    🐛 Fix MKS Gen-L MOSFETs (MarlinFirmware#25717)

commit 4233e48
Author: Scott Lahteine <[email protected]>
Date:   Sat Apr 22 01:56:10 2023 -0500

    🚸 MarlinUI Endstop Test Screen, and more (MarlinFirmware#25667)

commit 98277f2
Author: thinkyhead <[email protected]>
Date:   Fri Apr 21 00:20:12 2023 +0000

    [cron] Bump distribution date (2023-04-21)

commit ded9ffa
Author: Scott Lahteine <[email protected]>
Date:   Thu Apr 20 17:35:20 2023 -0500

    🧑‍💻 Apply INVERT_DIR to SET_STEP_DIR

commit 335ba32
Author: Scott Lahteine <[email protected]>
Date:   Thu Apr 20 17:21:59 2023 -0500

    🩹 Fix Core Kinematics BABYSTEP_XY
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 8, 2023
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 8, 2023
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 17, 2023
EvilGremlin pushed a commit to EvilGremlin/Marlin that referenced this pull request May 17, 2023
tspiva pushed a commit to tspiva/Marlin that referenced this pull request May 25, 2023
tspiva pushed a commit to tspiva/Marlin that referenced this pull request May 25, 2023
Andy-Big pushed a commit to Andy-Big/Marlin_FB_Reborn that referenced this pull request Jul 14, 2023
Andy-Big pushed a commit to Andy-Big/Marlin_FB_Reborn that referenced this pull request Jul 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants