diff --git a/SleepLib/loader_plugins/prs1_loader.cpp b/SleepLib/loader_plugins/prs1_loader.cpp index d25f269c..72b3cf9e 100644 --- a/SleepLib/loader_plugins/prs1_loader.cpp +++ b/SleepLib/loader_plugins/prs1_loader.cpp @@ -439,14 +439,18 @@ bool PRS1Loader::ParseSummary(Machine *mach, qint32 sequence, quint32 timestamp, if (mach->SessionExists(sequence)) return false; + if (size<40) + return false; + Session *session=new Session(mach,sequence); session->really_set_first(qint64(timestamp)*1000L); EventDataType max,min; - min=(data[0x03])/10.0; - session->settings[CPAP_PressureMin]=min; - max=(data[0x04])/10.0; - session->settings[CPAP_PressureMax]=max; + min=float(data[0x03])/10.0; + session->settings[CPAP_PressureMin]=(double)min; + //min=session->settings[CPAP_PressureMin].toDouble(); + max=float(data[0x04])/10.0; + session->settings[CPAP_PressureMax]=(double)max; int offset=0; if (version==5) { //data[0x05]!=0) { // This is a time value for ASV stuff offset=4; // non zero adds 4 extra fields.. @@ -489,11 +493,8 @@ bool PRS1Loader::ParseSummary(Machine *mach, qint32 sequence, quint32 timestamp, if (max>0) { session->setMin(CPAP_Pressure,min); session->setMax(CPAP_Pressure,max); - } else { - session->setWavg(CPAP_Pressure,min ); - } - + session->setWavg(CPAP_Pressure,min); } else { // 0X28 & 0X29 is length on r5 @@ -509,10 +510,10 @@ bool PRS1Loader::ParseSummary(Machine *mach, qint32 sequence, quint32 timestamp, // Not using these because sometimes this summary is broken. EventDataType minp,maxp,avgp,p90p; - minp=data[offset+0x16]/10.0; - maxp=data[offset+0x17]/10.0; - p90p=data[offset+0x18]/10.0; - avgp=data[offset+0x19]/10.0; + minp=float(data[offset+0x16])/10.0; + maxp=float(data[offset+0x17])/10.0; + p90p=float(data[offset+0x18])/10.0; + avgp=float(data[offset+0x19])/10.0; if (minp>0) session->setMin(CPAP_Pressure,minp); else session->setMin(CPAP_Pressure,min); if (maxp>0) session->setMax(CPAP_Pressure,maxp); else session->setMax(CPAP_Pressure,min); @@ -1107,7 +1108,7 @@ bool PRS1Loader::OpenFile(Machine *mach, QString filename) } datasize=size-hl-2; - data=&m_buffer[pos+hl]; + data=&header[hl]; #ifdef PRS1_CRC_CHECK c16=CRC16(data,datasize); diff --git a/SleepLib/loader_plugins/resmed_loader.cpp b/SleepLib/loader_plugins/resmed_loader.cpp index f092ddf4..a966c5e3 100644 --- a/SleepLib/loader_plugins/resmed_loader.cpp +++ b/SleepLib/loader_plugins/resmed_loader.cpp @@ -372,12 +372,12 @@ int ResmedLoader::Open(QString & path,Profile *profile) qDebug() << "edf Serial number doesn't match STR.edf!"; } } else if (i.key()=="PNA") { - m->properties["Model"]=i.value(); + //m->properties["Model"]=""; //i.value(); } else if (i.key()=="PCD") { bool ok; int j=i.value().toInt(&ok); if (RMS9ModelMap.find(j)!=RMS9ModelMap.end()) { - m->properties["SubModel"]=RMS9ModelMap[j]; + m->properties["Model"]=RMS9ModelMap[j]; } } else { m->properties[i.key()]=i.value(); @@ -436,27 +436,32 @@ int ResmedLoader::Open(QString & path,Profile *profile) sig=stredf.lookupSignal("Set Pressure"); if (sig) { EventDataType pressure=sig->data[dn]*sig->gain; - sess->settings[CPAP_Pressure]=pressure; - sess->setWavg(CPAP_Pressure,pressure); - sess->setAvg(CPAP_Pressure,pressure); - sess->set90p(CPAP_Pressure,pressure); - sess->setMax(CPAP_Pressure,pressure); - sess->setMin(CPAP_Pressure,pressure); + sess->settings[CPAP_PressureMin]=pressure; + //sess->setWavg(CPAP_Pressure,pressure); + //sess->setAvg(CPAP_Pressure,pressure); + //sess->set90p(CPAP_Pressure,pressure); + //sess->setMax(CPAP_Pressure,pressure); + //sess->setMin(CPAP_Pressure,pressure); } } else { if (mode>5) { sess->settings[CPAP_Mode]=MODE_BIPAP; } else { sess->settings[CPAP_Mode]=MODE_APAP; + + } + sig=stredf.lookupSignal("Min Pressure"); + if (sig) { + EventDataType pressure=sig->data[dn]*sig->gain; + sess->settings[CPAP_PressureMin]=pressure; + sess->setMin(CPAP_Pressure,pressure); + } + sig=stredf.lookupSignal("Max Pressure"); + if (sig) { + EventDataType pressure=sig->data[dn]*sig->gain; + sess->settings[CPAP_PressureMax]=pressure; + sess->setMax(CPAP_Pressure,pressure); } - - sig=stredf.lookupSignal(CPAP_PressureMin); - if (sig) - sess->setMin(CPAP_Pressure,sig->data[dn]*sig->gain); - - sig=stredf.lookupSignal(CPAP_PressureMax); - if (sig) - sess->setMax(CPAP_Pressure,sig->data[dn]*sig->gain); } } @@ -805,21 +810,21 @@ bool ResmedLoader::LoadPLD(Session *sess,EDFParser &edf) void ResInitModelMap() { // Courtesy Troy Schultz - RMS9ModelMap[36001]="ResMed S9 Escape"; - RMS9ModelMap[36002]="ResMed S9 Escape Auto"; - RMS9ModelMap[36003]="ResMed S9 Elite"; - RMS9ModelMap[36004]="ResMed S9 VPAP S"; - RMS9ModelMap[36005]="ResMed S9 AutoSet"; - RMS9ModelMap[36006]="ResMed S9 VPAP Auto"; - RMS9ModelMap[36007]="ResMed S9 VPAP Adapt"; - RMS9ModelMap[36008]="ResMed S9 VPAP ST"; + RMS9ModelMap[36001]="S9 Escape"; + RMS9ModelMap[36002]="S9 Escape Auto"; + RMS9ModelMap[36003]="S9 Elite"; + RMS9ModelMap[36004]="S9 VPAP S"; + RMS9ModelMap[36005]="S9 AutoSet"; + RMS9ModelMap[36006]="S9 VPAP Auto"; + RMS9ModelMap[36007]="S9 VPAP Adapt"; + RMS9ModelMap[36008]="S9 VPAP ST"; /* S8 Series - RMS9ModelMap[33007]="ResMed S8 Escape"; - RMS9ModelMap[33039]="ResMed S8 Elite II"; - RMS9ModelMap[33051]="ResMed S8 Escape II"; - RMS9ModelMap[33064]="ResMed S8 Escape II AutoSet"; - RMS9ModelMap[33064]="ResMed S8 Escape II AutoSet"; - RMS9ModelMap[33129]="ResMed S8 AutoSet II"; + RMS9ModelMap[33007]="S8 Escape"; + RMS9ModelMap[33039]="S8 Elite II"; + RMS9ModelMap[33051]="S8 Escape II"; + RMS9ModelMap[33064]="S8 Escape II AutoSet"; + RMS9ModelMap[33064]="S8 Escape II AutoSet"; + RMS9ModelMap[33129]="S8 AutoSet II"; */ resmed_codes[CPAP_FlowRate].push_back("Flow"); diff --git a/SleepLib/machine_common.h b/SleepLib/machine_common.h index 51e0b1ba..4ff229fd 100644 --- a/SleepLib/machine_common.h +++ b/SleepLib/machine_common.h @@ -64,7 +64,7 @@ const QString PRS1_FlexSet="FlexSet"; const QString CPAP_Mode="PAPMode"; const QString CPAP_BrokenSummary="BrokenSummary"; const QString CPAP_PressureMin="PressureMin"; -const QString CPAP_PressureMax="PressureMin"; +const QString CPAP_PressureMax="PressureMax"; const QString CPAP_RampTime="RampTime"; const QString CPAP_RampPressure="RampPressure"; const QString CPAP_Obstructive="Obstructive"; diff --git a/daily.cpp b/daily.cpp index 5ac85aea..24da70e8 100644 --- a/daily.cpp +++ b/daily.cpp @@ -691,15 +691,27 @@ void Daily::Load(QDate date) //float p90=cpap->p90(CPAP_Pressure); //eap90=cpap->p90(CPAP_EPAP); //iap90=cpap->p90(CPAP_IPAP); - QString submodel=tr("Unknown Model"); + QString submodel; //=tr("Unknown Model"); //html+="