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

[FR] M150 behaviour with two neopixel strips and NEOPIXEL2_SEPARATE #23063

Closed
sblaisot opened this issue Nov 2, 2021 · 6 comments · Fixed by #23066
Closed

[FR] M150 behaviour with two neopixel strips and NEOPIXEL2_SEPARATE #23063

sblaisot opened this issue Nov 2, 2021 · 6 comments · Fixed by #23066
Labels
T: Feature Request Features requested by users.

Comments

@sblaisot
Copy link
Contributor

sblaisot commented Nov 2, 2021

Is your feature request related to a problem? Please describe.

When using two neopixel stripes with NEOPIXEL2_SEPARATE (independant led stripes), M150 S0... let you command first led stripe and M150 S1 ... allow you to command second led stripe.

Before #22174 M150 without S parameter was used to command only first stripe. After that Pull Request, M150 without an S parameter command both stripes.

Are you looking for hardware support?

No response

Describe the feature you want

As far as I understand, It could be nice to command both stripes with a single command (for example if you use two stripes, one for each side of the frame/chassis). Pinging @GeoSaffer here as author of #22174, maybe he can share his use case here for having M150 command both stripes.

However, in some other cases, like in my setup, you can use the two stipes in totally unrelated places, like the first one on the printer frame and the second one on the head, so switching them both doesn't make much sense. in addition, somme "clients" do not handle two stripes and use hardcoded M150 command without S parameter to manage leds like BTT touchscreens. In such client, you can't use your two stripes separately if M150 command the two stripes.

So it seems desirable to make this behaviour configurable, adding something like a NEOPIXEL2_M150_COMMAND_BOTH config parameter to configure if M150 command without S parameter should command both stripes or only the first one.

I'm opening this Feature Request for discussion before submitting a PR.

Additional context

No response

@sblaisot sblaisot added the T: Feature Request Features requested by users. label Nov 2, 2021
@ellensp
Copy link
Contributor

ellensp commented Nov 2, 2021

see //#define NEOPIXEL2_INSERIES // Default behavior is NeoPixel 2 in parallel

@ellensp ellensp closed this as completed Nov 2, 2021
@sblaisot
Copy link
Contributor Author

sblaisot commented Nov 2, 2021

@ellensp you didn't get it. I'm aware of NEOPIXEL2_INSERIES. I'm talking about NEOPIXEL2_SEPARATE which is the opposite.

and about the behaviour of M150 without S parameter in separate mode.

@sblaisot
Copy link
Contributor Author

sblaisot commented Nov 2, 2021

The question can be shortened as "should M150 without S parameter be treated like S0 or like S0 + S1" ?

I'm saying that there is no universal answer and this should be configurable, and asking for comment before submiting a PR.

@ellensp
Copy link
Contributor

ellensp commented Nov 2, 2021

Without S it should control both
With S0, string 1
with S1 string 2
I really don't see the point of this.. but reopening against my better judgment.
Whats one more FR that no one else will ever want in the list of 400 other FR's

@ellensp ellensp reopened this Nov 2, 2021
@sblaisot
Copy link
Contributor Author

sblaisot commented Nov 2, 2021

the point is that some "clients" like BTT TFT screens have a led control menu using M150 without S parameter to be compatible with a maximum number of configuration (from a single dumb led stripe to multiple neopixel). It has been built with a single stripe setup in mind and when having two neopixel stripes it command both, which is anoying.

and that's not a feature request nobody would want, because I need it and propose to turn it into a PR if we come to an agreement on that. Otherwise, I will need to maintain it as a patch outside of marlin.

I really don't get the point of changing the original behaviour (control first stripe only) to controlling both stripes without notice (no changelog entry specifically), even if this parameter is undocumented (no S parameter in M150 documentation)

@github-actions
Copy link

github-actions bot commented Feb 6, 2023

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Feb 6, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T: Feature Request Features requested by users.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants