Просмотр исходного кода

Make DELTA_CALIBRATION_MENU more universal

Scott Lahteine 8 лет назад
Родитель
Сommit
b16ea09498
1 измененных файлов: 15 добавлений и 4 удалений
  1. 15
    4
      Marlin/ultralcd.cpp

+ 15
- 4
Marlin/ultralcd.cpp Просмотреть файл

@@ -1260,14 +1260,25 @@ void kill_screen(const char* lcd_msg) {
1260 1260
 
1261 1261
   #if ENABLED(DELTA_CALIBRATION_MENU)
1262 1262
 
1263
+    static void _goto_tower_pos(const float &a) {
1264
+      char cmd[20];
1265
+      sprintf_P(cmd, PSTR("G1 X%i Y%i"), int(-(DELTA_PRINTABLE_RADIUS) * sin(a)), int((DELTA_PRINTABLE_RADIUS) * cos(a)));
1266
+      enqueue_and_echo_commands_P(PSTR("G1 F8000 Z4\nG1 F4000"));
1267
+      enqueue_and_echo_command(cmd);
1268
+    }
1269
+
1270
+    static void _goto_tower_x() { _goto_tower_pos(RADIANS(120)); }
1271
+    static void _goto_tower_y() { _goto_tower_pos(RADIANS(240)); }
1272
+    static void _goto_tower_z() { _goto_tower_pos(0); }
1273
+
1263 1274
     static void lcd_delta_calibrate_menu() {
1264 1275
       START_MENU();
1265 1276
       MENU_ITEM(back, MSG_MAIN);
1266 1277
       MENU_ITEM(gcode, MSG_AUTO_HOME, PSTR("G28"));
1267
-      MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_X, PSTR("G0 F8000 X-77.94 Y-45 Z0"));
1268
-      MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_Y, PSTR("G0 F8000 X77.94 Y-45 Z0"));
1269
-      MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_Z, PSTR("G0 F8000 X0 Y90 Z0"));
1270
-      MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_CENTER, PSTR("G0 F8000 X0 Y0 Z0"));
1278
+      MENU_ITEM(function, MSG_DELTA_CALIBRATE_X, _goto_tower_x);
1279
+      MENU_ITEM(function, MSG_DELTA_CALIBRATE_Y, _goto_tower_y);
1280
+      MENU_ITEM(function, MSG_DELTA_CALIBRATE_Z, _goto_tower_z);
1281
+      MENU_ITEM(gcode, MSG_DELTA_CALIBRATE_CENTER, PSTR("G1 F8000 Z4\nG1 F4000 X0 Y0"));
1271 1282
       END_MENU();
1272 1283
     }
1273 1284
 

Загрузка…
Отмена
Сохранить