From 3a0fce14116a150f6418d0b0c68299c27c2de9de Mon Sep 17 00:00:00 2001
From: sawinglogz <3787776-sawinglogz@users.noreply.gitlab.com>
Date: Mon, 29 Nov 2021 10:07:11 -0500
Subject: [PATCH] Add 261P to the list of tested machines.

Also update F0V4 warnings based on new test data.
---
 Htmldocs/release_notes.html                        | 1 +
 oscar/SleepLib/loader_plugins/prs1_loader.cpp      | 3 ++-
 oscar/SleepLib/loader_plugins/prs1_parser_xpap.cpp | 5 ++---
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/Htmldocs/release_notes.html b/Htmldocs/release_notes.html
index ca4a96f2..d77b8109 100644
--- a/Htmldocs/release_notes.html
+++ b/Htmldocs/release_notes.html
@@ -17,6 +17,7 @@
     <ul>
       <li>[new] Additional Philips Respironics devices tested and fully supported:
         <ul>
+          <li>REMstar Plus (System One 60 Series) (261P) <i>provides only limited information</i></li>
           <li>REMstar Pro (System One 60 Series) (460PBT)</li>
         </ul>
       </li>
diff --git a/oscar/SleepLib/loader_plugins/prs1_loader.cpp b/oscar/SleepLib/loader_plugins/prs1_loader.cpp
index 79d4060a..eaf32e7b 100644
--- a/oscar/SleepLib/loader_plugins/prs1_loader.cpp
+++ b/oscar/SleepLib/loader_plugins/prs1_loader.cpp
@@ -91,6 +91,7 @@ static const PRS1TestedModel s_PRS1TestedModels[] = {
     { "750P", 0, 2, "BiPAP Auto (System One)" },
 
     { "261CA",  0, 4, "REMstar Plus (System One 60 Series)" },  // (brick)
+    { "261P",   0, 4, "REMstar Plus (System One 60 Series)" },  // (brick)
     { "460P",   0, 4, "REMstar Pro (System One 60 Series)" },
     { "460PBT", 0, 4, "REMstar Pro (System One 60 Series)" },  // evidently built-in bluetooth
     { "461P",   0, 4, "REMstar Pro (System One 60 Series)" },
@@ -161,7 +162,7 @@ PRS1ModelInfo::PRS1ModelInfo()
         m_modelNames[model.model] = model.name;
     }
     
-    m_bricks = { "251P", "261CA", "200X110", "501V" };
+    m_bricks = { "251P", "261CA", "261P", "200X110", "501V" };
 }
 
 bool PRS1ModelInfo::IsSupported(int family, int familyVersion) const
diff --git a/oscar/SleepLib/loader_plugins/prs1_parser_xpap.cpp b/oscar/SleepLib/loader_plugins/prs1_parser_xpap.cpp
index 5e47f5cc..e11a8d47 100644
--- a/oscar/SleepLib/loader_plugins/prs1_parser_xpap.cpp
+++ b/oscar/SleepLib/loader_plugins/prs1_parser_xpap.cpp
@@ -707,11 +707,10 @@ bool PRS1DataChunk::ParseComplianceF0V4(void)
             case 1:  // Equipment Off
                 tt += data[pos] | (data[pos+1] << 8);
                 this->AddEvent(new PRS1ParsedSliceEvent(tt, EquipmentOff));
-                // TODO: check values
-                CHECK_VALUES(data[pos+2], 1, 3);
+                //CHECK_VALUES(data[pos+2], 1, 3);  // or 0
                 //CHECK_VALUE(data[pos+2] & ~(0x40|8|4|2|1), 0);  // ???, seen various bit combinations
                 //CHECK_VALUE(data[pos+3], 0x19);  // 0x17, 0x16
-                CHECK_VALUES(data[pos+4], 0, 1);
+                //CHECK_VALUES(data[pos+4], 0, 1);  // or 2
                 //CHECK_VALUES(data[pos+4], 0, 1);  // or 2
                 //CHECK_VALUE(data[pos+5], 0x35);  // 0x36, 0x36
                 if (data[pos+6] != 1) {