Homing in Marlin March 07, 2014 03:45PM |
Registered: 9 years ago Posts: 29 |
Re: Homing in Marlin March 07, 2014 04:07PM |
Registered: 9 years ago Posts: 27 |
Re: Homing in Marlin March 07, 2014 04:23PM |
Registered: 9 years ago Posts: 27 |
Re: Homing in Marlin March 07, 2014 05:59PM |
Registered: 9 years ago Posts: 27 |
Re: Homing in Marlin March 08, 2014 11:19AM |
Registered: 9 years ago Posts: 29 |
Re: Homing in Marlin March 09, 2014 04:09AM |
Registered: 10 years ago Posts: 732 |
It is about sqrt(3). So it is possible that author somehow thought that sin(60°) or cos(30°) should be involved. But I do not have a clue why.Quote
revwarguy
The G28 command is implemented in Marlin.cpp starting at line 996. There is conditional code for Deltas there, since it needs to home up all three axes at once. To do this, it sets the feedrate at 1.732 times the nominal homing feedrate with no comment. (What is that about - i.e., why the hard-coded weird number 1.732?)
1.1*Z_MAX_LENGTH is not not enough but Z_MAX_LENGTH+DELTA_DIAGONAL_ROD would be enough if the printer is already callibrated. The best value would be FLOAT_MAX/k where k is a safety factor which would be determined based on the planner code so that no overflow can happen.Quote
revwarguy
Also, it sets the max length of travel until switch trigger at 3 times Z_MAX_LENGTH (why so much - isn't 1.1 already more than what is possible?)
It is in stepper.cpp. It just clears flags that endstops were hit.Quote
revwarguy
It then calls a routine called endstops_hit_on_purpose() which I couldn't find anywhere to see what that does.
Probably, I do not use LCD so I'm not sure it calls the same homing code.Quote
revwarguy
I must have a problem since I do not see the back-off occurring.
Re: Homing in Marlin March 09, 2014 09:49AM |
Registered: 9 years ago Posts: 29 |
Quote
hercek
It is about sqrt(3). So it is possible that author somehow thought that sin(60°) or cos(30°) should be involved. But I do not have a clue why.Quote
revwarguy
The G28 command is implemented in Marlin.cpp starting at line 996. There is conditional code for Deltas there, since it needs to home up all three axes at once. To do this, it sets the feedrate at 1.732 times the nominal homing feedrate with no comment. (What is that about - i.e., why the hard-coded weird number 1.732?)
This number is also about my expenditures divided by my income for last month :^) but what's that got to do with homing? Always find it strange when hardcoded odd numbers get used without comment!
1.1*Z_MAX_LENGTH is not not enough but Z_MAX_LENGTH+DELTA_DIAGONAL_ROD would be enough if the printer is already callibrated. The best value would be FLOAT_MAX/k where k is a safety factor which would be determined based on the planner code so that no overflow can happen.Quote
revwarguy
Also, it sets the max length of travel until switch trigger at 3 times Z_MAX_LENGTH (why so much - isn't 1.1 already more than what is possible?)
Ah, the "if already calibrated" point is well taken.
Probably, I do not use LCD so I'm not sure it calls the same homing code.Quote
revwarguy
I must have a problem since I do not see the back-off occurring.