--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/1d0aacdf-6fc6-47af-acbd-33a175758988%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I think the main obstacle to your code being merged was we wanted the code to be more tested on 3D printers and lasers/cnc mills, and on machines with other kinematics ( delta etc ).You might be able to find people ready to help you with testing on the smoothie-support or smoothie-dev mailing lists, or maybe on IRC or on the forums.
On Sunday, May 12, 2019 at 3:25:27 PM UTC+2, Arthur Wolf wrote:I think the main obstacle to your code being merged was we wanted the code to be more tested on 3D printers and lasers/cnc mills, and on machines with other kinematics ( delta etc ).You might be able to find people ready to help you with testing on the smoothie-support or smoothie-dev mailing lists, or maybe on IRC or on the forums.Thanks for your fast response.We will surely follow up with testing on the OpenPNP side and report back. Beyond that, I don't think all that you propose is possible for me (or most other contributers).
If reporting bugs and proposing fixes in itself is still useful for and appreciated by the Smoothieware project, then we're on the same page. Being a demonstrated bug after all, at a certain point the community at the receiving project should deal with it one way or another. It's a vital sign of said project. And frankly, simply closing the PR is neither helping that community process along nor making the bug go away._Mark
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/253fcc77-5391-4552-89f4-32a26905a4c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
_Mark
I don’t see how the project can accept code without it being regression tested which sounds like what Arthur is asking for and is asking for authors to help in this by reaching out to the community
Does your code change only affect OpenPNP or does it affect all uses of smoothie?
If it effects everything using a C axis then it has to be tested, since it interacts with X&Y as well then that in my mind would demand it be tested as broadly as possible (unless there is code specifically for OpenPNP so it can be isolated and you can prove the isolation works.
Just my 2 cents
As for the pull request, once the project reviews and rejects it I would expect it to be closed. It can be reopened again once it meets project requirements.
My view is from a systems person and seeing to many times where developers believe their code is good and don’t do the regression testing and it breaks things so only from my personal work experience.
Sandra
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/253fcc77-5391-4552-89f4-32a26905a4c7%40googlegroups.com.
Hi Sandra
This all turns out to be a misunderstanding. They just use GitHub in their own way and both the readme and the convention says otherwise. See here
https://github.com/Smoothieware/Smoothieware/pull/1323#issuecomment-491626231
> As for the pull request, once the project reviews and rejects it I would expect it to be closed. It can be reopened again once it meets project requirements.
Just as a matter of curiosity I’d be interested to understand why one would close a PR when efforts are still underway to “meet project requirements”. If you push into a closed PR, the changes won’t even show up there. Code can’t be reviewed or discussed. All the nice features of Github are useless. And the creator of the PR is reminded to delete his fork.

How would a community member know what ongoing work is still to be helped with, including with testing? Even if a contributer has the knowledge, access and time to recruit all these testers with all their machines outside the facilities of Github, how could he convince them to put time and effort into testing a PR that has already been dismissed by the project leaders?
> I don’t see how the project can accept code without it being regression tested which sounds like what Arthur is asking for ….
There comes the misunderstanding. Smoothie has an “edge” branch that was officially labeled “Unstable, latest features” and a “master” branch that says “Stable, most tested”. Those descriptions were linked from the central readme (now changed because I pointed that out).
What I’ve come to understand as the most usual convention on Github (and similar): if you expect a contributor to tap into the community for testing, then you provide the obvious facility for that: a testing branch. You can’t expect all testers to be coders that know how to integrate merges across forks. If a project has a branch called “edge” as in “bleeding” (remember: “Unstable, latest features”) after code review and some testing by the contributer and helpers I expect a bugfix to be merged into this “edge” for a community based “continuous integration” testing effort. Enthusiast would be using “edge” with their various machines to help the project evolve. In case of Smoothieware you even have nightly builds for downloads that members with no coding knowledge could use to help with testing. Bugs would efficiently be flushed out.
It is then still a long way from a testing branch like “edge” to “master” (“Stable, most tested”). Users that don’t want to (or simply can’t) take the risk of occasional – harrumph – “bleeding” (as in “edge”, hehe) would always use “master”. The others know they are taking a risk. Maybe they want to help. Maybe they absolutely need the newest feature. Maybe both. That’s how I thought the community motor works.
That was my misunderstanding with Smoothieware. They are no longer using these branches for what their name stands for. Instead they treat “edge” as “stable”. Consequently they are really, really very, very reluctant to accept merges. And then I took it the wrong way.
For all practical intents and purposes: development and testing has to take place outside of their Github repo. Harrumph. Well, it’s their project.
> … and is asking for authors to help in this by reaching out to the community
The way I understand Github so far, by closing a PR you are effectively and efficiently denying that, as I explained above. Again, it’s their project.
_Mark
Hi Sandra
This all turns out to be a misunderstanding. They just use GitHub in their own way and both the readme and the convention says otherwise. See here
https://github.com/Smoothieware/Smoothieware/pull/1323#issuecomment-491626231
> As for the pull request, once the project reviews and rejects it I would expect it to be closed. It can be reopened again once it meets project requirements.
Just as a matter of curiosity I’d be interested to understand why one would close a PR when efforts are still underway to “meet project requirements”.
If you push into a closed PR, the changes won’t even show up there. Code can’t be reviewed or discussed. All the nice features of Github are useless.
And the creator of the PR is reminded to delete his fork.
How would a community member know what ongoing work is still to be helped with, including with testing? Even if a contributer has the knowledge, access and time to recruit all these testers with all their machines outside the facilities of Github, how could he convince them to put time and effort into testing a PR that has already been dismissed by the project leaders?
> I don’t see how the project can accept code without it being regression tested which sounds like what Arthur is asking for ….
There comes the misunderstanding. Smoothie has an “edge” branch that was officially labeled “Unstable, latest features” and a “master” branch that says “Stable, most tested”. Those descriptions were linked from the central readme (now changed because I pointed that out).
What I’ve come to understand as the most usual convention on Github (and similar): if you expect a contributor to tap into the community for testing, then you provide the obvious facility for that: a testing branch.
You can’t expect all testers to be coders that know how to integrate merges across forks.
If a project has a branch called “edge” as in “bleeding” (remember: “Unstable, latest features”) after code review and some testing by the contributer and helpers I expect a bugfix to be merged into this “edge” for a community based “continuous integration” testing effort. Enthusiast would be using “edge” with their various machines to help the project evolve. In case of Smoothieware you even have nightly builds for downloads that members with no coding knowledge could use to help with testing. Bugs would efficiently be flushed out.
It is then still a long way from a testing branch like “edge” to “master” (“Stable, most tested”). Users that don’t want to (or simply can’t) take the risk of occasional – harrumph – “bleeding” (as in “edge”, hehe) would always use “master”. The others know they are taking a risk. Maybe they want to help. Maybe they absolutely need the newest feature. Maybe both. That’s how I thought the community motor works.
That was my misunderstanding with Smoothieware. They are no longer using these branches for what their name stands for. Instead they treat “edge” as “stable”. Consequently they are really, really very, very reluctant to accept merges.
And then I took it the wrong way.
For all practical intents and purposes: development and testing has to take place outside of their Github repo. Harrumph. Well, it’s their project.
> … and is asking for authors to help in this by reaching out to the community
The way I understand Github so far, by closing a PR you are effectively and efficiently denying that,
as I explained above. Again, it’s their project.
_Mark
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/01a301d50913%24a3a90790%24eafb16b0%24%40makr.zone.
For more options, visit https://groups.google.com/d/optout.
Just compiled smoothieware with Mark's fixes and i like it - no more stall's at runout compensation:
Yes, I know - I follow the development.But Mark's work in this particular case makes a very professional impression, earns unrestricted respect and currently enjoys my fullest confidence :)
Just compiled smoothieware with Mark's fixes and i like it - no more stall's at runout compensation:
Hi all
in addition to the acceleration limit fix, I implemented fixes in the junction deviation algorithm. As described here:
Smoothieware/Smoothieware#1323 (comment)
The firmware can be found here:
https://makr.zone/firmware_PR1323_2019-05-16.bin
Frankly I doubt the junction deviation will be acting up in the current OpenPNP version, as OpenPNP is always waiting for single move segments to complete (M400). But as we are constantly optimizing things it might become relevant soon. It took one year for the acceleration fix to become essential, but now it is.
A big thank-you for all testers.
_Mark
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/52e70d0f-d49c-42aa-8510-24b495195b89%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I was sure that PAXIS=3 means that only first three axes XYZ are coordinated, paxis=4 means xyza, etc. But it looks it's something other...
My Philips originally gets XY in coordinated move and wait until C achieves a position. C motion can be finished by the xy is got or after. So feed and acceleration of XY is never tuned to the C properties.
Heard to say what is better, I'm used to the Philips way. Maybe C can be made as extruder module and G0 XYE let get E move not related to XY? Maybe I'll try but it probably means "farewell rotation axis endstop"...
PAXIS only determines how the feedrate is determined.
Usually when you give a feedrate using the F value, it only accounts for the XYZ distance i.e. the Euclidean distance.
https://en.wikipedia.org/wiki/Euclidean_distance
If an A, B or C axis is also given, it is not accounted for. In these cases the axis turns in coordination with the XYZ axes. If the X, Y, Z move is small and the rotation move is large, the actuator/stepper limit may be reached. It then slows the whole move down in order not to stall the rotation stepper. That's what we fixed now.
If A, B or C move alone (without any X, Y or Z) the given federate is interpreted for these axes (again the Euclidean Distance, but degrees instead of millimeters).
Now if you set PAXIS to a value higher than 3, the Euclidean distance is spanned over so many axes. This only makes sense if the additional axes are linear, not rotary axes. For instance if you have a controller with X, Y and Z1, Z2, Z3 for nozzles. Then you would best compile with PAXIS=5.
_Mark
-----Ursprüngliche Nachricht-----
Von: ope...@googlegroups.com [mailto:ope...@googlegroups.com] Im Auftrag von Marek T.
Gesendet: Samstag, 18. Mai 2019 16:11
An: OpenPnP
Betreff: Re: [OpenPnP] Re: Smoothieware mixed axis acceleration bug becomes apparent with nozzle runout compensation
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openpnp+u...@googlegroups.com.
To post to this group, send email to ope...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openpnp/dad72684-f03a-418b-852c-5a3c9d6e9bb8%40googlegroups.com.
PAXIS only determines how the feedrate is determined.
Usually when you give a feedrate using the F value, it only accounts for the XYZ distance i.e. the Euclidean distance.
https://en.wikipedia.org/wiki/Euclidean_distance
If an A, B or C axis is also given, it is not accounted for. In these cases the axis turns in coordination with the XYZ axes. If the X, Y, Z move is small and the rotation move is large, the actuator/stepper limit may be reached. It then slows the whole move down in order not to stall the rotation stepper. That's what we fixed now.
If A, B or C move alone (without any X, Y or Z) the given federate is interpreted for these axes (again the Euclidean Distance, but degrees instead of millimeters).
Now if you set PAXIS to a value higher than 3, the Euclidean distance is spanned over so many axes. This only makes sense if the additional axes are linear, not rotary axes. For instance if you have a controller with X, Y and Z1, Z2, Z3 for nozzles. Then you would best compile with PAXIS=5.
_Mark
-----Ursprüngliche Nachricht-----
Von: ope...@googlegroups.com [mailto:ope...@googlegroups.com] Im Auftrag von Marek T.
Gesendet: Samstag, 18. Mai 2019 16:11
An: OpenPnP
Betreff: Re: [OpenPnP] Re: Smoothieware mixed axis acceleration bug becomes apparent with nozzle runout compensation
Thanks for info! So I know I don't need to dig in settings :-).
I was sure that PAXIS=3 means that only first three axes XYZ are coordinated, paxis=4 means xyza, etc. But it looks it's something other...
My Philips originally gets XY in coordinated move and wait until C achieves a position. C motion can be finished by the xy is got or after. So feed and acceleration of XY is never tuned to the C properties.
Heard to say what is better, I'm used to the Philips way. Maybe C can be made as extruder module and G0 XYE let get E move not related to XY? Maybe I'll try but it probably means "farewell rotation axis endstop"...
--
You received this message because you are subscribed to the Google Groups "OpenPnP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ope...@googlegroups.com.
Marek,
like I explained these are uncoordinated moves. Either reprogram Smoothieware :-) or simply change your MOVE_TO_COMMAND in OpenPNP simply doing the X, Y, (Z?) and the C on separate lines of G code.
G0 {X:X%.4f} {Y:Y%.4f} {Z:Z%.4f} F{FeedRate:%.0f} ; Send standard Gcode linear move
G0 {Rotation:E%.4f}; Send standard Gcode rotational move
M400 ; Wait for moves to complete before returning
_Mark