From ecdaf6bd1f41465f2ea7bed34d4d7cb928943d3f Mon Sep 17 00:00:00 2001 From: Mark Watkins Date: Tue, 19 Aug 2014 16:07:28 +1000 Subject: [PATCH] CMS50I graph decode fix 1 --- sleepyhead/SleepLib/loader_plugins/cms50f37_loader.cpp | 9 ++++++--- sleepyhead/oximeterimport.ui | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/sleepyhead/SleepLib/loader_plugins/cms50f37_loader.cpp b/sleepyhead/SleepLib/loader_plugins/cms50f37_loader.cpp index 73ae7b42..e4ef4585 100644 --- a/sleepyhead/SleepLib/loader_plugins/cms50f37_loader.cpp +++ b/sleepyhead/SleepLib/loader_plugins/cms50f37_loader.cpp @@ -452,10 +452,13 @@ void CMS50F37Loader::processBytes(QByteArray bytes) if (res == 0x09) { mask = buffer.at(idx+1); // 9,80,e1,c4,ce,82 // cms50i data - int pi = buffer.at(idx + 4) | buffer.at(idx + 5) << 7; - pulse = buffer.at(idx+3) | ((mask & 2) << 6); - oxirec->append((pulse == 0xff) ? OxiRecord(0,0,0) : OxiRecord(pulse, buffer.at(idx+2), pi)); + int pi = buffer.at(idx + 4) | (buffer.at(idx + 5) << 8); + + pulse = buffer.at(idx+3) | ((mask & 4) << 5); + quint8 spo2 = buffer.at(idx+2); + + oxirec->append((spo2 == 0) ? OxiRecord(0,0,0) : OxiRecord(pulse, spo2, pi)); } else if (res == 0x0f) { // f,80,de,c2,de,c2,de,c2 cms50F data... diff --git a/sleepyhead/oximeterimport.ui b/sleepyhead/oximeterimport.ui index 5d4e6178..e78ea54a 100644 --- a/sleepyhead/oximeterimport.ui +++ b/sleepyhead/oximeterimport.ui @@ -647,7 +647,7 @@ border-radius: 0px; - 4 + 5 @@ -1403,11 +1403,14 @@ background: qlineargradient( x1:0 y1:0, x2:1 y2:0, stop:0 white, stop:1 #cccccc) Day recording (normally would of) started + + -1 + 0 - 0 + 2 0