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

Elegoo Neptune boards #24895

Open
wants to merge 1 commit into
base: bugfix-2.1.x
Choose a base branch
from

Conversation

thinkyhead
Copy link
Member

Revival of #24567 by @mlee12382 for evaluation and possible merge.


Description

Add new board definitions and pins and updated .ini files for platformio for the Elegoo Neptune series of printers.

Benefits

Adds boards to make custom compiling firmware for the Elegoo Neptune series of printers easier, duplicates and renames the 2 boards that come in the Neptune 2 printers to make it more straightforward and adds the missing board files for the Neptune X and Neptune 3

@thinkyhead thinkyhead force-pushed the bf2_elegoo_neptune_24567 branch 2 times, most recently from 9c6406f to bd422d3 Compare November 21, 2022 23:05
@thinkyhead
Copy link
Member Author

Good evening @ivankravets ! Apparently the dev version of PlatformIO 6.1.6a3 is causing our CI to fail, so I added a commit here that skips the update-to-latest step. What do you recommend?

@ivankravets
Copy link
Contributor

@thinkyhead , thanks for pinging me! Could you point me to the CI build where I can learn more about the issue with the latest PIO-dev? I checked the latest failed Marlin builds and didn't find any issues related to the PlatformIO.

@thinkyhead
Copy link
Member Author

thinkyhead commented Nov 26, 2022

@thinkyhead , thanks for pinging me! Could you point me to the CI build where I can learn more about the issue with the latest PIO-dev? I checked the latest failed Marlin builds and didn't find any issues related to the PlatformIO.

For one CI test, LPC1768, the result looks like this...

Without pio upgrade --dev there is no error. The script that emits the error is breaking, or something else in the chain is, but it's not clear why. I tested the build locally with PIO version 6.1.6a4 and it works fine. The main reason that the MOTHERBOARD would return BOARD_RAMPS_14_EFB is if the Configuration.* files were failing to download from the Configurations repo. However, that should not be affected by removing pio upgrade --dev.

So, I will add more diagnostic lines to the scripts on this PR and see what's going on here in CI that isn't happening locally.

@thinkyhead thinkyhead force-pushed the bf2_elegoo_neptune_24567 branch 2 times, most recently from 306d4cc to bf9a0b3 Compare November 26, 2022 01:56
@thinkyhead
Copy link
Member Author

@ivankravets — I have a feeling this is what is breaking, causing our preflight-checks.py script to run too soon:

def is_pio_build():
    from SCons.Script import DefaultEnvironment
    env = DefaultEnvironment()
    return not env.IsIntegrationDump()

Does that seem possible? Could some change in PIO only affecting the way it is installed / used within CI be causing pre: scripts to fire and for env.IsIntegrationDump() to return a false result during the init process?

@thinkyhead thinkyhead force-pushed the bf2_elegoo_neptune_24567 branch 2 times, most recently from 2b0e783 to 1771f70 Compare November 26, 2022 03:34
@ivankravets
Copy link
Contributor

Do you call somewhere pio run -t clean or -t cleanall? Could it be related to this commit platformio/platformio-core@7e6cb84 ?

We added the ability to hook on "clean" target.

The easiest way to check "clean" targets are

if env.GetOption("clean") or ("cleanall" in COMMAND_LINE_TARGETS):
     env.Exit(0)

@thinkyhead
Copy link
Member Author

Do you call somewhere pio run -t clean or -t cleanall?

Ahhhhh. We do use that in CI tests. Let me see if there is a way to detect it and then not run the environment check in that case. Hold on………

@thinkyhead
Copy link
Member Author

Thanks for the clue, Ivan! This is all we needed: return not env.IsIntegrationDump() and not env.IsCleanTarget()

@thinkyhead
Copy link
Member Author

I see Neptune configurations were added by @EvilGremlin and @just-trey so if you don't mind me pinging you both, can you comment on whether this PR is actually needed, or if we are already sufficiently covered by using the MKS Robin board defines for the MOTHERBOARD in all cases? Are there any significant differences in the boards included in Neptune machines?

Copy link

@just-trey just-trey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@thinkyhead Elegoo has released a few different printers, and the boards are different. I know the original ones were clones of MKS boards, and those are what I have access to. I do not have access to the other boards, but I know BOARD_MKS_NEPTUNE_X and BOARD_MKS_NEPTUNE_3 are different. Hope this helps with your decision. I think they have a clone of the MKS 3.x board now as well.

Marlin/src/core/boards.h Outdated Show resolved Hide resolved
Marlin/src/core/boards.h Outdated Show resolved Hide resolved
@kozross
Copy link

kozross commented Dec 14, 2022

Does this also include support for the Neptune 3 Pro?

@mlee12382
Copy link
Contributor

Does this also include support for the Neptune 3 Pro?

Not at all, in fact this version of the Neptune 3 standard board doesn't work either which is why I abandoned it. Elegoo has bastardized Marlin too much to get the Neptune 3 working, this was my early attempt at getting it working on regular Marlin source code and it was a failure. As far as I know the source code for the pro and by extension the plus and the max hasn't been released yet and they use a different main board.

@kozross
Copy link

kozross commented Dec 26, 2022

@thinkyhead and @mlee12382 - I managed to get this diagram of the pins for the Neptune 3 Pro's board. Dunno if it'd be of any help to you, but I thought I'd share.

@junland
Copy link
Contributor

junland commented Feb 6, 2023

Additionally adding to this convo towards @mlee12382 & @kozross, was sifting through the Elegoo subreddit and found folks have been able to get klipper working. Here is the repo from someone within that community (@TheFeralEngineer):

Neptune 3

Neptune 3 Pro

Hopefully that helps out with getting these printers supported.

@sjasonsmith
Copy link
Contributor

Is anybody with these boards still interested in getting this in? From the comments it sounds like what is here is probably incomplete? I'd probably recommend closing this unless any contributors are still interested in getting them working...there isn't much point in pulling something in that isn't functional.

Co-Authored-By: Michael <[email protected]>
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.

8 participants