Apply smoothing between values in LineCursor graph values

This commit is contained in:
Mark Watkins 2014-07-29 15:19:10 +10:00
parent 439e0d742c
commit 97abbb4da2
3 changed files with 26 additions and 19 deletions

View File

@ -442,9 +442,7 @@ int IntellipapLoader::Open(QString path)
sess->AddEventList(CPAP_ExP, EVL_Event);
}
// for (int q = 0; q < m_buffer[pos + 0x5]; q++) {
sess->eventlist[CPAP_ExP][0]->AddEvent(time, m_buffer[pos + 0x5]);
// }
}
if (m_buffer[pos + 0x10] > 0) {
@ -452,9 +450,7 @@ int IntellipapLoader::Open(QString path)
sess->AddEventList(CPAP_Obstructive, EVL_Event);
}
// for (int q = 0; q < m_buffer[pos + 0x10]; q++) {
sess->eventlist[CPAP_Obstructive][0]->AddEvent(time, m_buffer[pos + 0x10]);
// }
}
if (m_buffer[pos + 0x11] > 0) {
@ -462,9 +458,7 @@ int IntellipapLoader::Open(QString path)
sess->AddEventList(CPAP_Hypopnea, EVL_Event);
}
// for (int q = 0; q < m_buffer[pos + 0x11]; q++) {
sess->eventlist[CPAP_Hypopnea][0]->AddEvent(time, m_buffer[pos + 0x11]);
// }
}
if (m_buffer[pos + 0x12] > 0) { // NRI // is this == to RERA?? CA??
@ -472,9 +466,7 @@ int IntellipapLoader::Open(QString path)
sess->AddEventList(CPAP_NRI, EVL_Event);
}
// for (int q = 0; q < m_buffer[pos + 0x12]; q++) {
sess->eventlist[CPAP_NRI][0]->AddEvent(time, m_buffer[pos + 0x12]);
// }
}
quint16 tv = (m_buffer[pos + 0x8] << 8) | m_buffer[pos + 0x9]; // correct

View File

@ -953,7 +953,7 @@ void Session::UpdateSummaries()
EventDataType Session::SearchValue(ChannelID code, qint64 time)
{
qint64 tt, start;
qint64 t1, t2, start;
QHash<ChannelID, QVector<EventList *> >::iterator it;
it = eventlist.find(code);
quint32 *tptr;
@ -963,6 +963,8 @@ EventDataType Session::SearchValue(ChannelID code, qint64 time)
int i=5;
}
EventDataType a,b,c,d,e;
double;
if (it != eventlist.end()) {
int el_size=it.value().size();
for (int i = 0; i < el_size; i++) {
@ -973,17 +975,30 @@ EventDataType Session::SearchValue(ChannelID code, qint64 time)
if (el->type() == EVL_Waveform) {
qint64 tt = time - el->first();
qint64 i = tt / el->rate();
int i = tt / el->rate();
return el->data(i);
} else {
start = el->first();
tptr = el->rawTime();
for (int j = 0; j < cnt-1; j++) {
for (int j = 0; j < cnt-1; ++j) {
tptr++;
tt = start + *tptr;
if (tt > time) {
return el->data(j);
t2 = start + *tptr;
if (t2 > time) {
tptr--;
t1 = start + *tptr;
c = EventDataType(t2 - t1);
d = EventDataType(t2 - time);
e = d/c;
a = el->data(j);
b = el->data(j+1);
if (a == b) {
return a;
} else { //if (a > b) {
return b + ((a-b) * e);
}// else { // a < b
// return a + ((b-a) * e);
//}
}
}
}

View File

@ -233,7 +233,7 @@ Overview::Overview(QWidget *parent, gGraphView *shared) :
//set->addSlice(PRS1_SysOneResistSet,COLOR_Gray,ST_SETAVG);
set->addSlice(CPAP_HumidSetting, COLOR_Blue, ST_SETWAVG);
set->addSlice(CPAP_PresReliefSet, COLOR_Red, ST_SETWAVG);
//set->addSlice(RMS9_EPRLevel,COLOR_Green,ST_SETWAVG);
set->addSlice(RMS9_EPRLevel,COLOR_Green,ST_SETWAVG);
//set->addSlice(INTP_SmartFlex,COLOR_Purple,ST_SETWAVG);
SET->AddLayer(set);