Commit Graph

590 Commits

Author SHA1 Message Date
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