PFW-1504 Set cursor position each time to be safe
Change in memory: Flash: +18 bytes SRAM: 0 bytes
This commit is contained in:
parent
59e1ac0396
commit
c518bfdb73
|
|
@ -240,6 +240,7 @@ bool MMU2::VerifyFilamentEnteredPTFE() {
|
|||
|
||||
uint8_t fsensorState = 0;
|
||||
uint8_t fsensorStateLCD = 0;
|
||||
uint8_t pixel = 0;
|
||||
// MMU has finished its load, push the filament further by some defined constant length
|
||||
// If the filament sensor reads 0 at any moment, then report FAILURE
|
||||
|
||||
|
|
@ -275,7 +276,8 @@ bool MMU2::VerifyFilamentEnteredPTFE() {
|
|||
|
||||
if ((fabs(stepper_get_machine_position_E_mm() - last_position)) > length_step_mm) {
|
||||
last_position = stepper_get_machine_position_E_mm(); // Reset
|
||||
TryLoadUnloadProgressbar(fsensorStateLCD);
|
||||
if (pixel > (LCD_WIDTH - 1)) pixel = LCD_WIDTH - 1;
|
||||
TryLoadUnloadProgressbar(pixel++, fsensorStateLCD);
|
||||
fsensorStateLCD = 0; // Clear temporary bit
|
||||
}
|
||||
safe_delay_keep_alive(0);
|
||||
|
|
|
|||
|
|
@ -298,8 +298,10 @@ void TryLoadUnloadProgressbarInit() {
|
|||
lcd_set_cursor(0, 3);
|
||||
}
|
||||
|
||||
void TryLoadUnloadProgressbar(bool sensorState) {
|
||||
lcd_putc(sensorState ? '_' : LCD_STR_SOLID_BLOCK[0]); // Place character
|
||||
void TryLoadUnloadProgressbar(uint8_t col, bool sensorState) {
|
||||
// Set the cursor position each time in case some other
|
||||
// part of the firmware changes the cursor position
|
||||
lcd_putc_at(col, 3, sensorState ? '_' : LCD_STR_SOLID_BLOCK[0]);
|
||||
lcd_reset_status_message_timeout();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,8 +36,9 @@ void ReportProgressHook(CommandInProgress cip, uint16_t ec);
|
|||
void TryLoadUnloadProgressbarInit();
|
||||
|
||||
/// @brief Add one block to the progress bar
|
||||
/// @param col pixel position on the LCD status line, should range from 0 to (LCD_WIDTH - 1)
|
||||
/// @param sensorState if true, filament is not present, else filament is present. This controls which character to render
|
||||
void TryLoadUnloadProgressbar(bool sensorState);
|
||||
void TryLoadUnloadProgressbar(uint8_t col, bool sensorState);
|
||||
|
||||
/// Remders the sensor status line. Also used by the "resume temperature" screen.
|
||||
void ReportErrorHookDynamicRender();
|
||||
|
|
|
|||
Loading…
Reference in New Issue