Commit Graph

3346 Commits

Author SHA1 Message Date
sawinglogz
f7f1ddfcbd Update version logic to drive entirely from defined string rather than individual components. 2020-01-15 19:27:03 -05:00
sawinglogz
93b9007f67 Remove old version comparison code. 2020-01-15 17:15:24 -05:00
sawinglogz
d7fade5f4c Add Version class for Semantic Versioning 2.0.0 parsing and comparison.
Also add unit tests for the new class.
2020-01-15 17:00:21 -05:00
sawinglogz
d898581ca4 Remove version.h dependency from appsettings.h to reduce unnecessary recompiling. 2020-01-15 16:34:28 -05:00
sawinglogz
fb32e16c96 Clean up version.h interface and reduce duplcate code.
Only minor cosmetic changes in how the version is displayed in
certain places.
2020-01-15 13:18:00 -05:00
sawinglogz
6f194507a8 Move version-related code into version.cpp. 2020-01-13 18:41:24 -05:00
sawinglogz
097362dfa1 Move version constants out of header file into new cpp file. 2020-01-13 18:41:24 -05:00
sawinglogz
cb036c4497 Remove some redundant hard-coding in daily settings view. 2020-01-12 20:17:07 -05:00
sawinglogz
787a6ed128 Fix PRS1 humidifer settings labels.
For this to be visible, the user needs to reset their channel
preferences to defaults. (This general limitation is logged as
an issue in Mantis.)
2020-01-12 20:13:21 -05:00
sawinglogz
46a81cd804 Fix PRS1 F5V01 flex parsing and add logging for F5V2.
Pre-DreamStation ASV flex settings should now be correct.
2020-01-12 19:34:51 -05:00
sawinglogz
2d3d5453b9 Update PRS1 flex parser for F0V234 based on remaining sample data.
Minimal changes, it was already mostly right.
2020-01-12 17:27:12 -05:00
sawinglogz
7909a26ab6 Split ParseFlexSetting into F0V234 and F5V012 versions, begin rewrite based on initial sample data.
These were incorrectly merged, resulting in convoluted logic and
occasionally incorrect results.  ASV is still very much a work in
progress.
2020-01-12 16:53:43 -05:00
sawinglogz
3b1d3028ff Document a few lingering PRS1 humidification samples. 2020-01-11 19:23:43 -05:00
sawinglogz
9edfd59476 Fix PRS1 humidity import.
Previously it was reporting spurious information when the humidifier was
disconnected.  Now it only reports settings details when the humidifier is
connected (the only time they're valid.)

It also now reports the humidification mode (fixed, adaptive, or heated
tube), and the heated tube temperature when appropriate.
2020-01-11 19:14:01 -05:00
sawinglogz
b0de30082c Update F0V6, F5V3 and F3V6 (DreamStation) humidifier parsing based on all available sample data.
No real change to functionality, other than confirming correct behavior,
documenting observed data and adding flags for anything new.
2020-01-11 15:13:24 -05:00
sawinglogz
37882ef750 Update F3V3 humidifier parsing based on all available sample data.
No real change to functionality, other than confirming correct behavior,
documenting observed data and adding flags for anything new.
2020-01-10 17:28:31 -05:00
sawinglogz
5bfcda73c6 Update F0V4 and F5V12 (60-Series) humidifier parsing based on all available sample data.
No real change to functionality, other than confirming correct behavior,
documenting observed data and adding flags for anything new.

The ParseHumidifierSettingF0V4 function has now been renamed to
ParseHumidifierSetting60Series for accuracy.
2020-01-10 16:45:12 -05:00
sawinglogz
05779eac4f Update FV023 and F5V0 summary parsers to parse the humidification at equipment-off.
Accordingly update ParseHumidifierSetting50Series to add a parameter
controlling whether parsed settings should be imported or not,
consistent with all other PRS1 humidifier parsers.
2020-01-10 12:57:18 -05:00
sawinglogz
7028f20aaf Update F0V23 and F5V0 humidifier parsing based on all available sample data.
The ParseHumidifierSettingV2 function has now been renamed to
ParseHumidifierSetting50Series for accuracy, and the code and
parameters which had been used when 60-Series machines (incorrectly)
relied on it has been removed.
2020-01-10 12:39:54 -05:00
sawinglogz
b9c598127c Add observations from initial batch of PRS1 humidification samples, add instrumentation to identify additional samples.
Also add initial fixes to F5V0 humidifer parsing, which was probably wrong.
2020-01-10 10:49:08 -05:00
Guy Scharf
25ed86401c Merge branch 'master' into timedbreath 2020-01-07 23:39:38 -07:00
sawinglogz
b6c2aa4610 Improve macOS create_dmg script and update Qt Creator build instructions. 2020-01-07 19:40:58 -05:00
sawinglogz
50b47a9bff Fix the tail ends of statistic channels on PRS1.
The last statistics events in each slice are now correctly imported.

Previously, in the surprising edge case where two statistic periods are
reported with the same end-of-slice timestamp, they were both being duplicated
when marking the end of the slice.

Also, there were scattered instances where the final statistics in a slice
weren't being imported at all or were being imported incorrectly. These are
now fixed as well.
2020-01-06 21:45:52 -05:00
sawinglogz
cd35f6d4d7 Add internal pseudo-event for PRS1 parsers to mark the boundary between statistic intervals.
No change in import behavior yet, but this will be needed to deal with a weird edge
case in which two statistic periods are reported with the same end-of-slice timestamp,
the first one intended to cover the preceding 2 minutes, the second one presumably
intended to cover the fractional second after the previous interval, though all
values are 0, so it's hard to be sure.
2020-01-06 11:59:15 -05:00
sawinglogz
97c7a4f557 Update PRS1 test YAML to emit first and last N/2 samples instead of first N, allowing for regression testing of end-of-session edge cases. 2020-01-05 16:02:04 -05:00
sawinglogz
43716793b4 Add user alert when unexpected PRS1 data is encountered on import.
Also rename some variables for clarity.
2020-01-04 22:06:28 -05:00
sawinglogz
26a844c720 Add infrastructure to allow PRS1 loader to alert the user when it encounters unexpected data.
Only the tests currently react to this information.
2020-01-04 20:47:28 -05:00
sawinglogz
41579d4919 Reset import warnings when running a new version of OSCAR. 2019-12-30 14:25:37 -06:00
Phil Olynyk
ccba19b3d2 Conditionalize debug output with DEBUG_SESSION and DEBUG_IDENT 2019-12-30 11:14:05 -05:00
Guy Scharf
280c847996 Eliminate MINOR_FLAG from list of indices on Daily page.
This results in Timed Breath no longer being shown in the index list.
2019-12-29 22:56:54 -07:00
sawinglogz
fdd1b658a2 Update PRS1 loader to respect new preference for warnings on untested machines. 2019-12-29 22:09:46 -06:00
sawinglogz
9521de7e18 Add preferences to disable import warnings for untested machines and unexpected data.
The preferences don't have any effect yet.
2019-12-29 21:54:59 -06:00
sawinglogz
3be691f2d8 Add README to macOS .dmg and "make dist-mac" target to do so.
The build instructions for Qt Creator still need to be updated
to use the new create_dmg script.
2019-12-29 15:56:17 -06:00
Guy Scharf
41bd1ded63 Show n/a for pressure on Daily page below AHI if there is no valid value. Also update release notes to reflect this. 2019-12-28 23:16:59 -07:00
sawinglogz
f1bd9c585b Merge branch 'master' into leave-new-charts-enabled 2019-12-27 23:08:04 -06:00
sawinglogz
47f38ab29e Remove obsolete TODOs and commented-out code in PRS1 loader. 2019-12-27 23:05:15 -06:00
sawinglogz
4976d7077e Fix the missing import progress dialog when forcing a rebuild.
Because opening a profile already had a progress dialog open, the import
process during a forced rebuild wasn't appearing, so it would look like
OSCAR was hanging for as long as the import took.

Temporarily hiding the profile progress dialog resolves the issue.
2019-12-27 22:29:18 -06:00
sawinglogz
ba44887853 Bump the PRS1 loader version to force rebuilds of PRS1 data.
This was bumped once already after the previous release version, but
bumping it again now will make sure that all beta testers are working
from data based on the current state of the PRS1 loader.
2019-12-27 22:10:02 -06:00
sawinglogz
b90571e940 Change the name of the PRS1_0E channel so that its new color takes effect by default.
Originally it wasn't being drawn as a span, so black was fine. That doesn't work so well now.
2019-12-27 22:08:59 -06:00
sawinglogz
e74bfbf2fd Change the channel IDs for pressure/IPAP/EPAP-Set events so that the previous fix always works.
Settings are written as soon as a day is viewed, so anybody who viewed
their PRS1 data prior to the previous commit would have settings with the
channels expressly disabled. Changing the channel ID forces them to be
treated as new, and thus default to on.
2019-12-27 22:06:31 -06:00
sawinglogz
d02e1dd235 When loading settings, leave unspecified defaults alone.
This prevents new charts (such as CPAP_PressureSet, etc.) from being
disabled by virtue of their being absent from existing settings.
2019-12-26 16:04:54 -06:00
Guy Scharf
7c15e9bd9c Add PressureSet, EPAPSet, and IPAPSet lines to Statistics page 2019-12-24 23:12:49 -07:00
Phil Olynyk
031989e300 Final re-arrangement of resmed import code 2019-12-23 21:44:10 -05:00
Guy Scharf
66575d17d4 Documentation for 1.1.0-beta-1 2019-12-18 23:34:53 -07:00
sawinglogz
14aad44f21 Add support for newly observed PRS1 EZ-Start in Auto-CPAP mode. 2019-12-07 15:10:48 -05:00
sawinglogz
a495defdce Add support for P-Flex and add 501X120 to tested list. 2019-12-03 19:04:09 -05:00
sawinglogz
e380b408fd Remove warnings about PRS1 oximetry being untested.
Also fine-tune various warnings for weird data, such as truncated
chunks and multiple sessions in a waveform file.
2019-12-02 17:30:28 -05:00
sawinglogz
8740ddf923 Add pressure pulse event observed on F5V1. 2019-12-01 18:21:18 -05:00
sawinglogz
7d355f3699 Confirmed F5V1 slice 8 has a timestamp. 2019-12-01 18:16:57 -05:00
sawinglogz
23007c9223 Add observed disconnected alarm setting to F5V1. 2019-12-01 18:01:32 -05:00