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

Disable ARC_SUPPORT #107

Closed
wants to merge 1 commit into from
Closed

Disable ARC_SUPPORT #107

wants to merge 1 commit into from

Conversation

thisiskeithb
Copy link
Member

@thisiskeithb thisiskeithb commented May 18, 2020

Description

None of the major slicers support ARC_SUPPORT, so let's disable it and save ~3226 bytes/build.

Benefits

Smaller builds.

Save ~3226 bytes/build
@sjasonsmith
Copy link
Contributor

Seems reasonable to me, especially for anything with only 128KB of flash.

@foosel
Copy link

foosel commented May 19, 2020

Just FYI, @FormerLurker is currently working on a tool that compiles existing GCODE files to do make use of arcs, for better throughput via serial, and it would hamper his awesome work severely if this was now merged and applied generally.

See this forum thread on his work and promising results, also from the testers from the community: https://community.octoprint.org/t/new-plugin-anti-stutter-need-testers/18077

@thisiskeithb
Copy link
Member Author

This wasn’t removing the feature, just disabling it by default.

@thisiskeithb thisiskeithb deleted the pr/disable_arc_support branch May 19, 2020 11:51
@foosel
Copy link

foosel commented May 19, 2020

This wasn’t removing the feature, just disabling it by default

Disabling it by default means practically removing it since the majority of 3d printer owners out there will never compile their own firmware (if they even know what that is in the first place) and just take whatever their printer vendor supplies them with (which usually is some lazily cobbled together config with default settings and just some printer specific parameter changes, possibly with some disabling of safety features sprinkled in to work around cheap ass components). And those who do compile their own will more often than not also never question the defaults.

Thank you for understanding :)

@InsanityAutomation
Copy link
Contributor

FWIW I do end up needing to disable this to fit bilinear on Melzi boards nowadays. Its quite a fight to fit a workable build on those. Trade-offs are inevitable at that point unfortunately.

@thinkyhead
Copy link
Member

For consistency we'll disable it in the config examples that apply to small boards, or models of printer that don't come with arcs enabled as a standard. For any board / machine where the code can fit it should be kept enabled.

@thinkyhead
Copy link
Member

thinkyhead commented Jun 14, 2020

NOTE: Marlin's handling of many short segments is better these days thanks to improvements in the JD algorithm, but stutters are still certainly possible due to bandwidth. A plugin that can convert curves into arcs will be massively welcome and should make a great improvement in performance and print results.

@FormerLurker — For Marlin 2.0.6 and up you will be able to have the plugin send M115 to Marlin to see if it has ARC_SUPPORT enabled. For earlier versions you can send a "null" G2/G3 command and see if the machine replies "unknown command." If the firmware doesn't support arcs, throw up a bright red and yellow box explaining how to enable it in Marlin.

In-general, the G2/G3 arc commands have been somewhat broken in Marlin and in recent versions the segment lengths are sometimes calculated wrong. So, really, it is only with 2.0.6 and up that you can begin to trust arcs to be a reliable improvement over linear segments.

My recommendation would be to make 2.0.6 the minimum supported version and put up a warning for older versions of Marlin. If you find that certain versions are good at arcs, those could be added to your "trusted" list….

@FormerLurker
Copy link

@thinkyhead, that would s fantastic, thank you for letting me know! I will add arc support testing ASAP!

@FormerLurker
Copy link

A plugin that can convert curves into arcs will be massively welcome and should make a great improvement in performance and print results

Do you mind if I include this qoute in the plugin description? I would really appreciate it.

@thinkyhead
Copy link
Member

Do you mind…?

Not at all, that's fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants