mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-21 21:20:45 +00:00
Some C++11 cleanups to importers, preparing for autoscanner/import wizard
This commit is contained in:
parent
e8fe6c7af0
commit
38d7aeb3fb
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -954,18 +954,19 @@ void gGraphView::updateScale()
|
|||||||
|
|
||||||
void gGraphView::updateScrollBar()
|
void gGraphView::updateScrollBar()
|
||||||
{
|
{
|
||||||
if (!m_scrollbar) { return; }
|
if (!m_scrollbar || (m_graphs.size() == 0)) {
|
||||||
|
return;
|
||||||
if (!m_graphs.size()) { return; }
|
}
|
||||||
|
|
||||||
float th = scaleHeight(); // height of all graphs
|
float th = scaleHeight(); // height of all graphs
|
||||||
float h = height(); // height of main widget
|
float h = height(); // height of main widget
|
||||||
|
|
||||||
float vis = 0;
|
float vis = 0;
|
||||||
|
|
||||||
for (int i = 0; i < m_graphs.size(); i++) { vis += m_graphs[i]->isEmpty() || (!m_graphs[i]->visible()) ? 0 : 1; }
|
for (int i = 0; i < m_graphs.size(); i++) {
|
||||||
|
vis += (m_graphs[i]->isEmpty() || !m_graphs[i]->visible()) ? 0 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
//vis+=1;
|
|
||||||
if (th < h) { // less graphs than fits on screen
|
if (th < h) { // less graphs than fits on screen
|
||||||
|
|
||||||
m_scrollbar->setMaximum(0); // turn scrollbar off.
|
m_scrollbar->setMaximum(0); // turn scrollbar off.
|
||||||
@ -1027,7 +1028,7 @@ void gGraphView::resizeGL(int w, int h)
|
|||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
}
|
}
|
||||||
|
|
||||||
void gGraphView::renderSomethingFun(float alpha)
|
void gGraphView::renderCube(float alpha)
|
||||||
{
|
{
|
||||||
if (cubeimg.size() == 0) { return; }
|
if (cubeimg.size() == 0) { return; }
|
||||||
|
|
||||||
@ -1366,55 +1367,51 @@ bool gGraphView::renderGraphs()
|
|||||||
|
|
||||||
//int thr=m_idealthreads;
|
//int thr=m_idealthreads;
|
||||||
#ifdef ENABLED_THREADED_DRAWING
|
#ifdef ENABLED_THREADED_DRAWING
|
||||||
|
if (threaded) {
|
||||||
|
for (int i = 0; i < m_idealthreads; i++) {
|
||||||
|
masterlock->acquire(1);
|
||||||
|
m_threads[i]->mutex.unlock();
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < m_idealthreads; i++) {
|
// wait till all the threads are done
|
||||||
masterlock->acquire(1);
|
// ask for all the CPU's back..
|
||||||
m_threads[i]->mutex.unlock();
|
masterlock->acquire(m_idealthreads);
|
||||||
}
|
masterlock->release(m_idealthreads);
|
||||||
|
} else {
|
||||||
// wait till all the threads are done
|
|
||||||
// ask for all the CPU's back..
|
|
||||||
masterlock->acquire(m_idealthreads);
|
|
||||||
masterlock->release(m_idealthreads);
|
|
||||||
|
|
||||||
}
|
|
||||||
else // just do it here
|
|
||||||
{
|
|
||||||
#endif
|
#endif
|
||||||
s = m_drawlist.size();
|
s = m_drawlist.size();
|
||||||
|
|
||||||
for (int i = 0; i < s; i++) {
|
for (int i = 0; i < s; i++) {
|
||||||
gGraph *g = m_drawlist.at(0);
|
gGraph *g = m_drawlist.at(0);
|
||||||
m_drawlist.pop_front();
|
m_drawlist.pop_front();
|
||||||
g->paint(g->m_rect.x(), g->m_rect.y(), g->m_rect.width(), g->m_rect.height());
|
g->paint(g->m_rect.x(), g->m_rect.y(), g->m_rect.width(), g->m_rect.height());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ENABLED_THREADED_DRAWING
|
#ifdef ENABLED_THREADED_DRAWING
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
//int elapsed=time.elapsed();
|
//int elapsed=time.elapsed();
|
||||||
//QColor col=Qt::black;
|
//QColor col=Qt::black;
|
||||||
|
|
||||||
|
|
||||||
backlines->draw();
|
backlines->draw();
|
||||||
|
|
||||||
for (int i = 0; i < m_graphs.size(); i++)
|
for (int i = 0; i < m_graphs.size(); i++)
|
||||||
{
|
{
|
||||||
m_graphs[i]->drawGLBuf();
|
m_graphs[i]->drawGLBuf();
|
||||||
}
|
}
|
||||||
|
|
||||||
quads->draw();
|
quads->draw();
|
||||||
lines->draw();
|
lines->draw();
|
||||||
|
|
||||||
|
|
||||||
// lines->setSize(linesize);
|
// lines->setSize(linesize);
|
||||||
|
|
||||||
// DrawTextQue();
|
// DrawTextQue();
|
||||||
//glDisable(GL_TEXTURE_2D);
|
//glDisable(GL_TEXTURE_2D);
|
||||||
//glDisable(GL_DEPTH_TEST);
|
//glDisable(GL_DEPTH_TEST);
|
||||||
|
|
||||||
return numgraphs > 0;
|
return numgraphs > 0;
|
||||||
}
|
}
|
||||||
void gGraphView::fadeOut()
|
void gGraphView::fadeOut()
|
||||||
{
|
{
|
||||||
@ -1605,7 +1602,7 @@ void gGraphView::paintGL()
|
|||||||
if (!m_inAnimation || (!m_fadingIn)) {
|
if (!m_inAnimation || (!m_fadingIn)) {
|
||||||
// Not in animation sequence, draw graphs like normal
|
// Not in animation sequence, draw graphs like normal
|
||||||
if (bereallyannoying) {
|
if (bereallyannoying) {
|
||||||
renderSomethingFun(0.7F);
|
renderCube(0.7F);
|
||||||
}
|
}
|
||||||
|
|
||||||
numgraphs = renderGraphs();
|
numgraphs = renderGraphs();
|
||||||
@ -1617,7 +1614,7 @@ void gGraphView::paintGL()
|
|||||||
|
|
||||||
if (something_fun && this->isVisible()) {// Do something fun instead
|
if (something_fun && this->isVisible()) {// Do something fun instead
|
||||||
if (!bereallyannoying) {
|
if (!bereallyannoying) {
|
||||||
renderSomethingFun();
|
renderCube();
|
||||||
}
|
}
|
||||||
|
|
||||||
tp = height() - (y / 2);
|
tp = height() - (y / 2);
|
||||||
|
@ -374,7 +374,8 @@ class gGraphView : public QGLWidget
|
|||||||
//! \brief Add Graph to drawing queue, mainly for the benefit of multithreaded drawing code
|
//! \brief Add Graph to drawing queue, mainly for the benefit of multithreaded drawing code
|
||||||
void queGraph(gGraph *, int originX, int originY, int width, int height);
|
void queGraph(gGraph *, int originX, int originY, int width, int height);
|
||||||
|
|
||||||
void renderSomethingFun(float alpha = 1);
|
//! \brief Render the annoying spinning graph empty cube
|
||||||
|
void renderCube(float alpha = 1);
|
||||||
|
|
||||||
Day *m_day;
|
Day *m_day;
|
||||||
|
|
||||||
|
@ -28,6 +28,9 @@ class CMS50Loader : public MachineLoader
|
|||||||
|
|
||||||
CMS50Loader();
|
CMS50Loader();
|
||||||
virtual ~CMS50Loader();
|
virtual ~CMS50Loader();
|
||||||
|
|
||||||
|
virtual bool Detect(const QString &path) { Q_UNUSED(path); return false; } // bypass autoscanner
|
||||||
|
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
static void Register();
|
static void Register();
|
||||||
|
|
||||||
|
@ -899,6 +899,12 @@ Machine *FPIconLoader::CreateMachine(QString serial, Profile *profile)
|
|||||||
return m;
|
return m;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool FPIconLoader::Detect(const QString & path)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool fpicon_initialized = false;
|
bool fpicon_initialized = false;
|
||||||
void FPIconLoader::Register()
|
void FPIconLoader::Register()
|
||||||
{
|
{
|
||||||
|
@ -54,6 +54,9 @@ class FPIconLoader : public MachineLoader
|
|||||||
FPIconLoader();
|
FPIconLoader();
|
||||||
virtual ~FPIconLoader();
|
virtual ~FPIconLoader();
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid Folder structure
|
||||||
|
virtual bool Detect(const QString & path);
|
||||||
|
|
||||||
//! \brief Scans path for F&P Icon data signature, and Loads any new data
|
//! \brief Scans path for F&P Icon data signature, and Loads any new data
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
|
|
||||||
|
@ -36,6 +36,11 @@ IntellipapLoader::~IntellipapLoader()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IntellipapLoader::Detect(const QString & path)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
int IntellipapLoader::Open(QString &path, Profile *profile)
|
int IntellipapLoader::Open(QString &path, Profile *profile)
|
||||||
{
|
{
|
||||||
// Check for SL directory
|
// Check for SL directory
|
||||||
@ -66,46 +71,48 @@ int IntellipapLoader::Open(QString &path, Profile *profile)
|
|||||||
f.open(QFile::ReadOnly);
|
f.open(QFile::ReadOnly);
|
||||||
QTextStream tstream(&f);
|
QTextStream tstream(&f);
|
||||||
|
|
||||||
QHash<QString, QString> lookup;
|
QHash<QString, QString> lookup = {
|
||||||
lookup["Sn"] = STR_PROP_Serial;
|
{"Sn", STR_PROP_Serial },
|
||||||
lookup["Mn"] = STR_PROP_ModelNumber;
|
{"Mn", STR_PROP_ModelNumber },
|
||||||
lookup["Mo"] = "PAPMode"; // 0=cpap, 1=auto
|
{"Mo", "PAPMode" }, // 0 cpap, 1 auto
|
||||||
//lookup["Pn"]="Pn";
|
//{"Pn", "??" },
|
||||||
lookup["Pu"] = "MaxPressure";
|
{"Pu", "MaxPressure" },
|
||||||
lookup["Pl"] = "MinPressure";
|
{"Pl", "MaxPressure" },
|
||||||
//lookup["Ds"]="Ds";
|
//{"Ds", "??" },
|
||||||
//lookup["Pc"]="Pc";
|
//{"Pc", "??" },
|
||||||
lookup["Pd"] = "RampPressure"; // Delay Pressure
|
{"Pd", "RampPressure" }, // Pressure Delay
|
||||||
lookup["Dt"] = "RampTime"; // Delay Time
|
{"Dt", "RampTime" },
|
||||||
//lookup["Ld"]="Ld";
|
//{"Ld", "??" },
|
||||||
//lookup["Lh"]="Lh";
|
//{"Lh", "??" },
|
||||||
//lookup["FC"]="FC";
|
//{"FC", "??" },
|
||||||
//lookup["FE"]="FE";
|
//{"FE", "??" },
|
||||||
//lookup["FL"]="FL";
|
//{"FL", "??" },
|
||||||
lookup["A%"] = "ApneaThreshold";
|
{"A%", "ApneaThreshold" },
|
||||||
lookup["Ad"] = "ApneaDuration";
|
{"Ad", "ApneaDuration" },
|
||||||
lookup["H%"] = "HypopneaThreshold";
|
{"H%", "HypopneaThreshold" },
|
||||||
lookup["Hd"] = "HypopneaDuration";
|
{"Hd", "HypopneaDuration" },
|
||||||
//lookup["Pi"]="Pi"; //080
|
//{"Pi", "??" },
|
||||||
//lookup["Pe"]="Pe"; //WF
|
//{"Pe", "??" },
|
||||||
lookup["Ri"] = "SmartFlexIRnd"; // Inhale Rounding (0-5)
|
{"Ri", "SmartFlexIRnd" }, // Inhale Rounding (0-5)
|
||||||
lookup["Re"] = "SmartFlexERnd"; // Exhale Rounding (0-5)
|
{"Re", "SmartFlexERnd" }, // Inhale Rounding (0-5)
|
||||||
//lookup["Bu"]="Bu"; //WF
|
//{"Bu", "??" }, // WF
|
||||||
//lookup["Ie"]="Ie"; //20
|
//{"Ie", "??" }, // 20
|
||||||
//lookup["Se"]="Se"; //05
|
//{"Se", "??" }, // 05
|
||||||
//lookup["Si"]="Si"; //05
|
//{"Si", "??" }, // 05
|
||||||
//lookup["Mi"]="Mi"; //0
|
//{"Mi", "??" }, // 0
|
||||||
lookup["Uh"] = "HoursMeter"; //0000.0
|
{"Uh", "HoursMeter"}, // 0000.0
|
||||||
lookup["Up"] = "ComplianceMeter"; //0000.0
|
{"Up", "ComplianceMeter"}, // 0000.00
|
||||||
//lookup["Er"]="ErrorCode"; // E00
|
//{"Er", "ErrorCode"}, // E00
|
||||||
//lookup["El"]="LastErrorCode"; // E00 00/00/0000
|
//{"El", "LastErrorCode"}, // E00 00/00/0000
|
||||||
//lookup["Hp"]="Hp"; //1
|
//{"Hp", "??"}, // 1
|
||||||
//lookup["Hs"]="Hs"; //02
|
//{"Hs", "??"}, // 02
|
||||||
//lookup["Lu"]="LowUseThreshold"; // defaults to 0 (4 hours)
|
//{"Lu", "LowUseThreshold"}, // defaults to 0 (4 hours)
|
||||||
lookup["Sf"] = "SmartFlex";
|
{"Sf", "SmartFlex"},
|
||||||
lookup["Sm"] = "SmartFlexMode";
|
{"Sm", "SmartFlexMode"},
|
||||||
lookup["Ks=s"] = "Ks_s";
|
{"Ks=s", "Ks_s"},
|
||||||
lookup["Ks=i"] = "Ks_i";
|
{"Ks=i", "ks_i"}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
QHash<QString, QString> set1;
|
QHash<QString, QString> set1;
|
||||||
QHash<QString, QString>::iterator hi;
|
QHash<QString, QString>::iterator hi;
|
||||||
|
@ -51,6 +51,10 @@ class IntellipapLoader : public MachineLoader
|
|||||||
public:
|
public:
|
||||||
IntellipapLoader();
|
IntellipapLoader();
|
||||||
virtual ~IntellipapLoader();
|
virtual ~IntellipapLoader();
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid Folder structure
|
||||||
|
virtual bool Detect(const QString & path);
|
||||||
|
|
||||||
//! \brief Scans path for Intellipap data signature, and Loads any new data
|
//! \brief Scans path for Intellipap data signature, and Loads any new data
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
|
|
||||||
|
@ -47,6 +47,9 @@ class MSeriesLoader : public MachineLoader
|
|||||||
MSeriesLoader();
|
MSeriesLoader();
|
||||||
virtual ~MSeriesLoader();
|
virtual ~MSeriesLoader();
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid Folder structure
|
||||||
|
virtual bool Detect(const QString & path) { Q_UNUSED(path); return false; }
|
||||||
|
|
||||||
//! \brief Opens M-Series block device
|
//! \brief Opens M-Series block device
|
||||||
virtual int Open(QString &file, Profile *profile);
|
virtual int Open(QString &file, Profile *profile);
|
||||||
|
|
||||||
|
@ -1795,6 +1795,12 @@ bool PRS1Loader::OpenWaveforms(SessionID sid, QString filename)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool PRS1Loader::Detect(const QString & path)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
void InitModelMap()
|
void InitModelMap()
|
||||||
{
|
{
|
||||||
ModelMap[0x34] = "RemStar Pro with C-Flex+";
|
ModelMap[0x34] = "RemStar Pro with C-Flex+";
|
||||||
|
@ -51,6 +51,10 @@ class PRS1Loader : public MachineLoader
|
|||||||
public:
|
public:
|
||||||
PRS1Loader();
|
PRS1Loader();
|
||||||
virtual ~PRS1Loader();
|
virtual ~PRS1Loader();
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid Folder structure
|
||||||
|
virtual bool Detect(const QString & path);
|
||||||
|
|
||||||
//! \brief Scans directory path for valid PRS1 signature
|
//! \brief Scans directory path for valid PRS1 signature
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
|
|
||||||
|
@ -2367,6 +2367,12 @@ bool ResmedLoader::LoadPLD(Session *sess, EDFParser &edf)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ResmedLoader::Detect(const QString & path)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const QString RMS9_STR_Escape = "S9 Escape";
|
const QString RMS9_STR_Escape = "S9 Escape";
|
||||||
const QString RMS9_STR_EscapeAuto = "S9 Escape Auto";
|
const QString RMS9_STR_EscapeAuto = "S9 Escape Auto";
|
||||||
const QString RMS9_STR_Elite = "S9 Elite";
|
const QString RMS9_STR_Elite = "S9 Elite";
|
||||||
@ -2385,40 +2391,40 @@ void ResInitModelMap()
|
|||||||
{
|
{
|
||||||
// Escape Series
|
// Escape Series
|
||||||
RMS9ModelMap[36001] = RMS9ModelMap[36011] = RMS9ModelMap[36021] = RMS9ModelMap[36141] =
|
RMS9ModelMap[36001] = RMS9ModelMap[36011] = RMS9ModelMap[36021] = RMS9ModelMap[36141] =
|
||||||
RMS9ModelMap[36201] = RMS9ModelMap[36221] = RMS9ModelMap[36261] = RMS9ModelMap[36301] =
|
RMS9ModelMap[36201] = RMS9ModelMap[36221] = RMS9ModelMap[36261] = RMS9ModelMap[36301] =
|
||||||
RMS9ModelMap[36361] = RMS9_STR_Escape;
|
RMS9ModelMap[36361] = RMS9_STR_Escape;
|
||||||
|
|
||||||
// Escape Auto Series
|
// Escape Auto Series
|
||||||
RMS9ModelMap[36002] = RMS9ModelMap[36012] = RMS9ModelMap[36022] = RMS9ModelMap[36302] =
|
RMS9ModelMap[36002] = RMS9ModelMap[36012] = RMS9ModelMap[36022] = RMS9ModelMap[36302] =
|
||||||
RMS9ModelMap[36362] = RMS9_STR_EscapeAuto;
|
RMS9ModelMap[36362] = RMS9_STR_EscapeAuto;
|
||||||
|
|
||||||
// Elite Series
|
// Elite Series
|
||||||
RMS9ModelMap[36003] = RMS9ModelMap[36013] = RMS9ModelMap[36023] = RMS9ModelMap[36103] =
|
RMS9ModelMap[36003] = RMS9ModelMap[36013] = RMS9ModelMap[36023] = RMS9ModelMap[36103] =
|
||||||
RMS9ModelMap[36113] = RMS9ModelMap[36123] = RMS9ModelMap[36143] = RMS9ModelMap[36203] =
|
RMS9ModelMap[36113] = RMS9ModelMap[36123] = RMS9ModelMap[36143] = RMS9ModelMap[36203] =
|
||||||
RMS9ModelMap[36223] = RMS9ModelMap[36243] = RMS9ModelMap[36263] = RMS9ModelMap[36303] =
|
RMS9ModelMap[36223] = RMS9ModelMap[36243] = RMS9ModelMap[36263] = RMS9ModelMap[36303] =
|
||||||
RMS9ModelMap[36343] = RMS9ModelMap[36363] = RMS9_STR_Elite;
|
RMS9ModelMap[36343] = RMS9ModelMap[36363] = RMS9_STR_Elite;
|
||||||
|
|
||||||
// AutoSet Series
|
// AutoSet Series
|
||||||
RMS9ModelMap[36005] = RMS9ModelMap[36015] = RMS9ModelMap[36025] = RMS9ModelMap[36105] =
|
RMS9ModelMap[36005] = RMS9ModelMap[36015] = RMS9ModelMap[36025] = RMS9ModelMap[36105] =
|
||||||
RMS9ModelMap[36115] = RMS9ModelMap[36125] = RMS9ModelMap[36145] = RMS9ModelMap[36205] =
|
RMS9ModelMap[36115] = RMS9ModelMap[36125] = RMS9ModelMap[36145] = RMS9ModelMap[36205] =
|
||||||
RMS9ModelMap[36225] = RMS9ModelMap[36245] = RMS9ModelMap[36265] = RMS9ModelMap[36305] =
|
RMS9ModelMap[36225] = RMS9ModelMap[36245] = RMS9ModelMap[36265] = RMS9ModelMap[36305] =
|
||||||
RMS9ModelMap[36325] = RMS9ModelMap[36345] = RMS9ModelMap[36365] = RMS9_STR_AutoSet;
|
RMS9ModelMap[36325] = RMS9ModelMap[36345] = RMS9ModelMap[36365] = RMS9_STR_AutoSet;
|
||||||
|
|
||||||
// AutoSet CS Series
|
// AutoSet CS Series
|
||||||
RMS9ModelMap[36100] = RMS9ModelMap[36110] = RMS9ModelMap[36120] = RMS9ModelMap[36140] =
|
RMS9ModelMap[36100] = RMS9ModelMap[36110] = RMS9ModelMap[36120] = RMS9ModelMap[36140] =
|
||||||
RMS9ModelMap[36200] = RMS9ModelMap[36220] = RMS9ModelMap[36360] = RMS9_STR_AutoSetCS;
|
RMS9ModelMap[36200] = RMS9ModelMap[36220] = RMS9ModelMap[36360] = RMS9_STR_AutoSetCS;
|
||||||
|
|
||||||
// AutoSet 25 Series
|
// AutoSet 25 Series
|
||||||
RMS9ModelMap[36106] = RMS9ModelMap[36116] = RMS9ModelMap[36126] = RMS9ModelMap[36146] =
|
RMS9ModelMap[36106] = RMS9ModelMap[36116] = RMS9ModelMap[36126] = RMS9ModelMap[36146] =
|
||||||
RMS9ModelMap[36206] = RMS9ModelMap[36226] = RMS9ModelMap[36366] = RMS9_STR_AutoSet25;
|
RMS9ModelMap[36206] = RMS9ModelMap[36226] = RMS9ModelMap[36366] = RMS9_STR_AutoSet25;
|
||||||
|
|
||||||
// Girly "For Her" AutoSet Series
|
// Girly "For Her" AutoSet Series
|
||||||
RMS9ModelMap[36065] = RMS9_STR_AutoSetForHer;
|
RMS9ModelMap[36065] = RMS9_STR_AutoSetForHer;
|
||||||
|
|
||||||
// VPAP S Series (+H5i +Climate Control)
|
// VPAP S Series (+H5i +Climate Control)
|
||||||
RMS9ModelMap[36004] = RMS9ModelMap[36014] = RMS9ModelMap[36024] = RMS9ModelMap[36114] =
|
RMS9ModelMap[36004] = RMS9ModelMap[36014] = RMS9ModelMap[36024] = RMS9ModelMap[36114] =
|
||||||
RMS9ModelMap[36124] = RMS9ModelMap[36144] = RMS9ModelMap[36204] = RMS9ModelMap[36224] =
|
RMS9ModelMap[36124] = RMS9ModelMap[36144] = RMS9ModelMap[36204] = RMS9ModelMap[36224] =
|
||||||
RMS9ModelMap[36284] = RMS9ModelMap[36304] = RMS9_STR_VPAP_S;
|
RMS9ModelMap[36284] = RMS9ModelMap[36304] = RMS9_STR_VPAP_S;
|
||||||
|
|
||||||
// VPAP Auto Series (+H5i +Climate Control)
|
// VPAP Auto Series (+H5i +Climate Control)
|
||||||
RMS9ModelMap[36006] = RMS9ModelMap[36016] = RMS9ModelMap[36026] = RMS9_STR_VPAP_Auto;
|
RMS9ModelMap[36006] = RMS9ModelMap[36016] = RMS9ModelMap[36026] = RMS9_STR_VPAP_Auto;
|
||||||
@ -2427,19 +2433,19 @@ void ResInitModelMap()
|
|||||||
// VPAP Adapt Series (+H5i +Climate Control)
|
// VPAP Adapt Series (+H5i +Climate Control)
|
||||||
// Trev's 36037 supports variable EPAP...
|
// Trev's 36037 supports variable EPAP...
|
||||||
RMS9ModelMap[36037] = RMS9ModelMap[36007] = RMS9ModelMap[36017] = RMS9ModelMap[36027] =
|
RMS9ModelMap[36037] = RMS9ModelMap[36007] = RMS9ModelMap[36017] = RMS9ModelMap[36027] =
|
||||||
RMS9ModelMap[36367] = RMS9_STR_VPAP_Adapt;
|
RMS9ModelMap[36367] = RMS9_STR_VPAP_Adapt;
|
||||||
|
|
||||||
// VPAP ST Series (+H5i +Climate Control)
|
// VPAP ST Series (+H5i +Climate Control)
|
||||||
RMS9ModelMap[36008] = RMS9ModelMap[36018] = RMS9ModelMap[36028] = RMS9ModelMap[36108] =
|
RMS9ModelMap[36008] = RMS9ModelMap[36018] = RMS9ModelMap[36028] = RMS9ModelMap[36108] =
|
||||||
RMS9ModelMap[36148] = RMS9ModelMap[36208] = RMS9ModelMap[36228] = RMS9ModelMap[36368] =
|
RMS9ModelMap[36148] = RMS9ModelMap[36208] = RMS9ModelMap[36228] = RMS9ModelMap[36368] =
|
||||||
RMS9_STR_VPAP_ST;
|
RMS9_STR_VPAP_ST;
|
||||||
|
|
||||||
// VPAP ST 22 Series
|
// VPAP ST 22 Series
|
||||||
RMS9ModelMap[36118] = RMS9ModelMap[36128] = RMS9_STR_VPAP_ST22;
|
RMS9ModelMap[36118] = RMS9ModelMap[36128] = RMS9_STR_VPAP_ST22;
|
||||||
|
|
||||||
// VPAP ST-A Series
|
// VPAP ST-A Series
|
||||||
RMS9ModelMap[36039] = RMS9ModelMap[36159] = RMS9ModelMap[36169] = RMS9ModelMap[36379] =
|
RMS9ModelMap[36039] = RMS9ModelMap[36159] = RMS9ModelMap[36169] = RMS9ModelMap[36379] =
|
||||||
RMS9_STR_VPAP_STA;
|
RMS9_STR_VPAP_STA;
|
||||||
|
|
||||||
|
|
||||||
// 36003, 36013, 36023, 36103, 36113, 36123, 36143, 36203,
|
// 36003, 36013, 36023, 36103, 36113, 36123, 36143, 36203,
|
||||||
@ -2495,86 +2501,111 @@ void ResInitModelMap()
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
// Translation lookup table for non-english machines
|
// Translation lookup table for non-english machines
|
||||||
resmed_codes[CPAP_FlowRate].push_back("Flow");
|
////////////////////////////////////////////////////////////////////////////
|
||||||
resmed_codes[CPAP_MaskPressureHi].push_back("Mask Pres");
|
|
||||||
resmed_codes[CPAP_MaskPressureHi].push_back("Mask Pressure"); // vpap
|
|
||||||
resmed_codes[CPAP_RespEvent].push_back("Resp Event");
|
|
||||||
|
|
||||||
resmed_codes[CPAP_MaskPressure].push_back("Mask Pres");
|
resmed_codes[CPAP_FlowRate] = {"Flow"};
|
||||||
resmed_codes[CPAP_MaskPressure].push_back("Mask Pressure"); // vpap
|
|
||||||
|
|
||||||
resmed_codes[CPAP_Pressure].push_back("Therapy Pres"); // not on vpap
|
resmed_codes[CPAP_MaskPressureHi] = {
|
||||||
resmed_codes[CPAP_IPAP].push_back("Insp Pressure"); // on vpap
|
"Mask Pres",
|
||||||
|
"Mask Pressure" // VPAP
|
||||||
|
};
|
||||||
|
resmed_codes[CPAP_MaskPressure] = {
|
||||||
|
"Mask Pres",
|
||||||
|
"Mask Pressure" // VPAP
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[CPAP_EPAP].push_back("Exp Press");
|
resmed_codes[CPAP_RespEvent] = {"Resp Event"};
|
||||||
resmed_codes[CPAP_EPAP].push_back("Exp Pressure"); // vpap
|
resmed_codes[CPAP_Pressure] = {"Therapy Pres"};
|
||||||
|
resmed_codes[CPAP_IPAP] = {"Insp Pressure"};
|
||||||
|
resmed_codes[CPAP_EPAP] = {"Exp Press", "Exp Pressure"};
|
||||||
|
|
||||||
resmed_codes[CPAP_Leak].push_back("Leak");
|
resmed_codes[CPAP_Leak] = {
|
||||||
resmed_codes[CPAP_Leak].push_back("Leck.");
|
"Leak",
|
||||||
resmed_codes[CPAP_Leak].push_back("Läcka");
|
"Leck.",
|
||||||
|
"Läcka"
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[CPAP_RespRate].push_back("RR");
|
resmed_codes[CPAP_RespRate] = {
|
||||||
resmed_codes[CPAP_RespRate].push_back("AF");
|
"RR",
|
||||||
resmed_codes[CPAP_RespRate].push_back("FR");
|
"AF",
|
||||||
|
"FR"
|
||||||
|
};
|
||||||
|
resmed_codes[CPAP_TidalVolume] = {
|
||||||
|
"Vt",
|
||||||
|
"VC",
|
||||||
|
};
|
||||||
|
resmed_codes[CPAP_MinuteVent] = {
|
||||||
|
"MV",
|
||||||
|
"VM"
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[CPAP_TidalVolume].push_back("Vt");
|
resmed_codes[CPAP_IE] = {"I:E"};
|
||||||
resmed_codes[CPAP_TidalVolume].push_back("VC");
|
resmed_codes[CPAP_Snore] = {"Snore Index"};
|
||||||
|
resmed_codes[CPAP_FLG] = {"FFL Index"};
|
||||||
|
resmed_codes[CPAP_RespEvent] = {"RE"};
|
||||||
|
resmed_codes[CPAP_Ti] = {"Ti"};
|
||||||
|
resmed_codes[CPAP_Te] = {"Te"};
|
||||||
|
|
||||||
resmed_codes[CPAP_MinuteVent].push_back("MV");
|
// SAD (oximetry)
|
||||||
resmed_codes[CPAP_MinuteVent].push_back("VM");
|
|
||||||
|
|
||||||
resmed_codes[CPAP_IE].push_back("I:E"); // vpap
|
resmed_codes[OXI_Pulse] = {
|
||||||
resmed_codes[CPAP_Snore].push_back("Snore Index");
|
"Pulse",
|
||||||
resmed_codes[CPAP_FLG].push_back("FFL Index");
|
"Puls", // German & Swedish
|
||||||
|
"Pols", // Dutch
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[CPAP_RespEvent].push_back("RE");
|
resmed_codes[OXI_SPO2] = {"SpO2"};
|
||||||
resmed_codes[CPAP_Ti].push_back("Ti");
|
|
||||||
resmed_codes[CPAP_Te].push_back("Te");
|
|
||||||
|
|
||||||
// Sad (oximetry)
|
|
||||||
resmed_codes[OXI_Pulse].push_back("Pulse");
|
|
||||||
resmed_codes[OXI_Pulse].push_back("Puls"); // German & Swedish
|
|
||||||
resmed_codes[OXI_Pulse].push_back("Pols"); // Dutch
|
|
||||||
resmed_codes[OXI_SPO2].push_back("SpO2");
|
|
||||||
|
|
||||||
// Event annotations
|
// Event annotations
|
||||||
resmed_codes[CPAP_Obstructive].push_back("Obstructive apnea");
|
resmed_codes[CPAP_Obstructive] = {"Obstructive apnea"};
|
||||||
resmed_codes[CPAP_Hypopnea].push_back("Hypopnea");
|
resmed_codes[CPAP_Hypopnea] = {"Hypopnea"};
|
||||||
resmed_codes[CPAP_Apnea].push_back("Apnea");
|
resmed_codes[CPAP_Apnea] = {"Apnea"};
|
||||||
resmed_codes[CPAP_ClearAirway].push_back("Central apnea");
|
resmed_codes[CPAP_ClearAirway] = {"Central apnea"};
|
||||||
|
|
||||||
resmed_codes[CPAP_Mode].push_back("Mode");
|
resmed_codes[CPAP_Mode] = {
|
||||||
resmed_codes[CPAP_Mode].push_back("Modus"); // Dutch & German
|
"Mode",
|
||||||
resmed_codes[CPAP_Mode].push_back("Funktion"); // Swedish
|
"Modus", // Dutch & German
|
||||||
|
"Funktion", // Swedish
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Eingest. Druck"); // German
|
resmed_codes[RMS9_SetPressure] = {
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Ingestelde druk"); // Dutch
|
"Set Pressure", // English - Prescription
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Set Pressure"); // English - Prescription
|
"Eingest. Druck", // German
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Pres. prescrite"); // French
|
"Ingestelde druk", // Dutch
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Inställt tryck"); // Swedish
|
"Pres. prescrite", // French
|
||||||
resmed_codes[RMS9_SetPressure].push_back("Inställt tryck"); // Swedish, QT5.2
|
"Inställt tryck", // Swedish
|
||||||
|
"Inställt tryck", // Swedish, QT5.2
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[RMS9_EPR].push_back("EPR");
|
resmed_codes[RMS9_EPR] = {"EPR"};
|
||||||
|
|
||||||
resmed_codes[RMS9_EPRSet].push_back("EPR Level");
|
resmed_codes[RMS9_EPRSet] = {
|
||||||
resmed_codes[RMS9_EPRSet].push_back("EPR-Stufe"); // French
|
"EPR Level",
|
||||||
resmed_codes[RMS9_EPRSet].push_back("EPR-niveau"); // Dutch
|
"EPR-Stufe", // French
|
||||||
resmed_codes[RMS9_EPRSet].push_back("Niveau EPR"); // German
|
"EPR-niveau", // Dutch
|
||||||
resmed_codes[RMS9_EPRSet].push_back("EPR-nivå"); // Swedish
|
"Niveau EPR", // German
|
||||||
resmed_codes[RMS9_EPRSet].push_back("EPR-nivå"); // Swedish, QT5.2
|
"EPR-nivå", // Swedish
|
||||||
|
"EPR-nivå", // Swedish, QT5.2
|
||||||
|
};
|
||||||
|
|
||||||
resmed_codes[CPAP_PressureMax].push_back("Max Pressure");
|
|
||||||
resmed_codes[CPAP_PressureMax].push_back("Max. Druck"); // German
|
|
||||||
resmed_codes[CPAP_PressureMax].push_back("Max druk"); // Dutch
|
|
||||||
resmed_codes[CPAP_PressureMax].push_back("Pression max."); // French
|
|
||||||
resmed_codes[CPAP_PressureMax].push_back("Max tryck"); // Swedish
|
|
||||||
|
|
||||||
resmed_codes[CPAP_PressureMin].push_back("Min Pressure");
|
resmed_codes[CPAP_PressureMax] = {
|
||||||
resmed_codes[CPAP_PressureMin].push_back("Min. Druck"); // German
|
"Max Pressure",
|
||||||
resmed_codes[CPAP_PressureMin].push_back("Min druk"); // Dutch
|
"Max. Druck", // German
|
||||||
resmed_codes[CPAP_PressureMin].push_back("Pression min."); // French
|
"Max druk", // Dutch
|
||||||
resmed_codes[CPAP_PressureMin].push_back("Min tryck"); // Swedish
|
"Pression max.", // French
|
||||||
|
"Max tryck", // Swedish
|
||||||
|
};
|
||||||
|
|
||||||
|
resmed_codes[CPAP_PressureMin] = {
|
||||||
|
"Min Pressure",
|
||||||
|
"Min. Druck", // German
|
||||||
|
"Min druk", // Dutch
|
||||||
|
"Pression min.", // French
|
||||||
|
"Min tryck", // Swedish
|
||||||
|
};
|
||||||
|
|
||||||
// STR.edf
|
// STR.edf
|
||||||
}
|
}
|
||||||
|
@ -180,6 +180,9 @@ class ResmedLoader : public MachineLoader
|
|||||||
ResmedLoader();
|
ResmedLoader();
|
||||||
virtual ~ResmedLoader();
|
virtual ~ResmedLoader();
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid Folder structure
|
||||||
|
virtual bool Detect(const QString & path);
|
||||||
|
|
||||||
//! \brief Scans for S9 SD folder structure signature, and loads any new data if found
|
//! \brief Scans for S9 SD folder structure signature, and loads any new data if found
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ class SomnoposeLoader : public MachineLoader
|
|||||||
public:
|
public:
|
||||||
SomnoposeLoader();
|
SomnoposeLoader();
|
||||||
virtual ~SomnoposeLoader();
|
virtual ~SomnoposeLoader();
|
||||||
|
virtual bool Detect(const QString &path) { Q_UNUSED(path); return false; } // bypass autoscanner
|
||||||
|
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
virtual int OpenFile(QString filename);
|
virtual int OpenFile(QString filename);
|
||||||
static void Register();
|
static void Register();
|
||||||
|
@ -26,6 +26,8 @@ class ZEOLoader : public MachineLoader
|
|||||||
public:
|
public:
|
||||||
ZEOLoader();
|
ZEOLoader();
|
||||||
virtual ~ZEOLoader();
|
virtual ~ZEOLoader();
|
||||||
|
virtual bool Detect(const QString &path) { Q_UNUSED(path); return false; } // bypass autoscanner
|
||||||
|
|
||||||
virtual int Open(QString &path, Profile *profile);
|
virtual int Open(QString &path, Profile *profile);
|
||||||
virtual int OpenFile(QString filename);
|
virtual int OpenFile(QString filename);
|
||||||
static void Register();
|
static void Register();
|
||||||
|
@ -28,7 +28,7 @@ void RegisterLoader(MachineLoader *loader)
|
|||||||
}
|
}
|
||||||
void DestroyLoaders()
|
void DestroyLoaders()
|
||||||
{
|
{
|
||||||
for (QList<MachineLoader *>::iterator i = m_loaders.begin(); i != m_loaders.end(); i++) {
|
for (auto i = m_loaders.begin(); i != m_loaders.end(); i++) {
|
||||||
delete(*i);
|
delete(*i);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -41,7 +41,7 @@ MachineLoader::MachineLoader()
|
|||||||
|
|
||||||
MachineLoader::~MachineLoader()
|
MachineLoader::~MachineLoader()
|
||||||
{
|
{
|
||||||
for (QList<Machine *>::iterator m = m_machlist.begin(); m != m_machlist.end(); m++) {
|
for (auto m = m_machlist.begin(); m != m_machlist.end(); m++) {
|
||||||
delete *m;
|
delete *m;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,9 @@ class MachineLoader
|
|||||||
|
|
||||||
//virtual Machine * CreateMachine() {};
|
//virtual Machine * CreateMachine() {};
|
||||||
|
|
||||||
|
//! \brief Detect if the given path contains a valid folder structure
|
||||||
|
virtual bool Detect(const QString & path) = 0;
|
||||||
|
|
||||||
//! \brief Override this to scan path and detect new machine data
|
//! \brief Override this to scan path and detect new machine data
|
||||||
virtual int Open(QString &path, Profile *) = 0; // Scans for new content
|
virtual int Open(QString &path, Profile *) = 0; // Scans for new content
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user