Baby Stepping.. can it, or can it not be permanent?
-
@Danal said in Baby Stepping.. can it, or can it not be permanent?:
... a high-friction discussion.
The Corona lockdown did it to us.
-
@zapta said in Baby Stepping.. can it, or can it not be permanent?:
The Corona lockdown did it to us.
Indeed! LOL!
Sheeze, I go away for one day from a polite discussion someone posted about a request for a feature change (WOW SHOCKING!) and I come back to a barroom brawl.
Everyone needs to step back here and relax. This isn't the WWF, remember to be polite when you make your points, I'm talking to the new people AND the regulars as well, who should bloody well know better and should set the tone.
NOW, about this recommended change.
My two cents. Rather than pick apart and quote all the various points that have been made, I feel this is close to the right answer:
@zapta said in Baby Stepping.. can it, or can it not be permanent?:
I believe that 'persisted' captures more accurately the use case of "save and use it in following sessions until I will set a new value".
For example, one real "Use Scenario" that I think addresses the main sticking point for those in the "leave it be" camp.
There are often times (particularly in a small production environment like the OP posted) when a machine will be setup a certain way that's a bit different than it's normal config, where baby stepping is used to quickly get it right. This config might persist through 5 or more prints, or even days, but THEN be changed back to normal.
Having the ability to make a SEMI-permanent change that survives reboot and/or power downs makes sense. Especially if easily reversed to revert to original, or a new setup.
This is only one example, I'm sure people will find more. If the setting is defaulted to off, it's no big deal for everyone else.
A couple other thoughts ...
@deckingman said in Baby Stepping.. can it, or can it not be permanent?:
I'm sure many people would be delighted if DC, Chris Ham and all the others spent their time implementing that.
I get your point, but I would point out that is exactly what their job entails, deciding what's a valuable feature and what isn't, as well as it's priority.
You listed several things you'd like implemented, does that mean the OP doesn't have the right to request his? Someone elses' needs and wants should be honored too, eh? It's OK for people to request a feature change that you don't use or need. I don't have a CNC or laser but I'm open to changes they need that make no sense for my setup. Who knows a multi-tool setup might be in my future, LOL.And to address a point I felt was a bit of the same subject,
@bot said
I wonder how much of the precious memory on the duets are used for features .... How much of the development time put into RRF was for such features?
"Software ALWAYS expands to fill whatever amount of memory is available."
You might as well complain about being stuck at home, or the weather! LOL! Software grows.
I feel you were a bit overaggressive here. You've made more than a couple requests for new features, some of then quite involved for the team to implement but you went off on a simple request for the addition of one switch on an existing feature.How much memory space do you anticipate that would take compared to some of your requests?
The amount of money and time you've spent has ZERO bearing on this thread or the priority of this request vs your request(s), and frankly was rather elitist.I don't mean to "call you out" here, your contributions to this Forum are great, in fact you've helped me in the past, and you're someone I admire, but you really should chill a bit, eh?
-
@PuterPro I could chill out, sure. I don't usually make actual requests, I just make observations, discussion, and perhaps suggestions. If I make a direct request, it's usually followed by a sum of money, because otherwise I'm personally not owed anything.
And usually if I'm requesting something, it's something that has zero possible way of achieving currently, and may benefit other people. This request, beaten to death, is already achievable with the current behaviour.
You change your print surface, and find that babystepping of +0.08 mm is good? Add that single line to the end of your config.g file. Done. How is this so difficult? Why must it be its own dedicated gcode? If you want an easier way than editing config.g, add a line at the end of your config.g that runs a macro with M98. Every time you want to permanently change the baby stepping, perform this series of commands:
M28 mybabysteppingmacro.g ; do your babystepping M29
Done. It will save your magic sequence of babystepping settings to load every time you boot.
-
I don't know if it been mentioned above but what I find really annoying with the Baby Stepping feature is when I have printers on the bench for repair for testing. Just quickly fixing something and now your Z is out, use baby stepping to temporally correct it, then run a test print. Come back to run another one and completely losing track of the Baby Stepping. Also, when you've got 10 different things on the go around the print farm like I usually do, you tend to forget if you reapplied the baby-stepping after running a print, you look at the value listed within that setting and the values are piling up if you've run a few prints so you really have no way of knowing unless you're better at keeping track than I've been and I'm horrible at multitasking lol
-
Clearly, the schism between the two schools of thoughts is too deep and we have only one option moving forward. That is, forking the RepRap firmware into two code lines: RRF Persisted BS, and RRF Volatile BS.
I don't see any other viable option.
-
@zapta Hahaha. I concur.
In all seriousness, the issue LeckieTech mentions is because dc42 changed the behaviour for people who complained that the babystepping was reset on homing.
Now, the babystepping value is retained through homing, but the babystepping amount is also added to the M208 homing location for the Z axis. So, the offset indeed does add up if you don't manually cancel the babystepping offset before homing.
So, the current behaviour is problematic, but the way to fix it is to revert it to the previous behaviour, where it is completely reset after homing, and all set offsets and M208 values are respected exactly as they are in the configuration.
-
Based on further reading of this thread I have revised my code to suit all sides of the argument
;save_babystep.g if move.axes[2].babystep !=0 while(true) M291 P"Save baby stepping?" S2 echo "Shouldn't you edit config G instead?" echo "no, I want the firmware re-written" echo "but why?, just use a macro" echo "because I want it!" echo "fine... go ahead"
-
@OwenD omg I totally missed that before! Great! hahah. I guess mine is the RRF2 version.
-
@PuterPro said in Baby Stepping.. can it, or can it not be permanent?:
@deckingman said in Baby Stepping.. can it, or can it not be permanent?:
You listed several things you'd like implemented, does that mean the OP doesn't have the right to request his? Someone elses' needs and wants should be honored too, eh? It's OK for people to request a feature change that you don't use or need.
Woah, hold on my friend. There is a world of difference between adding something that makes life slightly easier than editing one line of gcode, and restoring basic printer functionality to the firmware, which are the things that I'd like to see implemented.
The current state of firmware is that nobody who has a heater connected to expansion board can PID tune that heater. That's what I call basic functionality. Nobody who uses a mixing hot end with Duet 3 can utilise it fully because the step pulse frequency has been reduced, which limits the extruder micro-stepping. Again, that's not a case of making something a little more convenient, it's basic functionality which used to exist but now does not.
I changed over to Duet 3 last August to help the Duet guys by having my machine in their stand at the TCT show and I spent hundreds of hours testing pre-beta firmware for them. But I haven't been able to PID a hot end heater connected to an expansion board since then. It will be 3.02 at some time in the future before I ever will be able to do it. But I'm not whining about it. It's the price one has to pay (although if I'd known the full price, it's fair to say that I would not have made the conversion but it's too late now to go back to Duet 2).
I'm working on new hot end and I've had to tune heaters dozens of times. To do so, I have to disconnect the heater and thermistor from the expansion board, connect it to the main board, edit my configuration, run the heater tune, put my configuration back to what it was, disconnect the heater and thermistor from the main board and re-connect them to the expansion. And people think that editing one line of gcode is inconvenient!
The point I tried to make is that the more time the developers spend making life a little more convenient than editing one line of gcode, is time that could be spent restoring existing features that used to work but now don't. But I guess this will all fall on deaf ears and it'll be another year before I can get my printer working as it used to with Duet 2 because the developers are busy implementing "feature" to make life a little easier than editing one line of gcode now and then.
-
@deckingman said in Baby Stepping.. can it, or can it not be permanent?:
Let's go the whole hog. Why stop with having a button to make baby stepping permanent instead of editing one value in config.g? Let's have another button that will set the steps per mm for extruders after we've calibrated them - one button for each extruder ideally. Then another button when we tune firmware retraction to save us editing config.g for that. The same for pressure advance and all the other things we have to tune.
Most things you mention are set and forget type of settings. Nozzle offset is not, it needs to be tuned from roll to roll, or evan after many other changes.
With enough buttons, we need never open config.g at all.
That's basically the idea of having a GUI, isn't it?
Look people, it is just not worth any more fuzz. It is certainly no dealbreaker for me. I did not invent the subject. I just think it is a plausible feature that got fired down with not enough valid arguments.
-
I find myself wondering why does the thread go on - I thought Owen put a fork in it with his macro?
I completely support the notion that "trivial" conveniences are best left to the community when the developer resources are limited, and such it has been solved? Or if its too much to ask to use the macro I guess daemon.g can check for baby stepping and persist it as needed?
-
@bearer said in Baby Stepping.. can it, or can it not be permanent?:
I find myself wondering why does the thread go on - I thought Owen put a fork in it with his macro?
Exactly. That's why I haven't posted to this thread until now.
-
We do need to put a fork in this whole thing, a few comments for clarity -
@deckingman said in Baby Stepping.. can it, or can it not be permanent?:
Woah, hold on my friend. There is a world of difference between adding something that makes life slightly easier than editing one line of gcode, and restoring basic printer functionality to the firmware, which are the things that I'd like to see implemented.
I could not agree more! I absolutely agree that the things you're pushing for should have priority over such a silly thing as Baby steps being optionally persistent. I was just commenting on it being dismissed out of hand by someone who doesn't use it, and offering a case scenario where I could see it's validity ... if you get my drift. (And I AM drifty ... LOL!)
@bot said in Baby Stepping.. can it, or can it not be permanent?:
This request, beaten to death, is already achievable with the current behaviour .... add a line at the end of your config.g that runs a macro with M98 .... Done. It will save your magic sequence of babystepping settings to load every time you boot.
Thank you for getting I wasn't berating you, it's sometimes hard with just text and an emoji or two ...
THAT's a simple way to accomplish this, thanks for that, now we have a couple solutions. Personally I rarely use Baby Steps but I have found it handy at times.@OwenD Hilarious!! Love it. And thanks for the solutions, I confess to a misread of your earlier posts ALSO being in humor. Working on my halo ...
@DeltaCon said in Baby Stepping.. can it, or can it not be permanent?:
It is certainly no dealbreaker for me. I did not invent the subject.
@ ALL - This sums up my involvement as well. I apologize for extending this so long when obviously there are multiple ways to solve this without changing the firmware. Many thanks to all that participated!!
-
@PuterPro My dude, tone is difficult even in real life. Sorry if I come across as belligerent sometimes. I'm only intending on being a tiny bit belligerent.
-
@bot said in Baby Stepping.. can it, or can it not be permanent?:
@PuterPro My dude, tone is difficult even in real life. Sorry if I come across as belligerent sometimes. I'm only intending on being a tiny bit belligerent.
Especially for Engineer / Tech types who tend towards awkwardness in all social situations! LOL
Peace out!
-
@PuterPro said in Baby Stepping.. can it, or can it not be permanent?:
@bot said in Baby Stepping.. can it, or can it not be permanent?:
@PuterPro My dude, tone is difficult even in real life. Sorry if I come across as belligerent sometimes. I'm only intending on being a tiny bit belligerent.
Especially for Engineer / Tech types who tend towards awkwardness in all social situations! LOL
Peace out!
As a mechanical engineer, no social awkwardness, I just get accused of being a cu** because I very bluntly tell the truth.....
-
This script is very useful!
It is possible to improve it, so the baby step can be reset?To tune the babystep, I usually reset it to zero, home z, and insert a piece of paper under hotend. Be able to reset babystep to zero is important to me.
-
M290 R0 S0 ; clear babystepping
-
Cross post wrong me
-
M290 R0 S0 does not work with your save script, because the script changed G31.