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

Add 4 axis CNC configuration for MiniRambo board #26892

Merged
merged 7 commits into from
Mar 27, 2024

Conversation

hm2dev
Copy link
Contributor

@hm2dev hm2dev commented Mar 20, 2024

Description

Add new board definition MiniRambo_CNC based on MiniRambo definig I instead of E0 axis. Add configuration and advanced configuration utilizing the new board definition. (Crude?) Fix to get M907 to compile, when no E-axis is present. Add LCD_INFO_SCREEN_STYLE 2 for displaying X, Y, Z and I/A axis.

Requirements

This requires a MiniRambo Board and a standard RepRapDiscount LCD board, e.g. from an old Prusa i3mk2s.

Benefits

I allows using the above board to control four independent CNC axes and displaying their position on the display.
The board definition and configuration is also an example how to use other axes than X, Y, Z, E, as well as how to enable

EMERGENCY_PARSER
REALTIME_REPORTING_COMMANDS
M114_REALTIME and
FULL_REPORT_TO_HOST_FEATURE

which come in handy when using such a setup as general CNC.

Configurations

[Configurations.zip]
(https://github.com/MarlinFirmware/Marlin/files/14668853/Configurations.zip)
Configuration.h and Configuration_adv.h are currently also included in this request, but should better be headed to https://github.com/MarlinFirmware/Configurations/tree/bugfix-2.1.x.

Related Issues

This needs the fix for #26889 to compile and is the test case for this fix.

hm2dev added 3 commits March 20, 2024 16:02
Fixes MarlinFirmware#26889.
Prevent switch cases in function Stepper::microstep_ms for axis I, J, K, U, V and W
from accessing x_MS3_PIN in case if x_MS3_PIN is not defined.
Add missing semicolon to break statements
Add new board definition MiniRambo_CNC based on MiniRambo definig I instead of E0 axis.
Add configuration and advanced configuration utilizing the new board definition.
(Crude?) Fix to get M907 to compile, when no E-axis is present.
Add LCD_INFO_SCREEN_STYLE 2 for displaying X, Y, Z and I/A axis.
@thisiskeithb
Copy link
Member

You'll need to revert changes to Configuration.h & Configuration_adv.h and post those in a a PR to our Configurations repo as a new config. You can then create a test to use the config for PR/commit CI checks.

@classicrocker883
Copy link
Contributor

in Marlin\src\inc\Conditionals_LCD.h
it does #undef TEMP_SENSOR_0, so in the configs #define TEMP_SENSOR_0 1 might as well be 0

@thisiskeithb
Copy link
Member

pins_MINIRAMBO_CNC.h is nearly a 1:1 copy of pins_MINIRAMBO.h with some minor tweaks, so I'm not sure why we need to duplicate it. Nearly every Marlin-supported motherboard can be used for non-3D printing things.

We can then use CNC / I axis-related defines in a MINIRAMBO test and/or a generic CNC config in the Configurations repo.

@hm2dev
Copy link
Contributor Author

hm2dev commented Mar 24, 2024

in Marlin\src\inc\Conditionals_LCD.h it does #undef TEMP_SENSOR_0, so in the configs #define TEMP_SENSOR_0 1 might as well be 0

@classicrocker883 and @thisiskeithb: Thanks for taking the time and pointing out the necessary changes.
@thinkyhead: Thanks for making the changes.

pins_MINIRAMBO_CNC.h is nearly a 1:1 copy of pins_MINIRAMBO.h with some minor tweaks, so I'm not sure why we need to duplicate it. Nearly every Marlin-supported motherboard can be used for non-3D printing things.

We can then use CNC / I axis-related defines in a MINIRAMBO test and/or a generic CNC config in the Configurations repo.

@thisiskeithb
It was my codebase/configuration which caused me to find bug #26889 and it took me a while to get it working.
I added it here in case someone finds it useful.
I you don't find it to be suitable in the codebase, feel free to ignore it.

If there is an option to leave the pins_MINIRAMBO.h and the rest of the codebase as it is and redefine everything I did in there in the configuration files instead, that is even better. I did not have enough insight into the codebase yet, to be sure what I could redefine in the configuration files without breaking something.

@thinkyhead
Copy link
Member

Typically for a custom config that requires pins adjustments, we'll just put overrides in the configs, or at most add one or more special clauses to the existing pins file. So far I've just made edits to bring the code style into compliance. The next step will be to make a configuration (at MarlinFirmware/Configurations repo) that does as much as can be done without needing to alter a pins file, then we'll strip down pins file changes to the minimum, possibly removing them altogether.

@thinkyhead thinkyhead force-pushed the feature-RamboMiniCNC branch from 1862831 to 07df89b Compare March 24, 2024 19:20
@thinkyhead
Copy link
Member

thinkyhead commented Mar 24, 2024

I posted the configurations, as provided, to the examples repository. You can view them as differences here. (Wait patiently for the page to load and it will scroll to the anchor.)

If you want to apply further changes to the configurations, submit a PR to the MarlinFirmware/Configurations repo, using the import-2.1.x branch to make any needed changes. For example, you might want to enable the laser or spindle.

Thanks for the submission!

@thinkyhead thinkyhead merged commit cd357b0 into MarlinFirmware:bugfix-2.1.x Mar 27, 2024
61 checks passed
smiksky added a commit to smiksky/Marlin that referenced this pull request Apr 4, 2024
commit 17dfe8e
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Wed Apr 3 00:20:46 2024 +0000

    [cron] Bump distribution date (2024-04-03)

commit 7b6b6e1
Author: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date:   Mon Apr 1 21:44:18 2024 -0500

    🩹 Revert motion change

commit 60f2837
Author: Sophist <3001893+Sophist-UK@users.noreply.github.com>
Date:   Tue Apr 2 03:30:04 2024 +0100

    🔧 Minor INPUT_SHAPING config fixes (MarlinFirmware#26882)

    Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>

commit ef5fb39
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Tue Apr 2 00:20:47 2024 +0000

    [cron] Bump distribution date (2024-04-02)

commit 87e94f4
Author: Andrew <18502096+classicrocker883@users.noreply.github.com>
Date:   Mon Apr 1 16:05:11 2024 -0400

    🚸 Update ProUI Plot graph - part 2 (MarlinFirmware#26563)

    Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>

commit 017a903
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Mon Apr 1 00:23:48 2024 +0000

    [cron] Bump distribution date (2024-04-01)

commit 466282f
Author: Scott Lahteine <thinkyhead@users.noreply.github.com>
Date:   Sun Mar 31 18:20:37 2024 -0500

    🩹 Misc. changes from ProUI / ExtUI updates (MarlinFirmware#26928)

commit 1759429
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Thu Mar 28 00:20:53 2024 +0000

    [cron] Bump distribution date (2024-03-28)

commit 0b9f487
Author: Jordan Stocker <Pvthaggard@gmail.com>
Date:   Thu Mar 28 06:14:03 2024 +1030

    🔨 Fix binary upload firmware path (MarlinFirmware#26909)

commit d3e1a92
Author: Chris <52449218+shadow578@users.noreply.github.com>
Date:   Wed Mar 27 20:39:54 2024 +0100

    🔨 Fix HC32 preflight (MarlinFirmware#26912)

commit cd357b0
Author: Holger Mößinger <hm2dev@users.noreply.github.com>
Date:   Wed Mar 27 20:38:08 2024 +0100

    🔧🚸 Tweaks for (MiniRambo) CNC (MarlinFirmware#26892)

    Co-authored-by: Scott Lahteine <thinkyhead@users.noreply.github.com>

commit d0d229e
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Mon Mar 25 00:21:58 2024 +0000

    [cron] Bump distribution date (2024-03-25)

commit eb897e6
Author: Ikko Eltociear Ashimine <eltociear@gmail.com>
Date:   Mon Mar 25 03:49:25 2024 +0900

    📝 Fix Cutter.md typo (MarlinFirmware#26901)

commit 825ebfd
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Sun Mar 24 00:23:21 2024 +0000

    [cron] Bump distribution date (2024-03-24)

commit 3ee3964
Author: John Robertson <john@cirtech.co.uk>
Date:   Sat Mar 23 00:57:23 2024 +0000

    🐛 Fix ESP32 laser M4 exception (MarlinFirmware#26884)

commit aecfb25
Author: Sophist <3001893+Sophist-UK@users.noreply.github.com>
Date:   Sat Mar 23 00:27:13 2024 +0000

    🚸 Hide auto-run as needed (MarlinFirmware#26853)

commit 896a6a9
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Sat Mar 23 00:20:15 2024 +0000

    [cron] Bump distribution date (2024-03-23)

commit 075f96d
Author: Holger Mößinger <hm2dev@users.noreply.github.com>
Date:   Fri Mar 22 22:36:42 2024 +0100

    ✏️ Fix stepper MS pin typos (MarlinFirmware#26891)

commit 0589655
Author: thinkyhead <thinkyhead@users.noreply.github.com>
Date:   Mon Mar 18 00:21:39 2024 +0000

    [cron] Bump distribution date (2024-03-18)

commit ea6a891
Author: Manuel McLure <manuel@mclure.org>
Date:   Sun Mar 17 12:23:12 2024 -0700

    ✨ MAX7219_REINIT_ON_POWERUP (MarlinFirmware#26163)
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