Issue converting bed.g to use Conditional gcode
-
@tekkydave ANY G30 bed levelling exits if it exceeds the deviation limit set by M671, whether it's called in conditional gcode or a manual bed levelling. If you'd rather M671 issued a warning and attempted to level, rather than exiting, you'd best ask @dc42 for that functionality.
Ian
-
@droftarts said in Issue converting bed.g to use Conditional gcode:
@tekkydave ANY G30 bed levelling exits if it exceeds the deviation limit set by M671, whether it's called in conditional gcode or a manual bed levelling. If you'd rather M671 issued a warning and attempted to level, rather than exiting, you'd best ask @dc42 for that functionality.
Ian
I'm ok with how G30 works and I understand what you mean about the "real" test being the 0.03. I just wanted to point out that the example needs a line explaining that it will only work within the limit you have set in your M671 command. Most users would have left this at the default of 1mm. If you have disturbed one of your leadscrews by more than 1mm you will need to manually level the bed before running the macro.
-
Currently, if calibration fails then move.initialCalibrationDeviation and move.finalCalibrationDeviation are not changed. I'll change this in beta4 so that they are both set to the measured initial deviation. Also I'm thinking of moving them to a separate move.calibration section.
-
@tekkydave I've just realised the example code is for a delta printer, which doesn't use M671 (no leadscrews) to limit correction, so hasn't been considered in the description or writing of the code. I've updated the page to reflect this.
NOTE: If you use this method to iterate the levelling of a bed/gantry mounted on leadscrews (eg Cartesian, CoreXY etc), the maximum deviation corrected is still limited by the S parameter of M671 (default 1mm). If the maximum deviation exceeds this limit, the script will exit with "Error: Some computed corrections exceed configured limit of 1.00mm", as it would if G30 bed levelling was called manually.
Ian
-
@droftarts said in Issue converting bed.g to use Conditional gcode:
@tekkydave I've just realised the example code is for a delta printer, which doesn't use M671 (no leadscrews) to limit correction, so hasn't been considered in the description or writing of the code. I've updated the page to reflect this.
NOTE: If you use this method to iterate the levelling of a bed/gantry mounted on leadscrews (eg Cartesian, CoreXY etc), the maximum deviation corrected is still limited by the S parameter of M671 (default 1mm). If the maximum deviation exceeds this limit, the script will exit with "Error: Some computed corrections exceed configured limit of 1.00mm", as it would if G30 bed levelling was called manually.
Ian
Thanks I realised the code was for a delta but adapted it to the commands I normally used in bed.g. I didn't know delta's don't use M671 so to me for using it in the wrong context. I was keen to have a play with conditional g-code.
Dave