From 55dcb3595b8de7cd0d0e7ad39a84c6016e773dd9 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Thu, 7 Sep 2023 16:28:55 +0200 Subject: [PATCH] this might fix the device --- CHANGELOG.md | 2 ++ linux/acs/AcsBoardPolling.cpp | 3 +++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0738667..3e92e2f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ will consitute of a breaking change warranting a new major release: - The primary and the secondary temperature sensors for the PLOC mission boards are exchanged. - ACS parameters for the SUSMGM (FLP) safe mode have been adjusted. This safe mode is now the default one. +- MGM3100 Startup Configuration: Ignore bit 1 of the CMM reply, which is sometimes set to + 1 in the reply for some reason. # [v6.4.1] 2023-08-21 diff --git a/linux/acs/AcsBoardPolling.cpp b/linux/acs/AcsBoardPolling.cpp index 1ba55357..6919907a 100644 --- a/linux/acs/AcsBoardPolling.cpp +++ b/linux/acs/AcsBoardPolling.cpp @@ -767,6 +767,9 @@ void AcsBoardPolling::mgmRm3100Handler(MgmRm3100& mgm) { mgm.replyResult = result; return; } + // For some reason, bit 1 is sometimes set on the reply, even if it is not set for the + // command.. Ignore it for now by clearing it. + rawReply[1] &= ~(1 << 1); if (rawReply[1] != mgmRm3100::CMM_VALUE) { sif::error << "AcsBoardPolling: MGM RM3100 read back CMM invalid" << std::endl; mgm.replyResult = result;