sawinglogz
dd9a087a86
Merge branch 'master' into prds2
2021-05-25 16:00:23 -04:00
sawinglogz
efeb9ed248
Fix some bugs in the DreamStation 2 wrapper and add some known values for testing.
2021-05-25 15:57:09 -04:00
sawinglogz
0737ad9b10
Performance improvements for PRS1 regression tests.
...
Most of the gains were from replacing endl with '\n', which avoids
unnecessary flushing. But there were a few hot functions whose
inefficiency ended up having a significan impact.
2021-05-23 21:26:17 -04:00
Phil Olynyk
caec63576d
The i in Sızıntı has no dot !
2021-05-23 18:00:19 -04:00
sawinglogz
b2ca5f708e
Improve debug and user-visible messages for unsupported PRS1 machines.
2021-05-23 15:36:09 -04:00
sawinglogz
793a621b4d
Fix some crashes that result from an invalid PR properties file.
2021-05-23 15:02:01 -04:00
sawinglogz
f1e31282bb
Add wrapper around DreamStation 2 files to read their header and provide an interface to their data.
2021-05-23 12:43:31 -04:00
Phil Olynyk
f32d1da51a
Add Turkish PLD, SAD signal names
2021-05-22 15:15:52 -04:00
Phil Olynyk
4a43aaabd4
Add Turkish STR signal names
2021-05-22 14:54:52 -04:00
kappa44
497cf8e5c4
Fix compile errors on Centos 7
2021-05-16 13:57:44 +10:00
sawinglogz
505264a200
Detect DreamStation 2 cards and alert the user.
2021-05-13 16:46:44 -04:00
sawinglogz
66e06af211
Add 700X130 to the list of tested machines.
2021-05-13 10:15:57 -04:00
Phil Olynyk
6b5443e6b8
Fix conflict by allowing comment
2021-05-02 08:16:32 -04:00
Phil Olynyk
edf3d95225
Comment out all the debugging stuff, and add a terminating event when
...
a PLD.edf signal value is out of range.
2021-05-02 08:05:49 -04:00
Phil Olynyk
6d4836c18a
Use channel lables instead of hex ID
2021-04-26 20:51:48 -04:00
sawinglogz
9cbd0d7b24
Fix multiple regressions that broke compilation with clang.
...
e633a82
: overloaded virtual method errors
0022510
: inconsistent missing override error
e358d31
: unused private fields
3591f11
: unused private fields
2021-04-26 20:10:37 -04:00
Phil Olynyk
e20518e84c
Don't skip the first 40 seconds of ResMed low-rate pressure data.
2021-04-24 16:52:25 -04:00
kappa44
e633a82de4
Consistent multi-file import for non-CPAP loaders (Viatom, Somnopose, Zeo, Dreem)
2021-04-24 17:44:27 +10:00
Guy Scharf
5a64262ff6
Minor fix to #ifdefs in DV6 loader
2021-04-13 17:48:39 -06:00
Guy Scharf
4234cb34a4
Fix problem with truncated per-minute data in graphs.
2021-04-09 14:05:54 +10:00
Guy Scharf
3114cf517d
Improve file identification in Icon loader
...
Will no longer attempt to process SleepStyle data with Icon loader
A new loader for SleepStyle machines is forthcoming.
2021-04-04 04:56:39 -07:00
Phil Olynyk
a92646faae
working on missing graph
2021-04-02 19:01:24 -04:00
Guy Scharf
e358d31f26
Add logic to read rolling files created by DeVilbiss BLUE CPAPs
2021-04-01 21:39:06 -07:00
kappa44
00ad97ff70
Update loader version change comment
2021-03-23 09:43:14 +11:00
kappa44
2d502f6a68
Revert viatom data version to avoid purge
2021-03-23 09:42:47 +11:00
sawinglogz
be1d3d878b
Add 1130X200 to the list of tested machines.
...
Also update warnings based on new test data and correctly
label the rise time lock setting on some 1030X sessions.
2021-03-04 17:34:05 -05:00
sgearhart
31bd10590f
modified: oscar/SleepLib/loader_plugins/viatom_loader.cpp
...
modified: oscar/SleepLib/loader_plugins/viatom_loader.h
modified: oscar/mainwindow.ui
2021-02-22 15:30:04 -05:00
Phil Olynyk
1b727eff76
Use 2010-1-1 as invalid date, and fix the test for it
2021-02-21 20:42:13 -05:00
kappa44
6b10cb665d
Make somnopose csv more flexible - data fields are optional and include movement. Make data persistent
2021-02-22 09:33:43 +11:00
Guy Scharf
fbfc830015
Compensate for error message from linux compilers in DeVilbiss loader.
2021-01-26 12:37:27 -07:00
Guy Scharf
24e7d34aee
DeVilbiss DV6x loader
...
Mostly complete
Backup facility is incomplete
2021-01-25 19:56:59 -07:00
Phil Olynyk
d16c4f4aed
Add Auto as option for Ramp-Enable
2021-01-22 11:36:17 -05:00
sawinglogz
09ba58669a
Add support for Target Time humidifier setting on DreamStation Go.
2020-12-29 20:23:37 -05:00
sawinglogz
e336e85aac
Add 500G120 and 500X140 to the list of tested machines.
...
Also update warnings based on new test data.
2020-12-29 17:38:00 -05:00
Guy Scharf
38d8b84266
Intellipap DV64 loader now imports the most recent day
...
Previous code had an off-by-one error and was not importing the last day in the file.
2020-12-14 00:20:29 +00:00
Guy Scharf
4276765bf2
ResMed loader no longer checks for maskoff dates beyond current time
...
Loader was checking that maskoff time was not greater than current time. This
produced problems when CPAP machine was set to DST but computer was set to standard
time. This also could cause problems trying to import files created in a different
timezone.
Added a separate check for maskon and maskoff times were in legal range (0-24*60).
Updated release notes.
2020-11-19 13:51:01 -07:00
Guy Scharf
1af5d3ec40
Improve some qWarning messages.
...
resmed_loader: include all timestamps in "time in future" error messages
mainwindow: add qWarning message if first journal session is null pointer
2020-11-04 10:12:19 -07:00
Guy Scharf
bf458fa1d5
Clairfy code for checking for str.edf or str.edf.gz depending on compression settings
2020-10-06 09:37:29 -07:00
Guy Scharf
6c8d9d6751
Fix two issues in ResMed loader:
...
1) If data compression option is set, loader will now try the str.edf.gz file first, with fallback to str.edf
2) Mixed Windows and Unix separators are now allowed in --datadir, which was previously causing data loss when rebuilding CPAP data.
2020-10-06 01:36:15 +00:00
Guy Scharf
34700fd9f9
Fix two issues in ResMed loader:
...
1) If data compression option is set, loader will now try the str.edf.gz file first, with fallback to str.edf
2) Mixed Windows and Unix separators are now allowed in --datadir, which was previously causing data loss when rebuilding CPAP data.
2020-10-06 01:36:15 +00:00
sawinglogz
2563e5c4f0
Fix gcc compiler error introduced by d98a76a
.
2020-09-14 14:58:11 -04:00
sawinglogz
d98a76aa22
Recognize low MV alarm on 1030X and update warnings based on test data.
2020-09-13 19:28:00 -04:00
sawinglogz
d1985c9dc2
Add support for all current Dorma 501V test data.
2020-09-13 19:27:59 -04:00
sawinglogz
c8b10e31a7
Add initial support for PRS1 Dorma 501V.
2020-09-13 19:27:59 -04:00
sawinglogz
53de4f0f49
Add older 450P to the list of tested machines.
...
Also update warnings based on test data.
2020-09-13 19:27:59 -04:00
sawinglogz
ffc4b897f8
Improve import of rare 950P events; update warnings based on test data.
...
Rare hypopnea variants weren't being recognized, and timestamps were
slightly off after a mid-session humidification change.
2020-09-02 11:23:36 -04:00
Guy Scharf
23036ec8cd
Fix compile problem with QT 5.9; change Patient Access to Essentials
...
- Values of "On" and "Plus" will be shown for this field.
- Field name will remain Patient Access until a new profile is created or language is changed.
2020-08-31 22:02:32 -07:00
Guy Scharf
ce18739d14
ResMed and Oximetry loader enhancements
...
- Oximetry loader from file now remembers last directory data was imported from.
- ResMed loader loads from last day or oldest purge date if a day was purged since last import.
purgeDate added to MachineInfo to implement this. Purge date set when a day is purged and cleared after an import.
2020-08-23 15:30:38 -07:00
Guy Scharf
5e5af1b541
Cleaen up some debug messages
2020-08-19 17:12:41 -07:00
Guy Scharf
134a30624f
Improve file open diagnostic messages
2020-08-19 10:14:38 -07:00
Guy Scharf
4e0d8d33fd
Changes to ResMed loader:
...
- Fix possible problem with rebuilding CPAP data
- Change re-import to look just at last day (full re-import will be re-added later)
- Improve detection of when a day needs to be rebuilt on re-import
- Improve some diagnostic messages
2020-08-19 10:14:02 -07:00
sawinglogz
13e8a1947d
Add 452P and 650P to the list of tested machines.
...
Also improve support for rare F0V23 events and update other warnings based
on new test data.
2020-08-16 21:19:11 -04:00
Guy Scharf
bf6dd5c615
Improvements to ResMed loader for re-importing days
...
o Now compares all days, not just starting from last day imported
o Compares number of non-identical MaskOn/Off events with session count
o Hid most qDebug messages behind #define STR_EDF
o Added qWarning to open() and close() calls for improved diagnostics
o Fixed some copy() calls that were not working
2020-08-13 16:32:34 -07:00
Guy Scharf
8f3971cb09
Fix maskon/off vs session count comparison for deciding when to re-import a day
2020-08-12 17:26:14 -07:00
Phil Olynyk
d46dd3d144
Remove existing backups before second import; also change double to qint64 in LoadEVE and LoadCSL
2020-08-09 17:17:21 -04:00
Phil Olynyk
a89b5f8cdd
Merge branch 'master' into test-dataflow
2020-08-08 14:22:16 -04:00
Phil Olynyk
b35cd921c1
Compare maskevents to session count to all re-import on same day - added debug trace
2020-08-08 14:17:54 -04:00
sawinglogz
f73ef02380
Update 1030X and 1130X warnings based on new test data.
2020-08-08 11:04:34 -04:00
sawinglogz
0960384b20
Add support for compliance records from PRS1 60 Series bricks.
...
Add 261CA to the list of tested machines.
2020-08-04 20:59:51 -04:00
sawinglogz
cfca48e505
Reconcile differences in PRS1 compliance vs. summary for F0V23 and F0V6.
...
Propagated a bug-fix in some variations that avoiding crashing on
zero-length data.
2020-08-04 17:12:14 -04:00
sawinglogz
93a056b252
Add 462P and 400X120 to the list of tested machines.
...
Also update F0V4 warning based on new test data.
2020-08-03 14:18:25 -04:00
Phil Olynyk
961fdb13db
Clean up formatting, add debug and warnings, fix STR length test to allow multiple daily imports.
2020-08-03 14:01:04 -04:00
sawinglogz
eaf4ab69cf
Update 700X warning based on new test data.
2020-07-24 12:51:22 -04:00
sawinglogz
11dfa09c7b
Add preliminary support for rare time-adjustment event observed on PRS1 550P.
...
Also add 900X150 to the list of tested machines, and update other warnings
based on new test data.
2020-06-26 12:53:52 -04:00
sawinglogz
cdec75b94b
Update 500G warnings based on new test data.
2020-06-04 10:01:26 -04:00
sawinglogz
d01c183ae3
Add 400X130 to the list of tested machines.
2020-05-29 12:38:39 -04:00
sawinglogz
4507f8d7a8
Fix crash when trying to import Weinmann SOMNObalance e.
...
This patch only addresses the crash, it doesn't add support for the machine.
2020-05-28 22:11:28 -04:00
sawinglogz
47ea2bbf91
Tweak copy constructors to fix build errors in CentOS.
...
Thanks to johanfh.
Fixes #19 .
2020-05-23 11:22:59 -04:00
Phil Olynyk
2ad6a5c980
Fix debug output text
2020-05-19 14:47:54 -04:00
Phil Olynyk
ee3a79af7e
Copy new STR.edf to Backup after Backup_STR scan
2020-05-18 17:42:37 -04:00
Phil Olynyk
2d4598d5e7
Fix type in procedure name
2020-05-18 13:59:10 -04:00
Phil Olynyk
b9cccdc746
Clean up, and copy Backup/STR.edf to Backup?STR_Backup/STR_yyyymmdd.edf
...
before copying import/STR.edf to Backup/STR.edf.
2020-05-17 19:24:31 -04:00
Phil Olynyk
cf32639b06
Clean up comments and trim file paths
2020-05-16 17:31:18 -04:00
Phil Olynyk
53d0c0fbe4
Merge branch 'master' into error-message-cleanup
2020-05-16 16:18:27 -04:00
Phil Olynyk
16cd85ab02
More tidying up
2020-05-16 16:16:10 -04:00
sawinglogz
922515b3c9
Update PRS1 900X and 500G warnings based on new test data.
2020-05-16 10:09:00 -04:00
Phil Olynyk
209998fe34
Re-arrange code to backup STR.edf before other files
2020-05-15 21:27:08 -04:00
Phil Olynyk
ebd518a9f5
Make sure STR.edf is copied to Backup folder during import
2020-05-15 19:58:11 -04:00
Phil Olynyk
5b87ad6640
Comment out extra debug statements
2020-05-15 12:44:29 -04:00
Phil Olynyk
71e156dfed
Change setMin/Max to updateMin/Max in LoadEDF procedures
2020-05-14 21:10:03 -04:00
sawinglogz
759ae84f65
Update PRS1 900X and oximetry warnings based on new test data.
2020-05-13 13:40:54 -04:00
sawinglogz
2a92569393
Add 461CA and 700X120 to the list of tested machines, and refine
...
unexpected data warnings.
2020-05-12 14:08:24 -04:00
sawinglogz
5270fcd09b
Update PRS1 400X-700X warnings based on new test data.
2020-05-12 13:26:45 -04:00
sawinglogz
346208140e
Revise VS2 index to match official reports.
...
The VS2 channel is unique in that it only appears (as a flag)
when there are nonzero snores during a 2-minute period. However, the
VS index isn't the number of events (nonzero intervals) per hour,
but rather the number of snores per hour.
2020-05-07 17:36:31 -04:00
Phil Olynyk
c43479672a
Pick up some PRS changes
2020-05-07 16:45:17 -04:00
Phil Olynyk
2da3a9cd86
Track down zero time that led to future sessions
2020-05-07 16:43:52 -04:00
sawinglogz
f2fd29bc52
Update PRS1 900X warnings based on new test data.
2020-05-07 14:49:07 -04:00
sawinglogz
ad15655ffb
Improve Viatom file selection on Windows.
...
Also remove a warning about unexpected data.
2020-05-06 11:42:03 -04:00
Phil Olynyk
1b453e2fa5
Always creaste Backup/DATALOG folder before ScanFiles
2020-05-04 19:59:59 -04:00
sawinglogz
cfe69ea7a0
Update PRS1 200X-700X warnings based on new test data.
2020-05-04 14:21:17 -04:00
Phil Olynyk
23d177b31c
Add error checks to edf header values
2020-04-30 15:27:37 -04:00
Phil Olynyk
823266f627
Check result of EDFInfo::Parse()
2020-04-30 12:42:05 -04:00
Phil Olynyk
c1f986921d
Clean up memory leak I created
2020-04-29 19:51:32 -04:00
Phil Olynyk
cf316e83e9
Revert "Clean up memory leak I created"
...
This reverts commit 832d905d04
.
2020-04-29 19:49:27 -04:00
Phil Olynyk
832d905d04
Clean up memory leak I created
2020-04-29 19:42:26 -04:00
Phil Olynyk
5b64566c59
Increment resmed data version to force rebuilds
2020-04-29 14:11:39 -04:00
Phil Olynyk
4323577412
Merge branch 'master' into add-backup-STR-file
2020-04-29 13:58:35 -04:00
Phil Olynyk
33e5561ad3
Rename STR files to use 8 digit date
2020-04-29 13:57:10 -04:00
sawinglogz
01c7f7cdc0
Exclude additional invalid samples in PRS1 oximetry.
...
Also clean up some function names and remove unnecessary code.
2020-04-29 10:41:08 -04:00
sawinglogz
5f0960aa4d
Add support for PRS1 sessions with oximetry data split between files.
2020-04-29 10:22:12 -04:00
Phil Olynyk
16c2784915
Always read STR.edf file from BACKUP folder.
...
Use real date for STR files in STR_Backup folder, and
only keep the longest file if the dates are the same.
2020-04-26 20:59:23 -04:00
sawinglogz
75bfdf2142
Fix Viatom loader glitch that prevented saving older sessions in a folder.
2020-04-26 14:06:48 -04:00
sawinglogz
2b6cdccb16
Update unexpected data alerts for PRS1 500X110 based on new sample data.
2020-04-24 16:58:44 -04:00
sawinglogz
5f921a0fd1
Fix inverted logic on untested data message.
2020-04-24 16:58:44 -04:00
sawinglogz
0fa066db47
Fix (mask) pressure waveform scaling for PRS1 960T.
2020-04-22 17:14:59 -04:00
sawinglogz
40553fcf5e
Add PRS1-specific "peak flow" channel used by pre-DreamStation ventilators.
2020-04-22 17:14:59 -04:00
sawinglogz
d41622443d
Remove ramp time and pressure when PRS1 ramp is off for pre-DreamStation machines.
2020-04-22 17:14:59 -04:00
sawinglogz
59e4a3af68
Add icon for older C-Series PRS1 ventilators.
2020-04-22 17:14:58 -04:00
sawinglogz
f189b2f0e2
Clean up consistency checks during import of F3V0 and F3V3.
...
Import was working, but the consistency checks made a few assumptions
that turned out not to be universally applicable, so they were
making a lot of unnecessary noise.
2020-04-22 17:14:58 -04:00
sawinglogz
141988b6bf
Add support for PRS1 F3V0.
...
Parsing is complete, import still needs review.
The only other functional change is parsing the Bi-Flex lock
setting that also applies F3V3.
2020-04-22 17:14:58 -04:00
sawinglogz
63c58ab3af
Update unexpected data alerts for PRS1 F0V2 based on new sample 550P data.
2020-04-22 17:14:58 -04:00
sawinglogz
d09005352a
Add support for rise time on DreamStation BiPAP machines (600X-700X).
...
Also add 600X150 and 700X150 to the list of tested machines, and
refine unexpected data warnings.
2020-04-22 17:14:58 -04:00
sawinglogz
41fdcd0bd3
Fix pressure relief display in statistics page.
...
Also revert 691aafd
as that change is no longer necessary with this fix.
2020-04-11 15:52:32 -04:00
Phil Olynyk
0d25d31049
Add ifdef around -Adding STR.edf information...-
2020-04-11 11:26:03 -04:00
Phil Olynyk
691aafda25
Change EPRLevel text back to xcmH2O so they show in Stats page
2020-04-11 11:01:24 -04:00
sawinglogz
5e2b51c6b9
Add support for PRS1 humidifier passover and error modes based on new data.
...
Also mark 500X180 as tested.
2020-04-10 16:48:28 -04:00
sawinglogz
3e2c1db19e
Update PRS1 900X warnings based on new test data.
2020-04-05 17:19:15 -04:00
sawinglogz
244f18f2af
Add support for newly discovered event in PRS1 F0V6, fixing total session time.
...
Also added 500X120 to list of tested machines.
2020-04-04 17:33:34 -04:00
Phil Olynyk
512a65c772
Change labels to use new LOOKUP behaviour
2020-03-30 20:38:22 -04:00
sawinglogz
1e82500685
Minor update to PRS1 regression tests so that they can follow symlinks.
...
Also added comment about 900X clamping mask pressure at 15.875 cmH2O.
No functional changes.
2020-03-27 12:33:23 -04:00
sawinglogz
89e9e305fb
Fix gcc warning in PRS1 loader.
2020-03-26 19:47:37 -04:00
sawinglogz
eef582e6a4
Merge branch 'master' into prs1-add-parsed-settings
2020-03-26 10:48:21 -04:00
sawinglogz
90434d5f11
Bump the PRS1 loader version to force a rebuild, update release notes.
...
Also fix a typo in the rebuild dialog.
2020-03-26 09:54:55 -04:00
sawinglogz
a96a665987
Rename PRS1_0E mystery channel to Variable Breathing based on forum discussion, disable it by default.
...
Also make TB an on-demand channel.
2020-03-26 09:01:28 -04:00
sawinglogz
f49ba51cb7
Improve PRS1 CPAP-Check and Auto-Trial setting import.
...
Also clean up PRS1 channels given the LOOKUP behavior, and clean
up ImportSummary now that native PRS1 modes are supported.
2020-03-25 21:14:25 -04:00
sawinglogz
c271a64625
Improve import of F5V012 flex and rise time settings.
2020-03-25 17:02:32 -04:00
sawinglogz
6b581bc303
Fix AVAPS settings display.
2020-03-24 21:33:50 -04:00
sawinglogz
aae1ce28a6
Add specific AVAPS PRS1 modes and improve F3V3/F3V6 settings parsers.
...
In particular F3V3 won't always create IPAPmin/max settings when in
CPAP mode or with a single IPAP setting.
Also consider ventilators to have a flex mode of "Rise Time" when
they have a rise time configured.
2020-03-24 21:04:21 -04:00
sawinglogz
6a3c8c1a26
Add PRS1-specific mode channel, allowing correct display of S, S/T, and PC modes.
...
Also fix pressure settings for F3V3, and display of rise time and backup breath settings.
2020-03-24 17:15:29 -04:00
Phil Olynyk
ca78954471
Don't use mask on/off times to set session start and end
...
They will be updated according to the edf file times.
2020-03-24 10:34:50 -04:00
sawinglogz
389ddd1631
Import remaining parsed PRS1 settings: backup breath settings, tidal volume, rise time, EZ-Start, and Auto-Trial.
...
DreamStation ramp time and mask resistance "off" settings are now also imported.
Ventilator alarms are not yet parsed reliably enough to import at this time.
2020-03-23 21:09:55 -04:00
Phil Olynyk
1f4e989297
Merge branch 'master' into fix-series-names
2020-03-23 14:45:26 -04:00
Phil Olynyk
fd142ec40c
Always include sthe series name in the model name -
...
Also ignore (for now) the new file type and signals of the 36039.
2020-03-23 14:41:31 -04:00
sawinglogz
77a34518bc
Rename PRS1 mask resistance lock and setting channels for clarity.
2020-03-23 13:07:08 -04:00
sawinglogz
3eb2ad4a7b
Import all remaining parsed PRS1 settings seen on bricks: flex lock, tubing type lock, mask resist lock, show AHI, and ramp type.
...
Also remove superfluous mask resist status.
2020-03-23 12:59:06 -04:00
sawinglogz
fb59597367
Clean up F3V3 breath rate range tests. No functional changes.
2020-03-23 11:45:10 -04:00
sawinglogz
5c9c140248
Update PRS1 settings range checks based on all test data.
2020-03-22 23:19:35 -04:00
sawinglogz
18fc074a45
Add all known PRS1 settings to the parsed event stream, in particular backup breath settings.
...
Also add more value and range checks for settings based on initial small
sample set. These will be dialed back once tested against all test data.
2020-03-22 20:00:09 -04:00
sawinglogz
84a2b5cfd1
Fix a crash when canceling a Zeo import.
...
Also apply the same fix to Dreem import.
Resolves #237 .
2020-03-21 17:41:35 -04:00
Phil Olynyk
eb2ef1cbb9
Move S9 to front of model name
2020-03-19 17:54:48 -04:00
sawinglogz
bc62fce130
Refine PRS1 untested data warning based on new sample data.
2020-03-09 13:57:43 -04:00
sawinglogz
c92ef13e19
Add F0V2 variant of 451P to list of tested PRS1 machines.
2020-03-09 13:13:33 -04:00
sawinglogz
a9b16f26bd
Add an error message to PRS1 loader.
2020-03-09 13:03:28 -04:00
sawinglogz
910be1f6af
Move PRS1Loader::Open to use the new scanner.
...
Also update Detect to retain its original behavior of letting the user
select the P-Series folder instead of the root.
Also fix what looked like a hang when backing up PRS1 files. The
progress bar still doesn't update during backup, but at least it
now says that it's backing up and the UI remains responsive.
2020-03-09 12:47:54 -04:00
sawinglogz
0124cdbf1f
Move PRS1 card detection and info presentation to the new scanner.
2020-03-09 11:17:59 -04:00
sawinglogz
485be366aa
Make search for PRS1 "P-Series" folder truly case-insensitive.
2020-03-09 10:48:10 -04:00
sawinglogz
c8520c8449
Move PRS1 test card scanning into PRS1Loader.
...
Also reverse the chronological order of tests to provide the most complete output.
The loader itself doesn't yet use the new machine scanner.
2020-03-09 10:28:34 -04:00
sawinglogz
d4fd330a31
Fix regression introduced by cb57643
.
...
The Test1/2 channels were no longer initialized. As a result, all
Test1/2 data got merged into channel 0.
2020-03-08 16:27:18 -04:00
Phil Olynyk
f077353a01
Kludge fix for missing Ti and Te segments
2020-03-03 16:47:55 -05:00
Phil Olynyk
11b1d9a045
Roll the VAuto TrigCycEvent into the S0 VPAP-S RespEvent type
2020-02-21 21:41:00 -05:00
Phil Olynyk
b4bbdd9a54
update dumpSTR to use the standard edfparser files
2020-02-21 11:29:00 -05:00
Phil Olynyk
99de650018
Merge branch 'master' into sanity-check-STR-file
2020-02-16 21:42:09 -05:00
Phil Olynyk
c671e873a3
Make Open return error when sanity fails
2020-02-16 21:41:56 -05:00
Phil Olynyk
3df1ba50df
Merge branch 'master' into update-machine-db-version
2020-02-16 21:19:00 -05:00
Phil Olynyk
6fed69e71c
Update database version in loader, not profiles
2020-02-16 21:12:54 -05:00
Phil Olynyk
a094aee728
Add sanity check for STR file
2020-02-14 15:18:25 -05:00
sawinglogz
c5c6f779f7
Fix Zeo and Dreem loaders' mysteriously missing sessions.
...
This was the same issue seen in the Viatom loader, fixed at 5e07187
,
and the same fix works here.
2020-02-13 14:31:32 -05:00
Phil Olynyk
014a9c7944
Merge master containing testing changes
2020-02-10 22:18:39 -05:00
sawinglogz
7701694b14
Add support for YAML output by Resmed loader for regression testing.
2020-02-10 16:04:03 -05:00
Phil Olynyk
d27f9232d4
Set timezone to localNoDST and set session->first & last and fix typo
2020-02-09 23:45:31 -05:00
Phil Olynyk
084cff026c
code cleaup in edfparser
2020-02-09 23:42:31 -05:00
Phil Olynyk
81eee97ec1
Change pass-by-value to pass-by-ref in BackupSTR
2020-02-07 20:16:47 -05:00
Phil Olynyk
1148d1b69e
Merge master and clean up Open code
2020-02-07 16:20:53 -05:00
sawinglogz
a497c0f317
Update Viatom loader based on newly observed O2Ring data in the header.
2020-02-07 13:54:28 -05:00
Phil Olynyk
0afaec53b5
In Preferences, ask if ResMed when no machines; force ResMed prefs when yes. Also in ResMed loader
2020-02-06 21:34:04 -05:00
Phil Olynyk
b178dba420
add timezone test for invalid datetimes
2020-02-06 17:17:08 -05:00
Phil Olynyk
bd6dabd3e5
Add debugging for missing session info
2020-02-06 09:13:16 -05:00
sawinglogz
c83de24dec
Update PRS1 loader based on peculiar EZ-Start sample data.
...
It doesn't do anything differently yet, but it won't alert the user
about untested data, now that we have a sample.
2020-02-04 12:26:42 -05:00
sawinglogz
f40428f9fe
Identify previously unknown Viatom vibration field.
2020-02-03 15:37:37 -05:00
Phil Olynyk
da29e35766
Merge master with tidy-edf-parser
2020-02-02 14:52:02 -05:00
Phil Olynyk
f903a26d11
Force use of systems Standard Time Zone by QDateTime
2020-02-02 14:29:23 -05:00
sawinglogz
39e243a36d
Comment out set but otherwise unused variables.
...
g++ warns about this, which we treat as an error.
2020-01-31 17:18:01 -05:00
sawinglogz
ad9ac16f80
Add support for discontinuous hyponogram data in ZEO loader.
...
Also support sleep stage 6 ("Deep (2)") and adjust scale of chart
so that deep sleep is more visible.
And adjust scale of Dreem chart to match.
2020-01-31 13:31:49 -05:00
sawinglogz
492908f538
Add support for discontinuous hyponogram data in Dreem loader.
2020-01-31 12:44:41 -05:00
Phil Olynyk
6624738f67
Clean up EDFInfo class to avoid memory leaks
2020-01-30 19:54:53 -05:00
sawinglogz
ab9d5e87c5
Flip the sleep stage data to negative so that the chart is drawn in the right orientation.
...
Ideally graphs would be able to invert their Y axis without this hack, but
it works for now. It would also be good to support non-numeric labels
in the graph legend.
2020-01-30 13:45:55 -05:00
sawinglogz
62880d1a00
Comment and whitespace cleanup in Dreem, Viatom, and Zeo loaders.
2020-01-30 13:17:51 -05:00
sawinglogz
156215b729
Clean up Zeo loader using techniques from the Dreem loader.
...
Also speed up skipping previously imported sessions by bailing
earlier. No other change in functionality.
2020-01-30 12:25:35 -05:00
sawinglogz
32ffcc4f94
First pass at Dreem CSV loader.
...
Something's not quite right about the hypnogram timestamps, since
there are more than would fit within the start/stop times.
2020-01-29 20:00:33 -05:00
sawinglogz
f33dd654f8
Add generic CSV reader class and switch ZEO loader to it.
...
No change in functionality for ZEO files.
Resolves crashing (assertion failure) on non-ZEO CSV files.
2020-01-29 17:05:03 -05:00
sawinglogz
8ef068af7e
Fix ZEO loader to handle MyZeo 0.3.1 date formatting.
...
Also make the UI more informative and fix up the regression test output.
2020-01-29 16:21:42 -05:00
sawinglogz
448bfa048c
Refactor ZEO loader to allow for testing, add regression tests.
2020-01-29 15:47:11 -05:00
sawinglogz
b82d5dc971
Fix memory leak in PRS1 loader.
2020-01-29 10:43:58 -05:00
sawinglogz
cb576437ab
Clean up noise and memory leaks in unit tests.
2020-01-29 09:10:29 -05:00
sawinglogz
077f51178f
Split PRS1 oximetry data so that invalid samples show up as gaps on the charts.
2020-01-28 17:36:02 -05:00
sawinglogz
15e6f1eadf
Refactor PRS1 oximetry import to prepare for discontinuous data.
...
Also remove some return values that were unused.
2020-01-28 16:04:34 -05:00
sawinglogz
0358386cd3
Fix PRS1 tube diameter display.
...
It was being parsed correctly, but the mapping to display was wrong.
2020-01-28 14:07:58 -05:00
sawinglogz
ba81370fb6
Update PRS1 warnings based on new sample data, add 500X130 to list of tested madels.
2020-01-28 13:19:45 -05:00
sawinglogz
5fedd8349a
Fix Bi-Flex labeling for PRS1 DreamStation 600X and 700X machines.
2020-01-28 12:02:03 -05:00
sawinglogz
c6169da7e0
Fix regression in f865b371
: the pressure average channel is truly the pressure average for bi-level modes.
...
This changes the parsing to distinguish between the "flex pressure" reported
by single-pressure modes (which remains effectively EPAP) and the average
pressure reported by bi-level modes (which returns to its former average
pressure channel).
2020-01-28 11:26:31 -05:00
sawinglogz
369275988b
Clean up error reporting when parsing PRS1 data chunks.
...
Also remove some error-handling code that we can't verify and probably
never worked correctly.
2020-01-28 09:34:02 -05:00
sawinglogz
f865b37102
Remap PRS1 pressure average channel to EPAP, which it most closely matches.
...
Technically it's "flex pressure" and not true EPAP, since it's provided for
non-bi-level modes, but Flex is pretty close to bi-level.
2020-01-27 14:57:53 -05:00
sawinglogz
277b2a5422
Infer the serial number from Viatom directory if possible.
2020-01-27 12:26:35 -05:00
sawinglogz
780a703f18
Tweak the unexpected data warning for Viatom now that we can import more than just single files.
2020-01-27 09:15:15 -05:00
sawinglogz
4ebc7d3681
Rename POS_Motion channel to POS_Movement to match Viatom report terminology.
...
Also move database updates to Open() rather than at each file imported.
2020-01-26 19:50:18 -05:00
sawinglogz
3548b083fe
Move Viatom unexpected data warning to Open() instead of each file.
2020-01-26 18:28:10 -05:00
sawinglogz
8951068895
Add support for importing a whole folder of Viatom files.
2020-01-26 18:13:09 -05:00
sawinglogz
b6f7ebac6f
Move Viatom filename pattern matching into loader.
2020-01-26 17:51:56 -05:00
sawinglogz
c06057ef14
Skip previously imported Viatom sessions.
2020-01-26 17:20:58 -05:00
sawinglogz
5e07187860
Fix the Viatom loader's mysteriously missing sessions.
...
It looks like SaveSummaryCache() would occasionally get called elsewhere
under certain circumstances, which would cause sessions to occasionally
save, but unpredictably. Now the summary cache gets saved consistently.
2020-01-25 17:35:58 -05:00
sawinglogz
c727e78d45
Add support for discontinuous Viatom data.
...
This now correctly shows gaps in the oximetry data when there are
invalid samples, rather than holding the previous values.
2020-01-25 16:55:32 -05:00
sawinglogz
2f7b39f808
Deduplicate Viatom 2s files to their true 4s resolution.
2020-01-25 14:50:45 -05:00
sawinglogz
61333aff07
Rewrite the Viatom header parsing to read all data and warn about unexpected data.
...
It turns out the 2s-resolution files are actually 4s resolution with
each sample reported twice! Fixing that is next.
2020-01-24 20:16:57 -05:00
sawinglogz
21e7ae8b61
Set event list rate based on step, fix Viatom header size.
2020-01-24 15:25:36 -05:00
sawinglogz
70de112192
Split Viatom parsing from importing, no functional change.
2020-01-24 15:20:00 -05:00
sawinglogz
ae8ce0e9d6
Remove tabs in Viatom loader and normalize whitespace to OSCAR convensions.
...
Also change from using sprintf/QDateTime::fromString to using Qt native objects.
No change in output.
2020-01-23 19:25:06 -05:00
sawinglogz
9cb7de950b
Add regression tests for Viatom loader.
...
Also enable the native file dialog box for importing Viatom files.
2020-01-23 19:11:05 -05:00
sawinglogz
3fbc1777c5
Make Viatom loader MT_OXIMETER and remove MT_MULTI.
...
There's way too much logic throughout the code that makes assumptions
based on MT_OXIMETER.
2020-01-23 19:10:25 -05:00
sawinglogz
66f13f3143
Initial commit of contributed Viatom SpO2 loader.
...
Diff applied from the following commit by dave madden <dhm@mersenne.com>,
replacing tabs with spaces:
fa38850503
2020-01-23 12:57:44 -05:00
sawinglogz
c4d16b7169
Add support for 1030X CPAP mode.
2020-01-22 19:52:49 -05:00
sawinglogz
640c110acd
Make DreamStation settings size checks less picky.
...
They'll no longer refuse to load the session, and instead they'll flag
any small settings slices as unexpected data.
2020-01-22 19:34:42 -05:00
Phil Olynyk
80edf9d4f9
Always use pre5.8 mSec to/from epoch calls
2020-01-22 14:23:37 -05:00
Phil Olynyk
04c085f924
Add code to use old calls with old Qt versions
2020-01-21 15:53:08 -05:00
Phil Olynyk
0dba31e58b
Changes for old QT and compiler versions
2020-01-21 13:49:02 -05:00
sawinglogz
d8cc142501
Add "ignore older than" support to PRS1 importer.
...
Now it actually works.
2020-01-18 20:16:31 -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
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
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
Phil Olynyk
ccba19b3d2
Conditionalize debug output with DEBUG_SESSION and DEBUG_IDENT
2019-12-30 11:14:05 -05:00
sawinglogz
fdd1b658a2
Update PRS1 loader to respect new preference for warnings on untested machines.
2019-12-29 22:09:46 -06: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
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
Phil Olynyk
031989e300
Final re-arrangement of resmed import code
2019-12-23 21:44:10 -05: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
sawinglogz
13c7ab8629
Gracefully handle PRS1 summary chunks with zero length.
2019-12-01 17:30:39 -05:00
sawinglogz
c0e3c22e88
Move PRS1 waveform session ID check out of parser and into import.
...
It turns out that some F5V1 machines record both decimal and hex
filenames for some reason.
2019-12-01 16:44:24 -05:00
sawinglogz
4321c3685a
Add 951P to PRS1 tested list.
...
Also add support for parsing and proceeding past a previously
unseen F5V0 event, though for now it's just getting swallowed
since its meaning isn't entirely clear.
2019-11-20 12:33:45 -05:00
sawinglogz
6b413d0bb6
Fix PRS1 chunk YAML to include labels for internal F3V3 events added in 3c214db1
.
...
Also remove obsolete comments and events.
2019-11-19 20:08:10 -05:00
sawinglogz
46c9d4f0c8
Chase down PRS1 unordered time warnings and add an explanatory TODO comment.
...
Also fix some whitespace.
No functional changes.
2019-11-19 16:00:08 -05:00
sawinglogz
60ec8711dc
Report PRS1 BND regions based on mask-off slices rather than gaps in waveform data.
...
This adds BND flagging to machines without waveform data, such as F3V3 (1160P)
and bricks (250P, 200X), as well as sessions for which waveform data was
unavailable. It also catches BNDs at the end of a session, which were
previously missed.
2019-11-19 15:05:08 -05:00