mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-21 05:33:24 +00:00
Fix time in bambu integration
This commit is contained in:
@@ -47,6 +47,7 @@ class BambuPrinter : public BasePrinter
|
|||||||
popup_message_timeout_s = -1;
|
popup_message_timeout_s = -1;
|
||||||
bambu_misc = 0;
|
bambu_misc = 0;
|
||||||
printer_data.error_screen_features = PrinterFeatureRetryError | PrinterFeatureIgnoreError | PrinterFeatureContinueError;
|
printer_data.error_screen_features = PrinterFeatureRetryError | PrinterFeatureIgnoreError | PrinterFeatureContinueError;
|
||||||
|
print_start = millis();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool move_printer(const char* axis, float amount, bool relative);
|
bool move_printer(const char* axis, float amount, bool relative);
|
||||||
|
|||||||
@@ -120,31 +120,22 @@ void BambuPrinter::parse_state(JsonDocument& in)
|
|||||||
}
|
}
|
||||||
else if (strcasecmp(state, "running") == 0 || strcasecmp(state, "prepare") == 0)
|
else if (strcasecmp(state, "running") == 0 || strcasecmp(state, "prepare") == 0)
|
||||||
{
|
{
|
||||||
if (print_start <= 0)
|
|
||||||
{
|
|
||||||
print_start = millis();
|
|
||||||
}
|
|
||||||
|
|
||||||
printer_data.state = PrinterState::PrinterStatePrinting;
|
printer_data.state = PrinterState::PrinterStatePrinting;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
print_start = 0;
|
|
||||||
printer_data.state = PrinterState::PrinterStateIdle;
|
printer_data.state = PrinterState::PrinterStateIdle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (printer_data.state == PrinterState::PrinterStatePrinting)
|
|
||||||
{
|
|
||||||
printer_data.elapsed_time_s = (millis() - print_start) / 1000;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (print.containsKey("mc_remaining_time"))
|
if (print.containsKey("mc_remaining_time"))
|
||||||
{
|
{
|
||||||
printer_data.remaining_time_s = print["mc_remaining_time"];
|
printer_data.remaining_time_s = print["mc_remaining_time"];
|
||||||
printer_data.remaining_time_s *= 60;
|
printer_data.remaining_time_s *= 60;
|
||||||
|
if (printer_data.remaining_time_s > 300)
|
||||||
|
{
|
||||||
|
print_start = millis() - (printer_data.remaining_time_s / (1 - printer_data.print_progress) * printer_data.print_progress * 1000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (print.containsKey("mc_percent"))
|
if (print.containsKey("mc_percent"))
|
||||||
@@ -153,6 +144,11 @@ void BambuPrinter::parse_state(JsonDocument& in)
|
|||||||
printer_data.print_progress /= 100;
|
printer_data.print_progress /= 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (printer_data.state == PrinterState::PrinterStatePrinting)
|
||||||
|
{
|
||||||
|
printer_data.elapsed_time_s = (millis() - print_start) / 1000;
|
||||||
|
}
|
||||||
|
|
||||||
if (print.containsKey("layer_num"))
|
if (print.containsKey("layer_num"))
|
||||||
{
|
{
|
||||||
printer_data.current_layer = print["layer_num"];
|
printer_data.current_layer = print["layer_num"];
|
||||||
|
|||||||
Reference in New Issue
Block a user