repetier firmware proposal for delta endstop offset calibration May 23, 2013 07:41AM |
Registered: 12 years ago Posts: 72 |
Re: repetier firmware proposal for delta endstop offset calibration May 24, 2013 11:50AM |
Registered: 13 years ago Posts: 2,705 |
Re: repetier firmware proposal for delta endstop offset calibration June 12, 2013 05:15PM |
Registered: 12 years ago Posts: 72 |
Re: repetier firmware proposal for delta endstop offset calibration July 01, 2013 08:12AM |
Registered: 11 years ago Posts: 24 |
void home_axis(bool xaxis,bool yaxis,bool zaxis) { long steps; bool homeallaxis = (xaxis && yaxis && zaxis) || (!xaxis && !yaxis && !zaxis); if (X_MAX_PIN > -1 && Y_MAX_PIN > -1 && Z_MAX_PIN > -1 && MAX_HARDWARE_ENDSTOP_X & MAX_HARDWARE_ENDSTOP_Y && MAX_HARDWARE_ENDSTOP_Z) { UI_STATUS_UPD(UI_TEXT_HOME_DELTA); // Homing Z axis means that you must home X and Y if (homeallaxis || zaxis) { delta_move_to_top_endstops(homing_feedrate[0]); move_steps(0,0,axis_steps_per_unit[0]*-ENDSTOP_Z_BACK_MOVE,0,homing_feedrate[0]/ENDSTOP_X_RETEST_REDUCTION_FACTOR, true, false); delta_move_to_top_endstops(homing_feedrate[0]/ENDSTOP_X_RETEST_REDUCTION_FACTOR); printer_state.currentPositionSteps[0] = 0; printer_state.currentPositionSteps[1] = 0; printer_state.currentPositionSteps[2] = printer_state.zMaxSteps; calculate_delta(printer_state.currentPositionSteps, printer_state.currentDeltaPositionSteps); //update our delta state based on our end-stop soft trimming printer_state.currentDeltaPositionSteps[0] -= axis_steps_per_unit[0]*printer_state.tower1_trim; printer_state.currentDeltaPositionSteps[1] -= axis_steps_per_unit[0]*printer_state.tower2_trim; printer_state.currentDeltaPositionSteps[2] -= axis_steps_per_unit[0]*printer_state.tower3_trim; //set max delta steps based on the tallest tower incase all 3 towers have trim values applied for some reason printer_state.maxDeltaPositionSteps = max(printer_state.currentDeltaPositionSteps[0], printer_state.currentDeltaPositionSteps[1]); printer_state.maxDeltaPositionSteps = max(printer_state.maxDeltaPositionSteps, printer_state.currentDeltaPositionSteps[2]); //move down in Z equal to the largest trim value, this re-syncs the cartesian and delta states move_steps(0,0,axis_steps_per_unit[0]*-(max(printer_state.tower1_trim,max(printer_state.tower2_trim,printer_state.tower3_trim))),0,homing_feedrate[0]/ENDSTOP_X_RETEST_REDUCTION_FACTOR, true, false); } else { if (xaxis) printer_state.destinationSteps[0] = 0; if (yaxis) printer_state.destinationSteps[1] = 0; split_delta_move(true,false,false); } printer_state.countZSteps = 0; UI_CLEAR_STATUS } }
Re: repetier firmware proposal for delta endstop offset calibration July 01, 2013 10:01AM |
Registered: 13 years ago Posts: 2,705 |
Re: repetier firmware proposal for delta endstop offset calibration July 01, 2013 07:09PM |
Registered: 11 years ago Posts: 24 |
Re: repetier firmware proposal for delta endstop offset calibration July 04, 2013 02:17AM |
Registered: 11 years ago Posts: 24 |
Re: repetier firmware proposal for delta endstop offset calibration July 06, 2013 03:21PM |
Registered: 12 years ago Posts: 6 |
Re: repetier firmware proposal for delta endstop offset calibration July 07, 2013 07:24PM |
Registered: 12 years ago Posts: 14 |
Re: repetier firmware proposal for delta endstop offset calibration July 08, 2013 02:36AM |
Registered: 13 years ago Posts: 2,705 |
Re: repetier firmware proposal for delta endstop offset calibration August 15, 2014 06:14PM |
Registered: 10 years ago Posts: 1 |
Quote
extent
And just for the curious, here is the entirety of my own dirty hack
[github.com]
It's manual deploy/retract, and it spits out estimated correction values to the log similar to PIDautotune rather than just making the fixes itsself. But it's got me to around +- 50 micron and tiding me over until the real release.