ENH: support new feature of AMS

jira: [STUDIO-14067][STUDIO-14069]
Change-Id: Ib51f9ec6b387418f1817619973e926d3c9494935
(cherry picked from commit e2f63a8d1e3a1ea1f53578c611300ead12052b39)
This commit is contained in:
xin.zhang 2025-08-27 17:30:46 +08:00 committed by Noisyfox
parent 84dd0449b7
commit 27a23a8baf
3 changed files with 17 additions and 12 deletions

View file

@ -3179,15 +3179,16 @@ void StatusPanel::update_ams(MachineObject *obj)
bool is_support_virtual_tray = obj->ams_support_virtual_tray;
bool is_support_filament_backup = obj->is_support_filament_backup;
AMSModel ams_mode = AMSModel::GENERIC_AMS;
if (obj) {
if (obj->get_printer_ams_type() == "f1") { ams_mode = AMSModel::AMS_LITE; }
if (obj->is_security_control_ready())
obj->check_ams_filament_valid();
if (obj && obj->is_security_control_ready()) {
obj->check_ams_filament_valid();
}
if (obj->is_enable_np && obj->GetFilaSystem()->GetAmsList().size() > 0) {
AMSModel ams_mode = AMSModel::GENERIC_AMS;
if ((obj->is_enable_np || obj->is_enable_ams_np) && obj->GetFilaSystem()->GetAmsList().size() > 0) {
ams_mode = AMSModel(obj->GetFilaSystem()->GetAmsList().begin()->second->GetAmsType());
} if (obj->get_printer_ams_type() == "f1") {
ams_mode = AMSModel::AMS_LITE;//STUDIO-14066
}
if (!obj || !obj->is_connected()) {
@ -3228,7 +3229,6 @@ void StatusPanel::update_ams(MachineObject *obj)
AMSinfo info;
info.ams_id = ams->first;
if (ams->second->IsExist() && info.parse_ams_info(obj, ams->second, obj->GetFilaSystem()->IsDetectRemainEnabled(), obj->is_support_ams_humidity)) {
if (ams_mode == AMSModel::AMS_LITE) { info.ams_type = AMSModel::AMS_LITE; }
ams_info.push_back(info);
}
}

View file

@ -3041,10 +3041,7 @@ void AMSHumidity::msw_rescale() {
/*************************************************
Description:AmsItem
**************************************************/
AmsItem::AmsItem() {}
AmsItem::AmsItem(wxWindow *parent,AMSinfo info, AMSModel model, AMSPanelPos pos) : AmsItem()
AmsItem::AmsItem(wxWindow *parent,AMSinfo info, AMSModel model, AMSPanelPos pos)
{
m_bitmap_extra_framework = ScalableBitmap(this, "ams_extra_framework_mid_new", 134);
@ -3590,6 +3587,15 @@ void AmsItem::RenderLiteRoad(wxDC& dc, wxSize size) {
auto a3_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(8) : size.y / 2 + FromDIP(4);
auto a4_top = m_panel_pos == AMSPanelPos::RIGHT_PANEL ? size.y / 2 + FromDIP(4) : size.y / 2 + FromDIP(8);
if (m_can_lib_list.empty()) {
//to Extruder
dc.SetPen(wxPen(AMS_CONTROL_GRAY500, 2, wxPENSTYLE_SOLID));
dc.SetBrush(wxBrush(*wxTRANSPARENT_BRUSH));
auto top = std::min(a1_top, a2_top);
dc.DrawLine(end_top, top, end_top, size.y);
return;
}
try
{
auto a1_left = m_can_lib_list["0"]->GetScreenPosition().x + m_can_lib_list["0"]->GetSize().x / 2;

View file

@ -759,7 +759,6 @@ Description:AmsItem
class AmsItem : public wxWindow
{
public:
AmsItem();
AmsItem(wxWindow *parent, AMSinfo info, AMSModel model, AMSPanelPos pos);
~AmsItem();