Add Elegoo printers to ESPHome fleet display
This commit is contained in:
@@ -6,6 +6,7 @@ int main() {
|
||||
assert(remaining(1.75f, "h") == "1h 45m");
|
||||
assert(remaining(105.0f, "min") == "1h 45m");
|
||||
assert(remaining(6300.0f, "s") == "1h 45m");
|
||||
assert(remaining(6300000.0f, "ms") == "1h 45m");
|
||||
assert(remaining(0.15f, "h") == "0h 09m");
|
||||
assert(remaining(NAN, "h") == "--");
|
||||
assert(remaining(-1, "min") == "--");
|
||||
@@ -22,6 +23,7 @@ int main() {
|
||||
assert(gauge_value(-10, 100) == 0);
|
||||
assert(duration_seconds(1.75f, "h") == 6300);
|
||||
assert(duration_seconds(105, "min") == 6300);
|
||||
assert(duration_seconds(6300000, "ms") == 6300);
|
||||
assert(duration_seconds(NAN, "h") == -1);
|
||||
assert(duration_seconds(1, "") == -1);
|
||||
assert(std::abs(celsius(392, "°F") - 200) < 0.01f);
|
||||
@@ -72,4 +74,33 @@ int main() {
|
||||
data.status = "finish";
|
||||
assert(data.status_text() == "COMPLETE");
|
||||
assert(data.status_color() == GREEN);
|
||||
|
||||
// Elegoo exposes error enums rather than Bambu binary errors/HMS notices.
|
||||
data.elegoo = true;
|
||||
data.print_error = "none";
|
||||
data.print_error_reason = "ok";
|
||||
data.status = "printing";
|
||||
assert(data.live());
|
||||
assert(!data.has_print_error());
|
||||
assert(data.status_text() == "PRINTING");
|
||||
data.print_error_reason = "filament_runout";
|
||||
assert(data.status_text() == "PRINT ERROR");
|
||||
assert(data.status_color() == RED);
|
||||
assert(data.health_details().find("Filament runout") != std::string::npos);
|
||||
data.print_error = "invalid_resolution";
|
||||
assert(data.alert_summary() == "Invalid resolution / Filament runout");
|
||||
data.print_error_reason = "unavailable";
|
||||
assert(data.alert_summary() == "Invalid resolution");
|
||||
data.print_error = "unknown";
|
||||
assert(!data.has_print_error());
|
||||
data.status = "error";
|
||||
assert(data.has_print_error());
|
||||
data.status = "pausing";
|
||||
assert(data.status_color() == AMBER);
|
||||
data.status = "complete";
|
||||
assert(data.status_text() == "COMPLETE");
|
||||
data.online = "off";
|
||||
assert(!data.live());
|
||||
assert(data.status_text() == "PRINTER OFFLINE");
|
||||
assert(data.health_details().find("unavailable") != std::string::npos);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user