Commit Graph

2742 Commits

Author SHA1 Message Date
sawinglogz
264ff2f2fa Add comments to 900X parsing based on sample review and discussions. 2019-06-17 17:33:39 -04:00
Seeker4
d7cad5471f Minor tweaks to cell and row spacing to improve printed report. Negligible effect on screen view. 2019-06-16 15:30:39 -07:00
sawinglogz
a7f249218f Fix start time for 900X TB, PB, and LL.
It turns out OSCAR silently treats span events' timestamps as
and end time when drawing.
2019-06-15 21:45:58 -04:00
sawinglogz
4e5174343e First pass at 900X event parsing and clean up F5V3 pressure gain throughout.
This fixes the mask pressure graph as well as many of the events.
There are still some issues with presentation: some of the events are
being drawn at the wrong time, and certain events and statistics
don't really behave the way they're displayed.

Also several events have yet to be encountered in sample data.
2019-06-15 21:04:09 -04:00
Phil Olynyk
8b6d11f6f4 Merge branch 'master' into fix-cms50dplus 2019-06-15 19:11:06 -04:00
Seeker4
aabd97d537 Correct loss of previous changes. 2019-06-15 15:09:04 -07:00
Phil Olynyk
3f555177c4 Tweak the oximeter import ui for the CMS50D+ 2019-06-15 15:59:11 -04:00
Phil Olynyk
73a225556a Fix date and time handling for new CMS50Dplus model 2019-06-15 15:42:47 -04:00
Seeker4
41c7d43f7b Print Statistics report with pagination, larger font on landscape orientation. 2019-06-15 11:58:02 -07:00
Seeker4
aa8e3bd9e5 Partial code for printing in blocks of html. 2019-06-14 21:17:43 -07:00
sawinglogz
fcd7f8d463 Finish cleaning up 900X summary parsing.
There are still unknown values, but they'll need to be tracked down
after events are cleaned up. They no longer emit warnings.
2019-06-13 22:20:34 -04:00
sawinglogz
b1d76becab Fill in some 900X summary statistics values. 2019-06-13 21:29:43 -04:00
sawinglogz
2634aa0d16 Initial support for 900X summary.
Pressure settings are now properly being found and decoded, but there are lots
of unknown fields to figure out.

It turns out it uses the same humidifier setting encoding as F0V6, and the first
several slices seem to be the same. But pressure encodings are different, with
a gain of 0.125 instead of 0.1, presumably to allow for a maximum pressure of
30 cmH2O.
2019-06-13 20:31:21 -04:00
Phil Olynyk
589eec69ec Merge branch 'master' into fix-cms50dplus 2019-06-13 14:09:51 -04:00
Phil Olynyk
cef3827658 Merge branch 'master' into fix-linux-stats
Get all of sawinglogz PRS changes.
2019-06-13 13:41:09 -04:00
Phil Olynyk
917890e077 Fix errors in linux conditional code 2019-06-12 23:27:46 -04:00
sawinglogz
36c4277556 Merge branch 'master' into prs1-fixes 2019-06-12 22:31:07 -04:00
Seeker4
c1d73636a2 Merge branch 'master' into printing 2019-06-12 18:38:54 -07:00
Seeker4
6dfb8fda6e Change #ifdef Q_WS_X11 to Q_OS_LINUX. 2019-06-12 18:37:06 -07:00
sawinglogz
52fd3a46d3 Merge branch 'master' into prs1-fixes 2019-06-12 20:37:26 -04:00
sawinglogz
4527a7091d Clean up remaining DreamStation parsing warnings. 2019-06-12 20:37:04 -04:00
Seeker4
575b9a5372 More refactoring and re-organizing. 2019-06-12 13:32:22 -07:00
sawinglogz
d0903ce3bd Add initial support for DreamStation Auto-Trial and CPAP-Check modes.
This resolves many of the unexpected value warnings in the sample
data, but there are still a bunch to tackle.
2019-06-11 21:26:40 -04:00
Seeker4
a628e2a9ff Move statistics printing code from mainwindow.cpp to statistics.cpp. Abandon printing of Help subsystem pages. 2019-06-11 16:43:13 -07:00
Seeker4
a4abb7d5d6 Break monolithic statistics page html into separable components. 2019-06-11 11:34:00 -07:00
Seeker4
24258ea4e3 Correctly identify Climate setting as Auto or Manual in Machine Settings on Daily page. 2019-06-11 10:20:03 -07:00
Phil Olynyk
b6427de247 Add moule name to debug, force tab enable after import 2019-06-11 10:30:51 -04:00
Phil Olynyk
564d6a4784 Merge branch 'Seeker4/OSCAR-code-Statistics' into HEAD
Auto fast-forward failed at gitlab.com.
2019-06-11 10:10:44 -04:00
Seeker4
610c935191 Correct error in calculating number of periods in monthly report. 2019-06-11 06:28:34 -07:00
sawinglogz
99cbe89f3e Merge branch 'master' into prs1-fixes 2019-06-10 20:59:25 -04:00
sawinglogz
2383c11be2 Minor clean up of F0V6 summary parsing, fix GUI build bug. 2019-06-10 20:57:05 -04:00
sawinglogz
96815cb068 Add support for 700X summary data. 2019-06-10 20:30:05 -04:00
sawinglogz
4e8a6514ef Add support for 600X summary data. 2019-06-10 15:30:22 -04:00
sawinglogz
92f029a5f4 Add support for 502G summary data.
Not many changes, just some new unknown settings, and warning
when there's a 0-length slice.
2019-06-10 15:07:20 -04:00
sawinglogz
a66dd145b8 Add support for 500X summary data.
This one's slice 8 is shorter than anything else we've seen before!

