ENH: Optimize the number of function calls during information parsing

During the printer connection cycle, each Filament and slot is only judged once
When deleting custom filaments or modifying the temperature of custom filaments, re evaluate

Jira: XXXX

Change-Id: If495a343efdb1be6f46d11dd20f6ec7934266e87
(cherry picked from commit e5dab1487188d744c732568232b32666e5f2cc5c)
This commit is contained in:
maosheng.wei 2024-08-13 20:13:49 +08:00 committed by Noisyfox
parent a2eea5fe2b
commit 8f08b587c6
3 changed files with 151 additions and 49 deletions

View file

@ -313,6 +313,7 @@ struct DisValue {
bool is_type_match = true;
};
class Preset;
class MachineObject
{
private:
@ -973,6 +974,13 @@ public:
void get_firmware_info();
bool is_firmware_info_valid();
std::string get_string_from_fantype(FanType type);
/* Device Filament Check */
std::set<std::string> m_checked_filament;
std::string m_printer_preset_name;
std::map<std::string, std::pair<int, int>> m_filament_list; // filament_id, pair<min temp, max temp>
void update_filament_list();
void update_printer_preset_name(const std::string &nozzle_diameter_str);
};
class DeviceManager