From 9a2e48e0bbc0f6cd707760792289fb2cfbd21dfe Mon Sep 17 00:00:00 2001
From: Mark Watkins
Date: Mon, 14 Nov 2011 19:26:58 +1000
Subject: [PATCH] Added S9 ASV TgMV graph support
---
SleepLib/loader_plugins/resmed_loader.cpp | 13 +++++++++----
SleepLib/machine_common.h | 1 +
daily.cpp | 8 +++++---
daily.h | 2 +-
docs/channels.xml | 2 ++
docs/release_notes.html | 6 ++++--
6 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/SleepLib/loader_plugins/resmed_loader.cpp b/SleepLib/loader_plugins/resmed_loader.cpp
index 8578151f..46bcacde 100644
--- a/SleepLib/loader_plugins/resmed_loader.cpp
+++ b/SleepLib/loader_plugins/resmed_loader.cpp
@@ -726,20 +726,25 @@ bool ResmedLoader::LoadPLD(Session *sess,EDFParser &edf)
code=CPAP_MaskPressure;
a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
} else if (es.label.startsWith("Exp Press")) {
- code=CPAP_EPAP;//ExpiratoryPressure;
+ code=CPAP_EPAP;//ExpiratoryPressure
a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
} else if (es.label.startsWith("I:E")) {
- code=CPAP_IE;//I:E;
+ code=CPAP_IE;//I:E ratio?
a=sess->AddEventList(code,EVL_Waveform,es.gain,es.offset,0,0,rate);
a->AddWaveform(edf.startdate,es.data,recs,duration);
//a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
} else if (es.label.startsWith("Ti")) {
- code=CPAP_Ti;//Ti;
+ code=CPAP_Ti;
a=sess->AddEventList(code,EVL_Waveform,es.gain,es.offset,0,0,rate);
a->AddWaveform(edf.startdate,es.data,recs,duration);
//a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
} else if (es.label.startsWith("Te")) {
- code=CPAP_Te;//Te;
+ code=CPAP_Te;
+ a=sess->AddEventList(code,EVL_Waveform,es.gain,es.offset,0,0,rate);
+ a->AddWaveform(edf.startdate,es.data,recs,duration);
+ //a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
+ } else if (es.label.startsWith("TgMV")) {
+ code=CPAP_TgMV;
a=sess->AddEventList(code,EVL_Waveform,es.gain,es.offset,0,0,rate);
a->AddWaveform(edf.startdate,es.data,recs,duration);
//a=ToTimeDelta(sess,edf,es, code,recs,duration,0,0);
diff --git a/SleepLib/machine_common.h b/SleepLib/machine_common.h
index c850dbcb..cdf49b60 100644
--- a/SleepLib/machine_common.h
+++ b/SleepLib/machine_common.h
@@ -91,6 +91,7 @@ const QString CPAP_FLG="FLG";
const QString CPAP_IE="IE";
const QString CPAP_Te="Te";
const QString CPAP_Ti="Ti";
+const QString CPAP_TgMV="TgMV";
const QString RMS9_E01="RMS9_E01";
const QString RMS9_E02="RMS9_E02";
const QString PRS1_00="PRS1_00";
diff --git a/daily.cpp b/daily.cpp
index a2eb17fc..d71b3da9 100644
--- a/daily.cpp
+++ b/daily.cpp
@@ -86,6 +86,7 @@ Daily::Daily(QWidget *parent,gGraphView * shared, MainWindow *mw)
IE=new gGraph(GraphView,"I:E",default_height);
TE=new gGraph(GraphView,"Te",default_height);
TI=new gGraph(GraphView,"Ti",default_height);
+ TgMV=new gGraph(GraphView,"TgMV",default_height);
INTPULSE=new gGraph(GraphView,"Pulse",default_height,1);
INTSPO2=new gGraph(GraphView,"SPO2",default_height,1);
PULSE=new gGraph(GraphView,"Pulse",default_height,1);
@@ -150,7 +151,7 @@ Daily::Daily(QWidget *parent,gGraphView * shared, MainWindow *mw)
FRW->AddLayer(AddCPAP(los));
- gGraph *graphs[]={ PRD, LEAK, SNORE, PTB, MP, RR, MV, TV, FLG, IE, TI, TE, SPO2, PLETHY, PULSE,INTPULSE, INTSPO2 };
+ gGraph *graphs[]={ PRD, LEAK, SNORE, PTB, MP, RR, MV, TV, FLG, IE, TI, TE, TgMV, SPO2, PLETHY, PULSE,INTPULSE, INTSPO2 };
int ng=sizeof(graphs)/sizeof(gGraph*);
for (int i=0;iAddLayer(new gXGrid());
@@ -188,6 +189,7 @@ Daily::Daily(QWidget *parent,gGraphView * shared, MainWindow *mw)
IE->AddLayer(AddCPAP(new gLineChart(CPAP_IE,Qt::darkRed,square)));
TE->AddLayer(AddCPAP(new gLineChart(CPAP_Te,Qt::darkGreen,square)));
TI->AddLayer(AddCPAP(new gLineChart(CPAP_Ti,Qt::darkBlue,square)));
+ TgMV->AddLayer(AddCPAP(new gLineChart(CPAP_TgMV,Qt::darkCyan,square)));
INTPULSE->AddLayer(AddCPAP(new gLineChart(OXI_Pulse,Qt::red,square)));
INTSPO2->AddLayer(AddCPAP(new gLineChart(OXI_SPO2,Qt::blue,square)));
PULSE->AddLayer(AddOXI(new gLineChart(OXI_Pulse,Qt::red,square)));
@@ -546,8 +548,8 @@ void Daily::Load(QDate date)
ChannelID chans[]={
CPAP_Pressure,CPAP_EPAP,CPAP_IPAP,CPAP_PS,CPAP_PTB,
CPAP_MinuteVent,CPAP_RespRate,CPAP_RespEvent,CPAP_FLG,
- CPAP_Leak,CPAP_Snore,CPAP_IE,CPAP_Ti,CPAP_Te,CPAP_TidalVolume,
- OXI_Pulse,OXI_SPO2
+ CPAP_Leak,CPAP_Snore,CPAP_IE,CPAP_Ti,CPAP_Te, CPAP_TgMV,
+ CPAP_TidalVolume, OXI_Pulse,OXI_SPO2
};
int numchans=sizeof(chans)/sizeof(ChannelID);
int suboffset;
diff --git a/daily.h b/daily.h
index 1a8e3aff..8674a27c 100644
--- a/daily.h
+++ b/daily.h
@@ -76,7 +76,7 @@ private:
gGraph *PRD,*FRW,*GAHI,*TAP,*LEAK,*SF,*TAP_EAP,*TAP_IAP,*PULSE,*SPO2,
*SNORE,*RR,*MP,*MV,*TV,*FLG,*PTB,*OF,*INTPULSE,*INTSPO2, *THPR,
- *PLETHY,*TI,*TE, *RE, *IE;
+ *PLETHY,*TI,*TE, *RE, *IE, *TgMV;
QList OXIData;
QList CPAPData;
diff --git a/docs/channels.xml b/docs/channels.xml
index 4622f7b3..b833ca12 100644
--- a/docs/channels.xml
+++ b/docs/channels.xml
@@ -44,6 +44,8 @@ One id code per item
+
+
diff --git a/docs/release_notes.html b/docs/release_notes.html
index 9be8bec7..67f10553 100644
--- a/docs/release_notes.html
+++ b/docs/release_notes.html
@@ -15,8 +15,10 @@ weeks functioning less than usual (fog, appendicitus, etc.. bleh).
You can now Shift+Left Click on a day in an overview graph, and it will jump to that day in Daily tab.
New calendar navigation bar allows easy hiding the calendar to get more room.
(Relative) AHI is displayed above the flow rate waveform for selected area.
-Also includes some optimizations to improve performance.
-Quite a few bugfixes I've forgotten about.
+A new preference option to switch some daily graphs between square plots and normal line plots.
+Improved support for ResMed S9 ASV/VPAP Machines.
+Some graphing optimizations to improve performance.
+Quite a few other little bugfixes I've forgotten about.
What's still missing/broken?
Oximetry.. still. I know it sucks..