Also add support for a new slice type and noted possible values
for other data, including a possible lead on the CPAP mode.
2019-06-10 14:30:50 -04:00
sawinglogz
2120289792 Add support for 400G summary data.
Interestingly, it looks like settings and other slices can be of
varying length, even on the same machine. Stranger still, sometimes
the list of possible slices can change on the same machine.
2019-06-08 21:36:51 -04:00
Phil Olynyk
d3c10ca745 Add shell file to fix UI files for old QT versions - uses sed (Linux only) 2019-06-08 17:48:36 -04:00
sawinglogz
08ad973a6a Wrap up of 400X summary for now.
Mostly this is commenting out warnings about values that are different
for every session. They can be sorted out later.

Humidifier status and tube temperature are cleaned up as well.
2019-06-08 14:45:57 -04:00
sawinglogz
2a82ee09d6 Refinement of 400X summary data.
Fixed a bug in the ramp pressure setting, identified the mask resistance
setting, and found the summary equivalent of the humidifier setting change
slice.
2019-06-08 14:21:54 -04:00
sawinglogz
e41515891b First pass at fixing 400X summary data.
This is mostly a cut-and-paste of the ParseComplianceF0V6,
but the some of the slice codes and sizes are different.

Also start adding machine names for tested models.
2019-06-07 22:05:52 -04:00
sawinglogz
c93932664c Use decimal session IDs for chunk YAML file names, add original file path to YAML. 2019-06-07 21:12:55 -04:00
sawinglogz
2ace7d3a6d First pass at PRS1 200X humidifier settings.
Some of the values still aren't known, and OSCAR doesn't yet define
a channel for heated tube temperature.
2019-06-07 16:40:26 -04:00
sawinglogz
250566f3f2 Refinement of 200X compliance data.
The new slice type appears when humidifier settings have changed during
the session, and includes a timestamp. The session time now matches
reports.

Otherwise just comments to indicate other values seen in the sample data,
including a lead on humidifier encoding.
2019-06-07 16:03:20 -04:00
sawinglogz
ff4ec4fdab Create slices for 200X compliance data, along with first confirmed settings.
There's a new slice type to be examined and additional settings remain
that vary within the sample data.
2019-06-07 14:32:53 -04:00
sawinglogz
ca23791414 First pass at 200X compliance data.
Lots of debug messages and unknown values, but the structure seems right.

This is largely based on a combination of the mainblock parsing for fileVersion 3
as found in ParseSummary() and the switch statements of ParseSummaryF0V6,
based on our understanding of slices from F0V23. The slice types here
come from sample 200X files.
2019-06-07 14:32:00 -04:00
Seeker4
c684eebca7 Change method of identifying the graphics engine currently in use. 2019-06-07 05:14:07 -07:00
Seeker4
b92502ac63 Make pointer to data directory in System Information message box be clickable to open the directory. 2019-06-07 05:00:23 -07:00
sawinglogz
7a00009a56 Add result of parsing/importing to PRS1 chunk and session YAML. 2019-06-06 16:50:40 -04:00
sawinglogz
330bdb6fb3 Split ParseCompliance into F0V23 and F0V6.
Also add some debug messages to FV3 parsing. It's clear the current
approach is wrong. This looks a lot like the slices seen earlier,
since hbdata values appear more than once in a given file.

Also turn off summary YAML since the next bit of work will focus on
parsing.
2019-06-06 16:08:40 -04:00
sawinglogz
ce38fbcdde Restore session end time to previous behavior, with better logging and documentation.
It turns out the session end time was intentionally not being set in ParseSummary,
probably due to its unreliability. This may be revisited once things are more
stable, but for now the old behavior is retained.
2019-06-05 17:08:45 -04:00