#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/DeviceCore/DevFilaSystem.h>
Public Member Functions | |
| DevFilaSystem (MachineObject *owner) | |
| ~DevFilaSystem () | |
| MachineObject * | GetOwner () const |
| bool | HasAms () const |
| bool | IsAmsSettingUp () const |
| DevAms * | GetAmsById (const std::string &ams_id) const |
| std::map< std::string, DevAms *, NumericStrCompare > & | GetAmsList () |
| int | GetAmsCount () const |
| DevAmsTray * | GetAmsTray (const std::string &ams_id, const std::string &tray_id) const |
| void | CollectAmsColors (std::vector< wxColour > &ams_colors) const |
| std::map< int, DevAmsSlotId > | GetTrayIndexMap () |
| int | GetExtruderIdByAmsId (const std::string &ams_id) const |
| std::string | GetNozzleFlowStringByAmsId (const std::string &ams_id) const |
| DevAmsSystemSetting & | GetAmsSystemSetting () |
| std::optional< bool > | IsDetectOnInsertEnabled () const |
| bool | IsDetectOnPowerupEnabled () const |
| bool | IsDetectRemainEnabled () const |
| bool | IsAutoRefillEnabled () const |
| std::weak_ptr< DevAmsSystemFirmwareSwitch > | GetAmsFirmwareSwitch () const |
| const std::vector< DevFilamentStep > & | GetFilamentChangeSteps () const |
| int | CtrlAmsReset () const |
| int | CtrlAmsStartDryingHour (int ams_id, std::string filament_type, int tag_temp, int tag_duration_hour, bool rotate_tray, int cooling_temp, bool close_power_conflict=false) const |
| int | CtrlAmsStopDrying (int ams_id) const |
Static Public Member Functions | |
| static bool | IsBBL_Filament (std::string tag_uid) |
Private Attributes | |
| MachineObject * | m_owner |
| int | m_ams_cali_stat = 0 |
| std::vector< DevFilamentStep > | m_filament_change_steps |
| std::map< std::string, DevAms *, NumericStrCompare > | amsList |
| DevAmsSystemSetting | m_ams_system_setting { this } |
| std::shared_ptr< DevAmsSystemFirmwareSwitch > | m_ams_firmware_switch = DevAmsSystemFirmwareSwitch::Create(this) |
Friends | |
| class | DevFilaSystemParser |
DevFilaSystem - Central manager for all AMS-related data on a printer.
This class owns and manages the hierarchy of AMS units (DevAms) and their trays (DevAmsTray). It provides the primary interface for querying filament/AMS state used by the GUI.
Printer Device (sends status via MQTT/LAN) ↓ NetworkAgent (receives JSON, invokes registered callbacks) ↓ MachineObject::parse_json() (delegates to DevFilaSystemParser) ↓ DevFilaSystemParser::ParseV1_0() (populates this DevFilaSystem instance) ↓ GUI functions like build_filament_ams_list() read from here
Key Methods:
Ownership:
Note: This class does NOT directly communicate with NetworkAgent. It is a passive data store populated by the parsing layer.
|
inline |
| Slic3r::DevFilaSystem::~DevFilaSystem | ( | ) |
| void Slic3r::DevFilaSystem::CollectAmsColors | ( | std::vector< wxColour > & | ams_colors | ) | const |
References amsList, and Slic3r::DevAmsTray::decode_color().
| int Slic3r::DevFilaSystem::CtrlAmsReset | ( | ) | const |
References m_owner, and Slic3r::MachineObject::m_sequence_id.
| int Slic3r::DevFilaSystem::CtrlAmsStartDryingHour | ( | int | ams_id, |
| std::string | filament_type, | ||
| int | tag_temp, | ||
| int | tag_duration_hour, | ||
| bool | rotate_tray, | ||
| int | cooling_temp, | ||
| bool | close_power_conflict = false ) const |
References Slic3r::filament_type(), m_owner, Slic3r::MachineObject::m_sequence_id, and Slic3r::DevAms::OnTime.
| int Slic3r::DevFilaSystem::CtrlAmsStopDrying | ( | int | ams_id | ) | const |
References m_owner, Slic3r::MachineObject::m_sequence_id, and Slic3r::DevAms::Off.
| DevAms * Slic3r::DevFilaSystem::GetAmsById | ( | const std::string & | ams_id | ) | const |
|
inline |
|
inline |
References m_ams_firmware_switch.
|
inline |
References amsList.
Referenced by Slic3r::GUI::collect_ams_color_items(), and GetTrayIndexMap().
|
inline |
References m_ams_system_setting.
| DevAmsTray * Slic3r::DevFilaSystem::GetAmsTray | ( | const std::string & | ams_id, |
| const std::string & | tray_id ) const |
| int Slic3r::DevFilaSystem::GetExtruderIdByAmsId | ( | const std::string & | ams_id | ) | const |
References amsList, DEPUTY_EXTRUDER_ID, MAIN_EXTRUDER_ID, VIRTUAL_TRAY_DEPUTY_ID, and VIRTUAL_TRAY_MAIN_ID.
Referenced by GetNozzleFlowStringByAmsId().
|
inline |
References m_filament_change_steps.
| std::string Slic3r::DevFilaSystem::GetNozzleFlowStringByAmsId | ( | const std::string & | ams_id | ) | const |
References Slic3r::DevNozzleSystem::GetExtNozzle(), GetExtruderIdByAmsId(), Slic3r::DevNozzle::GetNozzleFlowTypeString(), Slic3r::MachineObject::GetNozzleSystem(), and GetOwner().
|
inline |
References m_owner.
Referenced by GetNozzleFlowStringByAmsId().
| std::map< int, DevAmsSlotId > Slic3r::DevFilaSystem::GetTrayIndexMap | ( | ) |
References Slic3r::DevAms::AMS_LITE, GetAmsList(), Slic3r::DevAms::N3S, VIRTUAL_TRAY_DEPUTY_ID, and VIRTUAL_TRAY_MAIN_ID.
|
inline |
| bool Slic3r::DevFilaSystem::IsAmsSettingUp | ( | ) | const |
References Slic3r::DevUtil::get_flag_bits(), and m_ams_cali_stat.
|
inline |
References m_ams_system_setting.
|
static |
Referenced by Slic3r::GUI::FilamentComboBox::load_tray_from_ams(), Slic3r::GUI::StatusPanel::on_ext_spool_edit(), Slic3r::GUI::StatusPanel::on_filament_edit(), Slic3r::GUI::StatusPanel::on_filament_extrusion_cali(), and Slic3r::GUI::AMSinfo::parse_ams_info().
|
inline |
References m_ams_system_setting.
|
inline |
References m_ams_system_setting.
|
inline |
References m_ams_system_setting.
|
friend |
References DevFilaSystemParser.
Referenced by DevFilaSystemParser.
|
private |
|
private |
Referenced by IsAmsSettingUp(), and Slic3r::DevFilaSystemParser::ParseV1_0().
|
private |
Referenced by GetAmsFirmwareSwitch().
|
private |
Referenced by GetAmsSystemSetting(), IsAutoRefillEnabled(), IsDetectOnInsertEnabled(), IsDetectOnPowerupEnabled(), IsDetectRemainEnabled(), and Slic3r::DevFilaSystemParser::ParseV1_0().
|
private |
Referenced by GetFilamentChangeSteps(), and Slic3r::DevFilaSystemParser::ParseV1_0().
|
private |
Referenced by DevFilaSystem(), CtrlAmsReset(), CtrlAmsStartDryingHour(), CtrlAmsStopDrying(), and GetOwner().