FIX: the AMS refreshing problem

jira: [STUDIO-10643]
Change-Id: I6bd94f2e608b833e880033fdace236d465b9db38
(cherry picked from commit 99045ae070bb03641d1086993cc4ffaf51408730)
This commit is contained in:
xin.zhang
2025-03-13 10:05:55 +08:00
committed by Noisyfox
parent 616082ae12
commit a2ab9e41d8

View File

@@ -3452,10 +3452,19 @@ void StatusPanel::update_ams(MachineObject *obj)
std::string tray_id = tray_it->first;
int tray_id_int = atoi(tray_id.c_str());
// new protocol
if ((obj->tray_reading_bits & (1 << (ams_id_int * 4 + tray_id_int))) != 0) {
m_ams_control->PlayRridLoading(ams_id, tray_id);
if (ams_id_int < 128) {
if ((obj->tray_reading_bits & (1 << (ams_id_int * 4 + tray_id_int))) != 0) {
m_ams_control->PlayRridLoading(ams_id, tray_id);
} else {
m_ams_control->StopRridLoading(ams_id, tray_id);
}
} else {
m_ams_control->StopRridLoading(ams_id, tray_id);
int check_flag = (1 << 16) + ams_id_int - 128;
if ((obj->tray_reading_bits & check_flag) != 0) {
m_ams_control->PlayRridLoading(ams_id, tray_id);
} else {
m_ams_control->StopRridLoading(ams_id, tray_id);
}
}
}
} catch (...) {}