FIX: the AMS refreshing problem

jira: [STUDIO-10643]
Change-Id: I6bd94f2e608b833e880033fdace236d465b9db38
This commit is contained in:
xin.zhang 2025-03-13 10:05:55 +08:00 committed by lane.wei
parent 33230fd688
commit 99045ae070
1 changed files with 12 additions and 3 deletions

View File

@ -3428,10 +3428,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 (...) {}