|
@@ -4052,18 +4052,13 @@ inline void gcode_M303() {
|
4052
|
4052
|
}
|
4053
|
4053
|
|
4054
|
4054
|
#ifdef SCARA
|
4055
|
|
-
|
4056
|
|
- /**
|
4057
|
|
- * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
|
4058
|
|
- */
|
4059
|
|
- inline bool gcode_M360() {
|
4060
|
|
- SERIAL_ECHOLN(" Cal: Theta 0 ");
|
|
4055
|
+ bool SCARA_move_to_cal(uint8_t delta_x, uint8_t delta_y) {
|
4061
|
4056
|
//SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
4062
|
4057
|
//SERIAL_ECHOLN(" Soft endstops disabled ");
|
4063
|
4058
|
if (! Stopped) {
|
4064
|
4059
|
//get_coordinates(); // For X Y Z E F
|
4065
|
|
- delta[X_AXIS] = 0;
|
4066
|
|
- delta[Y_AXIS] = 120;
|
|
4060
|
+ delta[X_AXIS] = delta_x;
|
|
4061
|
+ delta[Y_AXIS] = delta_y;
|
4067
|
4062
|
calculate_SCARA_forward_Transform(delta);
|
4068
|
4063
|
destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
4069
|
4064
|
destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
|
@@ -4075,24 +4070,19 @@ inline void gcode_M303() {
|
4075
|
4070
|
}
|
4076
|
4071
|
|
4077
|
4072
|
/**
|
|
4073
|
+ * M360: SCARA calibration: Move to cal-position ThetaA (0 deg calibration)
|
|
4074
|
+ */
|
|
4075
|
+ inline bool gcode_M360() {
|
|
4076
|
+ SERIAL_ECHOLN(" Cal: Theta 0 ");
|
|
4077
|
+ return SCARA_move_to_cal(0, 120);
|
|
4078
|
+ }
|
|
4079
|
+
|
|
4080
|
+ /**
|
4078
|
4081
|
* M361: SCARA calibration: Move to cal-position ThetaB (90 deg calibration - steps per degree)
|
4079
|
4082
|
*/
|
4080
|
4083
|
inline bool gcode_M361() {
|
4081
|
4084
|
SERIAL_ECHOLN(" Cal: Theta 90 ");
|
4082
|
|
- //SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
4083
|
|
- //SERIAL_ECHOLN(" Soft endstops disabled ");
|
4084
|
|
- if (! Stopped) {
|
4085
|
|
- //get_coordinates(); // For X Y Z E F
|
4086
|
|
- delta[X_AXIS] = 90;
|
4087
|
|
- delta[Y_AXIS] = 130;
|
4088
|
|
- calculate_SCARA_forward_Transform(delta);
|
4089
|
|
- destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
4090
|
|
- destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
4091
|
|
- prepare_move();
|
4092
|
|
- //ClearToSend();
|
4093
|
|
- return true;
|
4094
|
|
- }
|
4095
|
|
- return false;
|
|
4085
|
+ return SCARA_move_to_cal(90, 130);
|
4096
|
4086
|
}
|
4097
|
4087
|
|
4098
|
4088
|
/**
|
|
@@ -4100,20 +4090,7 @@ inline void gcode_M303() {
|
4100
|
4090
|
*/
|
4101
|
4091
|
inline bool gcode_M362() {
|
4102
|
4092
|
SERIAL_ECHOLN(" Cal: Psi 0 ");
|
4103
|
|
- //SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
4104
|
|
- //SERIAL_ECHOLN(" Soft endstops disabled ");
|
4105
|
|
- if (! Stopped) {
|
4106
|
|
- //get_coordinates(); // For X Y Z E F
|
4107
|
|
- delta[X_AXIS] = 60;
|
4108
|
|
- delta[Y_AXIS] = 180;
|
4109
|
|
- calculate_SCARA_forward_Transform(delta);
|
4110
|
|
- destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
4111
|
|
- destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
4112
|
|
- prepare_move();
|
4113
|
|
- //ClearToSend();
|
4114
|
|
- return true;
|
4115
|
|
- }
|
4116
|
|
- return false;
|
|
4093
|
+ return SCARA_move_to_cal(60, 180);
|
4117
|
4094
|
}
|
4118
|
4095
|
|
4119
|
4096
|
/**
|
|
@@ -4121,20 +4098,7 @@ inline void gcode_M303() {
|
4121
|
4098
|
*/
|
4122
|
4099
|
inline bool gcode_M363() {
|
4123
|
4100
|
SERIAL_ECHOLN(" Cal: Psi 90 ");
|
4124
|
|
- //SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
4125
|
|
- //SERIAL_ECHOLN(" Soft endstops disabled ");
|
4126
|
|
- if (! Stopped) {
|
4127
|
|
- //get_coordinates(); // For X Y Z E F
|
4128
|
|
- delta[X_AXIS] = 50;
|
4129
|
|
- delta[Y_AXIS] = 90;
|
4130
|
|
- calculate_SCARA_forward_Transform(delta);
|
4131
|
|
- destination[X_AXIS] = delta[X_AXIS]/axis_scaling[X_AXIS];
|
4132
|
|
- destination[Y_AXIS] = delta[Y_AXIS]/axis_scaling[Y_AXIS];
|
4133
|
|
- prepare_move();
|
4134
|
|
- //ClearToSend();
|
4135
|
|
- return true;
|
4136
|
|
- }
|
4137
|
|
- return false;
|
|
4101
|
+ return SCARA_move_to_cal(50, 90);
|
4138
|
4102
|
}
|
4139
|
4103
|
|
4140
|
4104
|
/**
|
|
@@ -4142,20 +4106,7 @@ inline void gcode_M303() {
|
4142
|
4106
|
*/
|
4143
|
4107
|
inline bool gcode_M364() {
|
4144
|
4108
|
SERIAL_ECHOLN(" Cal: Theta-Psi 90 ");
|
4145
|
|
- // SoftEndsEnabled = false; // Ignore soft endstops during calibration
|
4146
|
|
- //SERIAL_ECHOLN(" Soft endstops disabled ");
|
4147
|
|
- if (! Stopped) {
|
4148
|
|
- //get_coordinates(); // For X Y Z E F
|
4149
|
|
- delta[X_AXIS] = 45;
|
4150
|
|
- delta[Y_AXIS] = 135;
|
4151
|
|
- calculate_SCARA_forward_Transform(delta);
|
4152
|
|
- destination[X_AXIS] = delta[X_AXIS] / axis_scaling[X_AXIS];
|
4153
|
|
- destination[Y_AXIS] = delta[Y_AXIS] / axis_scaling[Y_AXIS];
|
4154
|
|
- prepare_move();
|
4155
|
|
- //ClearToSend();
|
4156
|
|
- return true;
|
4157
|
|
- }
|
4158
|
|
- return false;
|
|
4109
|
+ return SCARA_move_to_cal(45, 135);
|
4159
|
4110
|
}
|
4160
|
4111
|
|
4161
|
4112
|
/**
|