Merge pull request #1662 from josla972/refactor_scara
Refactor SCARA calibration. Save some lines of code and possibly ROM.
This commit is contained in:
commit
b26a3ea02c
1 changed files with 15 additions and 64 deletions
|
@ -4052,18 +4052,13 @@ inline void gcode_M303() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef SCARA
|
#ifdef SCARA
|
||||||
|
bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) {
|
||||||
/**
|
|
||||||
* M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
|
|
||||||
*/
|
|
||||||
inline bool gcode_M360() {
|
|
||||||
SERIAL_ECHOLN(" Cal: Theta 0 ");
|
|
||||||
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
||||||
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
||||||
if (! Stopped) {
|
if (! Stopped) {
|
||||||
//get_coordinates(); // For X Y Z E F
|
//get_coordinates(); // For X Y Z E F
|
||||||
delta[X_AXIS] = 0;
|
delta[X_AXIS] = delta_x;
|
||||||
delta[Y_AXIS] = 120;
|
delta[Y_AXIS] = delta_y;
|
||||||
calculate_SCARA_forward_Transform(delta);
|
calculate_SCARA_forward_Transform(delta);
|
||||||
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
||||||
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
||||||
|
@ -4074,25 +4069,20 @@ inline void gcode_M303() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
|
||||||
|
*/
|
||||||
|
inline bool gcode_M360() {
|
||||||
|
SERIAL_ECHOLN(" Cal: Theta 0 ");
|
||||||
|
return SCARA_move_to_cal(0, 120);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
|
* M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
|
||||||
*/
|
*/
|
||||||
inline bool gcode_M361() {
|
inline bool gcode_M361() {
|
||||||
SERIAL_ECHOLN(" Cal: Theta 90 ");
|
SERIAL_ECHOLN(" Cal: Theta 90 ");
|
||||||
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
return SCARA_move_to_cal(90, 130);
|
||||||
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
|
||||||
if (! Stopped) {
|
|
||||||
//get_coordinates(); // For X Y Z E F
|
|
||||||
delta[X_AXIS] = 90;
|
|
||||||
delta[Y_AXIS] = 130;
|
|
||||||
calculate_SCARA_forward_Transform(delta);
|
|
||||||
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
|
||||||
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
|
||||||
prepare_move();
|
|
||||||
//ClearToSend();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4100,20 +4090,7 @@ inline void gcode_M303() {
|
||||||
*/
|
*/
|
||||||
inline bool gcode_M362() {
|
inline bool gcode_M362() {
|
||||||
SERIAL_ECHOLN(" Cal: Psi 0 ");
|
SERIAL_ECHOLN(" Cal: Psi 0 ");
|
||||||
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
return SCARA_move_to_cal(60, 180);
|
||||||
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
|
||||||
if (! Stopped) {
|
|
||||||
//get_coordinates(); // For X Y Z E F
|
|
||||||
delta[X_AXIS] = 60;
|
|
||||||
delta[Y_AXIS] = 180;
|
|
||||||
calculate_SCARA_forward_Transform(delta);
|
|
||||||
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
|
||||||
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
|
||||||
prepare_move();
|
|
||||||
//ClearToSend();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4121,20 +4098,7 @@ inline void gcode_M303() {
|
||||||
*/
|
*/
|
||||||
inline bool gcode_M363() {
|
inline bool gcode_M363() {
|
||||||
SERIAL_ECHOLN(" Cal: Psi 90 ");
|
SERIAL_ECHOLN(" Cal: Psi 90 ");
|
||||||
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
return SCARA_move_to_cal(50, 90);
|
||||||
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
|
||||||
if (! Stopped) {
|
|
||||||
//get_coordinates(); // For X Y Z E F
|
|
||||||
delta[X_AXIS] = 50;
|
|
||||||
delta[Y_AXIS] = 90;
|
|
||||||
calculate_SCARA_forward_Transform(delta);
|
|
||||||
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
|
||||||
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
|
||||||
prepare_move();
|
|
||||||
//ClearToSend();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4142,20 +4106,7 @@ inline void gcode_M303() {
|
||||||
*/
|
*/
|
||||||
inline bool gcode_M364() {
|
inline bool gcode_M364() {
|
||||||
SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
|
SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
|
||||||
// SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
return SCARA_move_to_cal(45, 135);
|
||||||
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
|
||||||
if (! Stopped) {
|
|
||||||
//get_coordinates(); // For X Y Z E F
|
|
||||||
delta[X_AXIS] = 45;
|
|
||||||
delta[Y_AXIS] = 135;
|
|
||||||
calculate_SCARA_forward_Transform(delta);
|
|
||||||
destination[X_AXIS] = delta[X_AXIS] / axis_scaling[X_AXIS];
|
|
||||||
destination[Y_AXIS] = delta[Y_AXIS] / axis_scaling[Y_AXIS];
|
|
||||||
prepare_move();
|
|
||||||
//ClearToSend();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Reference in a new issue