void plan_reset_position() { position[X_AXIS] = st_get_position(X_AXIS); position[Y_AXIS] = st_get_position(Y_AXIS); position[Z_AXIS] = st_get_position(Z_AXIS); position[E_AXIS] = st_get_position(E_AXIS); }
static void lcd_menu_change_material_remove() { run_history = true; lcd_info_screen(lcd_menu_material_main, cancelMaterialInsert); lcd_lib_draw_stringP(3, 20, PSTR("Reversing material")); if (!blocks_queued()) { lcd_lib_beep(); led_glow_dir = led_glow = 0; currentMenu = lcd_menu_change_material_remove_wait_user; SELECT_MAIN_MENU_ITEM(0); //Disable the extruder motor so you can pull out the remaining filament. disable_e0(); disable_e1(); disable_e2(); } long pos = -st_get_position(E_AXIS); long targetPos = lround(FILAMENT_REVERSAL_LENGTH*axis_steps_per_unit[E_AXIS]); uint8_t progress = (pos * 125 / targetPos); lcd_progressbar(progress); lcd_lib_led_color(48,48,255); lcd_lib_update_screen(); }
static void lcd_menu_change_material_insert_forward() { lcd_info_screen(lcd_menu_main, cancelMaterialInsert); lcd_lib_draw_stringP(3, 20, PSTR("Forwarding material")); if (!blocks_queued()) { lcd_lib_beep(); led_glow_dir = led_glow = 0; digipot_current(2, motor_current_setting[2]*2/3);//Set the E motor power lower to we skip instead of grind. currentMenu = lcd_menu_change_material_insert; SELECT_MAIN_MENU_ITEM(0); } long pos = st_get_position(E_AXIS); long targetPos = lround(FILAMENT_FORWARD_LENGTH*axis_steps_per_unit[E_AXIS]); uint8_t progress = (pos * 125 / targetPos); lcd_progressbar(progress); lcd_lib_update_screen(); }
static void lcd_menu_first_run_material_load_forward() { lcd_basic_screen(); DRAW_PROGRESS_NR(14); lcd_lib_draw_string_centerP(20, PSTR("Loading material...")); if (!blocks_queued()) { lcd_lib_beep(); led_glow_dir = led_glow = 0; digipot_current(2, motor_current_setting[2]*2/3);//Set E motor power lower so the motor will skip instead of grind. currentMenu = lcd_menu_first_run_material_load_wait; SELECT_MAIN_MENU_ITEM(0); } long pos = st_get_position(E_AXIS); long targetPos = lround(FILAMENT_FORWARD_LENGTH*axis_steps_per_unit[E_AXIS]); uint8_t progress = (pos * 125 / targetPos); lcd_progressbar(progress); lcd_lib_update_screen(); }