Initial ElegooLink Support (Only Centauri Carbon Tested)

This commit is contained in:
Dark98
2026-01-22 07:42:14 +00:00
parent 261ba81e06
commit f352a02b9f
13 changed files with 613 additions and 12 deletions
+34 -1
View File
@@ -104,6 +104,7 @@ static const t_config_enum_values s_keys_map_PrintHostType {
{ "repetier", htRepetier },
{ "mks", htMKS },
{ "prusaconnectnew", htPrusaConnectNew },
{ "elegoolink", htElegooLink },
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(PrintHostType)
@@ -244,6 +245,12 @@ static const t_config_enum_values s_keys_map_GCodeThumbnailsFormat = {
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(GCodeThumbnailsFormat)
static const t_config_enum_values s_keys_map_ElegooBedType = {
{ "pte", int(ElegooBedType::PTE) },
{ "pc", int(ElegooBedType::PC) }
};
CONFIG_OPTION_ENUM_DEFINE_STATIC_MAPS(ElegooBedType)
static const t_config_enum_values s_keys_map_ForwardCompatibilitySubstitutionRule = {
{ "disable", ForwardCompatibilitySubstitutionRule::Disable },
{ "enable", ForwardCompatibilitySubstitutionRule::Enable },
@@ -2223,12 +2230,38 @@ void PrintConfigDef::init_fff_params()
{ "flashair", "FlashAir" },
{ "astrobox", "AstroBox" },
{ "repetier", "Repetier" },
{ "mks", "MKS" }
{ "mks", "MKS" },
{ "elegoolink", "ElegooLink" }
});
def->mode = comAdvanced;
def->cli = ConfigOptionDef::nocli;
def->set_default_value(new ConfigOptionEnum<PrintHostType>(htPrusaLink));
def = this->add("elegoolink_timelapse", coBool);
def->label = L("ElegooLink timelapse");
def->tooltip = L("Enable timelapse recording when starting a print via ElegooLink.");
def->mode = comAdvanced;
def->cli = ConfigOptionDef::nocli;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("elegoolink_bed_leveling", coBool);
def->label = L("ElegooLink bed leveling");
def->tooltip = L("Enable heated bed leveling when starting a print via ElegooLink.");
def->mode = comAdvanced;
def->cli = ConfigOptionDef::nocli;
def->set_default_value(new ConfigOptionBool(false));
def = this->add("elegoolink_bed_type", coEnum);
def->label = L("ElegooLink bed type");
def->tooltip = L("Select bed type for ElegooLink printing.");
def->set_enum<ElegooBedType>({
{ "pte", L("Side A") },
{ "pc", L("Side B") }
});
def->mode = comAdvanced;
def->cli = ConfigOptionDef::nocli;
def->set_default_value(new ConfigOptionEnum<ElegooBedType>(ElegooBedType::PTE));
def = this->add("only_retract_when_crossing_perimeters", coBool);
def->label = L("Only retract when crossing perimeters");
def->tooltip = L("Disables retraction when the travel path does not exceed the upper layer's perimeters "