Commit Graph

979 Commits

Author SHA1 Message Date
Phil Olynyk
24f0cae8fb Add settings fields for vAuto 2022-04-22 12:33:32 -04:00
Phil Olynyk
b800555df4 Merge branch 'master' into vAuto-Settings 2022-04-15 16:34:04 -04:00
Phil Olynyk
20ea508eb6 Remove smoothing from 2 sec pressure graphs 2022-04-06 12:23:43 -04:00
Phil Olynyk
c23feedf7c Added 39421 and 39485 to tested models 2022-04-03 11:24:22 -04:00
Phil Olynyk
4283373823 Add channels for vAuto settings 2022-03-09 16:42:39 -05:00
Phil Olynyk
3418e9e9b4 Merge branch 'master' into vAuto-Settings 2022-03-06 16:08:27 -05:00
ArieKlerk
a7d5bafc9a Third cleanup series: the loader_plugins. 2022-02-27 17:50:10 +01:00
ArieKlerk
1c45e852c9 The second series of updates, everything in SleepLib, but not yet the loader_plugins. They will come next time. 2022-02-27 17:01:46 +01:00
sawinglogz
3e069fa4de Add 761P to the list of tested machines.
Also update F0V4 warnings based on new test data.
2022-02-20 14:37:05 -05:00
Phil Olynyk
acf04f4b45 Move duplicate declarations of EDFType to edfparser and combine them 2022-02-18 14:39:38 -05:00
Phil Olynyk
51e0a7b06d Always create CSR event list 2022-02-17 20:59:16 -05:00
sawinglogz
df17e279f4 Update F0V6 warnings based on new DS2 test data. 2022-02-16 20:50:47 -05:00
sawinglogz
182bbfcb1e Add 521X120C to the list of tested machines. 2022-02-16 19:04:17 -05:00
sawinglogz
a9e9cb118c Fix a null pointer crash when reading PRS1 compliance files with multiple chunks.
This doesn't happen normally, but OSCAR shouldn't crash, even when
encountering cards with corrupted directories.
2022-02-16 16:45:26 -05:00
sawinglogz
fd17699692 Add 520X150C to the list of tested machines. 2022-01-26 11:11:24 -05:00
sawinglogz
41b2c27d60 Add support for HT12 heated tube new to DreamStation 2. 2022-01-24 16:04:08 -05:00
sawinglogz
00974d4f49 Skip empty DS2 files.
Also update comments based on further testing.
2022-01-24 16:04:08 -05:00
sawinglogz
eac13160b9 Cache DS2 keys during import for a 3x speedup.
Crypto overhead now makes import take only twice as long, instead of
of 22x before optimization.
2022-01-24 16:04:08 -05:00
sawinglogz
4b4a0edb0e Refactor library-dependent crypto calls into separate file and add unit tests. 2022-01-24 16:04:07 -05:00
sawinglogz
1cf4b2b6eb Add support for decrypting DS2 files with non-default keys. 2022-01-24 16:04:07 -05:00
sawinglogz
ec52b8b436 Add GUID from DreamStation 2 files to machine properties. 2022-01-24 16:04:07 -05:00
sawinglogz
df43925d02 Add support for CheckMe O2 Max.
Technically it was already supported, but it generated a lot of warnings
because of data we had never seen or tested. Now that we have test data,
those warnings can go away.
2022-01-10 20:14:04 -05:00
Phil Olynyk
b8eb0e113f Move mis-placed QTime decls into EFFICIENY ifdef 2022-01-10 18:02:25 -05:00
ArieKlerk
6bbb656c02 Here are the promised translation-cleaned program files plus updated language files 2022-01-10 16:49:23 +01:00
Phil Olynyk
42cc67e8d9 Use ToTimeDelta instead of AddWaveform in LoadPLD 2022-01-09 17:35:32 -05:00
Phil Olynyk
321a94379f Skip 20 secs of TiVol, RR, and MinVent; update release notes 2022-01-09 13:49:53 -05:00
Phil Olynyk
d6a925e456 Add check for min pressure equals zero to STR processing. 2022-01-07 19:25:56 -05:00
Phil Olynyk
2f975ea7e9 Add Canadain model number 39423 to tested list 2022-01-07 13:00:19 -05:00
Phil Olynyk
8c997a68e8 Clean up unnecessary debug output 2022-01-05 15:35:35 -05:00
Phil Olynyk
f7b7590207 Fix pressures for A4Her, revise mode code 2022-01-03 16:23:11 -05:00
Phil Olynyk
707a76b089 Set TidalVolume units to mL, add debug for min_pressure 2022-01-01 20:49:40 -05:00
Guy Scharf
b22e0cd026 Fix problem with minimum pressure sometimes shown as zero on Overview and Statistics pages.
Journal session was corrupted with channel id's not valid for journals.
  May have been caused by incorrect QHash coding in MinutesAtPressure.cpp
  Revised Min and Max functions not to look at MT_JOURNAL sessions.
  Updated release notes,.
2021-12-20 11:27:48 -07:00
sawinglogz
ecc6bad213 Remove an unexpected data alert based on new PRS1 sample data.
In this specific instance, replace it with a warning in the debug log.
2021-12-14 17:14:47 -05:00
sawinglogz
704d6d7c9e Add 401X150 to the list of tested machines.
Also update F0V6 warnings based on new test data.
2021-12-10 13:43:03 -05:00
Guy Scharf
cda41274d5 Add date range option to Statistics page.
Implement existing (but hidden) UI for data range and modify reporting as needed.
  This is not the ideal solution to this feature. It would be better to have a pop-up
  dialog that asked for beginning and ending dates of range and size of interval for
  interval reporting.
2021-12-10 00:54:14 -07:00
sawinglogz
12aecc521c Update 900X warnings based on new test data. 2021-12-03 12:45:29 -05:00
Guy Scharf
8a1a36fa67 Fix #endif typo in DV6 loader 2021-11-29 15:18:18 +00:00
sawinglogz
3a0fce1411 Add 261P to the list of tested machines.
Also update F0V4 warnings based on new test data.
2021-11-29 10:07:11 -05:00
Guy Scharf
21fc564578 Improve event flag positioning slightly.
The timestamp supplied by the DV6 CPAP machine doesn't match events to the flow graph very well.
This change helps a little. Event flags may be before or after the event in the flow graph.
And, once in a long while, it's exactly right!
2021-11-27 22:10:40 -07:00
Guy Scharf
a8a56dff02 Replace BRICK! with better message. Improve appearance of "no data" messages. 2021-11-27 13:20:48 -07:00
sawinglogz
09753cc50c Add 460PBT to the list of tested machines. 2021-11-11 15:40:20 -05:00
sawinglogz
bf3c760057 Clarify debug message when encountering DS2 without default keys. 2021-11-05 14:29:12 -04:00
sawinglogz
da6047d32d Refine support for DS2 settings. 2021-11-05 14:29:12 -04:00
sawinglogz
7a47c7c7e3 Add initial support for new DS2 settings. 2021-11-05 14:29:12 -04:00
sawinglogz
139e1e8a8d Recognize DS2 files with .B01, etc. file extension. 2021-11-05 14:29:12 -04:00
sawinglogz
b7e0263429 Update credits to reflect third-party libraries and their licenses.
Also move miniz to the thirdparty directory for clarity.
2021-11-05 14:29:12 -04:00
sawinglogz
48130243ed Fix minor PRS1 regression introduced in 8fd2840.
Complete failures were incorrectly being treated as fully up to date.
2021-11-05 14:29:12 -04:00
sawinglogz
1f3f33c45a Add DS2 icon and model number. 2021-11-05 14:29:12 -04:00
sawinglogz
9b6cc46942 Add initial support for decrypting DS2 files with default keys. 2021-11-05 14:29:11 -04:00
Jeff Norman
59e1b2817b Updated copyright year to 2022 for OSCAR files 2021-11-02 16:34:12 -04:00
sawinglogz
a838e343ce Add support for new tubing type setting code on 700X110 v1.2. 2021-10-28 14:17:28 -04:00
sawinglogz
a445781167 Remove noisy debug message in PRS1 loader.
In theory it was useful to know why files were skipped, but in practice we
normally skip all but the most recent files, often thousands. If you had the
misfortune to have the debug pane open, you'd have to wait for an extra
minute or two for all those messages to scroll by.

If and when we can limit import scanning to files that are new or changed,
then the debug message will be useful again.
2021-10-28 14:17:27 -04:00
Phil Olynyk
69a515baf2 Look for AS11 Ident file first 2021-10-27 23:23:38 -04:00
Phil Olynyk
71f77d1336 Uncomment the skip of 10 seconds for pressures 2021-10-27 20:47:20 -04:00
Phil Olynyk
0ebf7b1a43 revise AS11 mode handling; translate to s9/AS10 values 2021-10-27 20:26:18 -04:00
sawinglogz
749c6a3358 Remove remaining Machine dependencies from PRS1 loader.
Now that properties are in the MachineInfo record, we don't need
to call PeekProperties a second time to fill out the machine
record.

Also remove some unused variables and methods from class definition.
2021-10-26 15:23:08 -04:00
sawinglogz
a4fdb03c49 Move Machine properties into MachineInfo.
This will help loaders be less tied to the Machine data structure.
Since Machine contains a MachineInfo, this changes no functionality.
2021-10-26 14:59:41 -04:00
sawinglogz
2281209a20 Fix gcc compile error introduced by a4296b5e.
Also make it easier to test OSCAR calculations performed after import.
2021-10-26 14:43:14 -04:00
sawinglogz
d631a77b5b Remove false positives from a noisy debug message.
It looks like only PRS1 uses MINOR_FLAG, and we don't care about
the CPAP_PressurePulse channel missing valuesummary.
2021-10-26 12:30:35 -04:00
sawinglogz
8fd2840e15 Fix the PRS1 loader to fully import DS1 data after it skips DS2 data.
This was a very specific edge case: when there was a single new DS1
session, the error resulting from encountering DS2 data would make
OSCAR think that it had imported zero sessions, even though it had
half-imported the DS1 session. (Those sessions would be lost after
quitting OSCAR.)
2021-10-26 12:24:31 -04:00
sawinglogz
947a27b78a Move database writing from PRS1Loader into ImportContext. 2021-10-26 10:28:30 -04:00
sawinglogz
18e97bb025 Reduce PRS1Loader dependency on Machine data structure. 2021-10-26 10:28:30 -04:00
sawinglogz
4bfe062ae9 Initialize ImportContext for non-CPAP devices.
Now the loaders imported via the Data menu have access to the
unsupported/untested/brick signals and CHECK_VALUE and UNEXPECTED_VALUE
macros.

Now only devices imported via the oximetry wizard are left out,
since we need to revisit that entire workflow.

Also removed the unused Profile::Import() method.
2021-10-26 10:28:29 -04:00
sawinglogz
08f4e2a5b7 Move ImportContext and ImportUI creation into main application.
Now all CPAP loaders have access to the unsupported/untested/brick signals
and CHECK_VALUE and UNEXPECTED_VALUE macros.

Also remove superfluous unsupported flag in MachineLoader.
2021-10-26 10:28:29 -04:00
sawinglogz
4c0677fca1 Move ImportContext and ImportUI signals out of PRS1Loader into MachineLoader.
This will allow any loader to make use of them.
2021-10-26 10:28:29 -04:00
sawinglogz
e8aa42db98 Move CHECK_VALUE and UNEXPECTED_VALUE macros into ImportContext header.
Any loader that uses ImportContext will be able to use them.
2021-10-26 10:28:29 -04:00
sawinglogz
b2b93c6a24 Move untested/unsupported/brick alerts into ImportUI. 2021-10-26 10:28:29 -04:00
sawinglogz
de40161e8c Add ImportContext to begin reducing loader dependencies on Profile.
For now only the PRS1Loader makes use of the ImportContext.
2021-10-26 10:28:29 -04:00
sawinglogz
332fc4294d Remove unintended leak calculation from PRS1 loader.
Now that the post-process calcLeaks properly handles discontinuous
data, don't make the loader pretend that the machine generated
CPAP_Leak data when it didn't.

The resulting data is nearly identical, except for around edge cases
where the "correct" result is isn't clear. For example, when a
pressure changes within a 2-minute reporting interval, the
post-process calcLeaks will use that pressure when calculating
the unintended leak for that interval. The previous PRS1 loader
calculations were inconsistent, but would often apply the pressure
in place at the beginning of the 2-minute interval instead.
Either interpretation could be reasonable, but consistency is
preferred.

These minor differences aren't worth pursuing further, since the
calculated unintended leak looks dubious regardless.

This affects all CPAP/APAP/BiPAP models in the 4xx-7xx range.
In contrast, most ventilators and ASV record unintended leak
data (only the oldest ones don't), and so aren't affected by
these changes.
2021-10-26 10:28:29 -04:00
sawinglogz
a4296b5e93 Reimplement calcLeaks to be correct for discontinuous data. 2021-10-26 10:28:28 -04:00
sawinglogz
b2f86a720c Further zMaskProfile cleanup, no change in functionality. 2021-10-26 10:28:28 -04:00
sawinglogz
5693dcf458 Remove unused code from zMaskProfile.
calcLeaks simply uses linear interpolation based on user settings.
2021-10-26 10:28:28 -04:00
sawinglogz
048515b131 Comment out unused MachineLoader methods. 2021-10-26 10:28:28 -04:00
Guy Scharf
e53b66882e Update copyright notices in code -- no other changes 2021-10-23 20:19:53 -07:00
kappa44
f1a9dbfae3 Merge branch 'master' into drift-fix2 2021-10-22 10:12:44 +11:00
Guy Scharf
3a12ae5c71 Some SleepStyle machines were incorrectly identified as Icon machines. 2021-10-21 10:40:58 -07:00
kappa44
3cfbda2f69 Fix value display on and exact data points, and near session boundary with drift 2021-10-20 11:02:17 +11:00
kappa44
ac210e9068 Fix value display near session boundary with drift 2021-10-20 11:01:25 +11:00
Phil Olynyk
3c571e6b88 Fix weird Y2K feature of QTime - Thanks to Kappa 2021-10-09 11:47:45 -04:00
Phil Olynyk
5cb93b011c Fix mode names for BiLevel modes. Update release notes 2021-10-07 19:32:19 -04:00
Guy Scharf
7bffd78203 Code cleanup in SleepStyle loader
Minor improvement to mask pressure averaging used in unintentional leak calculations.
  Fix Y2K calculation in unused code in sleepstle_EDFInfo.cpp
  Update Release Notes
2021-10-05 20:18:19 -07:00
Guy Scharf
9f4cd79b3d SleepStyle loader now shows high resolution leak rate
Loader calculates leak rate from mask pressure and does usual linear interpolation for leak rate for the pressure
  Calculation of CPAP_Leak is now done in the loader rather than in calcs.cpp
2021-09-26 10:42:20 -07:00
sawinglogz
cc81c75ea0 Update Viatom warnings based on further experimentation.
Thanks for Ratchick for figuring out the mystery header value!
2021-09-26 12:25:49 -04:00
sawinglogz
3bae7f2102 Fix clang compilation regression in 054b633e. 2021-09-22 16:22:59 -04:00
Phil Olynyk
be2e105a14 Merge branch 'master' into beta3-resmed 2021-09-22 13:52:51 -04:00
Phil Olynyk
96f3b6c658 Clean up AVAPS pressure settings 2021-09-22 13:52:02 -04:00
sawinglogz
d95c77ee40 Add support for yet another Viatom/Wellue filename variation.
Apparently the Android app is now exporting files with timestamps of the form
"YYYY-MM-DD hh:mm:ss". It turns out that ":" is not a valid character on
macOS, so Mac users using version 2.72 of the Android app will need to rename
their files to end with "YYYYMMDDhhmmss" in order to select and import them.
Windows and Linux won't.

Fortunately the intersection of Android users and Mac users is relatively small.
And this may be reverted in a future version of the Android app.

Also clean up some competing release notes edits.
2021-09-22 11:58:13 -04:00
sawinglogz
9134093af6 Update Viatom warnings based on additional test samples. 2021-09-22 11:53:03 -04:00
sawinglogz
a9faa2eddc Add support for unreadable SpO2 samples on Viatom/Wellue oximeters.
These occur when SpO2 drops below 61% but pulse rate is still valid.
2021-09-22 11:53:03 -04:00
sawinglogz
cf1b12e029 Prefer a Viatom filename's timestamp to the header timestamp when valid.
No naturally occurring discrepancies have been observed in the wild,
but for some reason the timestamps generated by Viatom/Wellue devices
seem to be a bit off, even when their clocks have been synchronized
to atomic time.

This patch provides a fairly easy way for a user to adjust Viatom
timestamps to match their CPAP's.
2021-09-22 11:53:03 -04:00
sawinglogz
3d855066b2 Reinstate unexpected data warnings suppressed by 31bd10 until we find test data.
Also remove unnecessary comments now that the functional changes have been
reviewed and tested.
2021-09-22 11:53:03 -04:00
sawinglogz
79c5809b59 Add support for Viatom/Wellue files that have a SleepU_ etc. prefix. 2021-09-22 11:53:03 -04:00
Phil Olynyk
150bc3a3bc Test for Ident.json file first, complain if both .json and .tgt exisit 2021-09-12 13:45:24 -04:00
Phil Olynyk
43a3b155b7 Ignore new fields fro 28509 (Lumis 150) 2021-09-11 21:33:01 -04:00
Phil Olynyk
054b633ebe Fix issues with beta.2 2021-09-07 08:51:00 -04:00
Phil Olynyk
e89a12e097 Change Pt. View to Patient View, and Comfort to Response in Settings 2021-08-24 19:56:59 -04:00
Guy Scharf
d8f218ff14 SleepStyle loader code cleanup
Use #define DEBUGSS to enable all loader debug messages, which are off by default
Change EPR definition to "Expiratory Relief" which is the term F&P uses instead of "Exhale Pressure Relief"
2021-08-24 00:21:18 +00:00
kappa44
47436ae517 Merge branch 'master' into somno-split 2021-08-23 09:29:53 +10:00
Phil Olynyk
ec1a7a6df7 Fix channel type test, attempt SmartStop display 2021-08-22 17:39:13 -04:00
Phil Olynyk
2326ed4fc8 Update VERSION and resmed data version; other miscellaneous fixes 2021-08-22 15:21:12 -04:00
kappa44
966a5de970 Merge branch 'master' into somno-split 2021-08-19 17:22:22 +10:00
kappa44
db2047b6d5 Split single CSV in to multiple sessions 2021-08-19 17:14:35 +10:00
Guy Scharf
36c2968701 Revise CPAP/APAP identification in SleepStyle loader
o While the Sleepstyle summary record has a data item that appears to identify the mode as CPAP or APAP, it is not reliable
  o Determine APAP or CPAP by comparing Max and 95 percentile pressures seen with the CPAP pressure setting
  o This could result in an incorrect identification if user sets CPAP pressure to APAP Max pressure.
  o Add DEBUGSS define to enable SleepStyle loader debugging.
2021-08-18 22:31:24 -07:00
Guy Scharf
3808943f65 calcs.cpp: Remove debug statements no longer needed 2021-08-18 22:30:43 -07:00
Phil Olynyk
81856e0866 Clean up code around reporting missing value summaries 2021-08-17 19:29:46 -04:00
Phil Olynyk
f7e3ccdc17 Merge branch 'master' into more-AS11-tweaks 2021-08-17 12:29:53 -04:00
Phil Olynyk
40b465f588 Add PtView for AS11 in place of Essentials 2021-08-17 11:32:39 -04:00
sawinglogz
c245eb5a0c Update unexpected data alert for PRS1 900X110 based on new sample data.
Also add support for auto-trial duration on 460P.
2021-08-16 10:44:13 -04:00
Guy Scharf
038035785d Fix loss of AHI graph in previous commit 2021-08-15 22:51:09 -07:00
Phil Olynyk
1d99b0c5d8 Added -Untested machine- code 2021-08-14 17:59:35 -04:00
Guy Scharf
6f3adfdcbe Fix Pressure Relief column on Statistics page for SleepStyle machines 2021-08-02 16:36:28 -07:00
Phil Olynyk
569f5794c7 Logical and of channel type with FLAG, to prevent extra messages 2021-07-31 23:30:24 -04:00
Phil Olynyk
6747324429 Subtract one from AS-11 settings values 2021-07-25 18:43:23 -04:00
Phil Olynyk
85512761ea Add test for FLAG to clean up debug in updatesummary 2021-07-25 16:38:24 -04:00
Guy Scharf
9f5373ed91 Refactor functions that act on all AHI-contributing channels.
Add new AllAhiChannels ChannelID to refer to all channels that contribute to AHI.
List of AHI-contributing channels is in "ahiChannels" QVector.
2021-07-24 21:12:15 -07:00
Guy Scharf
86d498f563 SleepStyle loader now classifies apneas as either A or H, like InfoSmart does. 2021-07-24 21:11:06 -07:00
Guy Scharf
cf12737b9e Fix outstanding Sleepstyle Loader problems
Mostly improve settings and make them appear properly on daily page
Return to having four event flag channels (OA, UA, CA, H) instead of two (A, H)
for testing to see if channel identification is reliable.
F&P A = OA + CA; F&P H = H + UA
2021-07-17 16:26:21 -07:00
Guy Scharf
04d7945241 Use rolling average when computing TV from flow graph
Also, start with a guessed-at reasonable value to try to
minimized spike artifacts resulting from poor calculation
of initial breath volume.
2021-07-17 16:22:40 -07:00
Guy Scharf
0e3f669210 Adjust order of indices on Daily page so that no two indices have the same sort order. 2021-07-17 16:21:32 -07:00
Phil Olynyk
3b02abe63c Remove bogus limits on pressures in LoadPLD 2021-07-13 14:36:31 -04:00
Phil Olynyk
c1df93ff42 Merge branch 'master' into AS11-STR-changes 2021-07-11 20:40:55 -04:00
Phil Olynyk
f69e22f876 Merge branch 'master' into json-11 2021-07-11 20:34:23 -04:00
Phil Olynyk
8c18683274 Add Comfort to StoreSettings 2021-07-09 17:39:23 -04:00
Guy Scharf
bf62344e5d SleepStyle loader now reports only H and UA (no CA or OA)
While the event flags in SleepStyle data show four different types of apneas,
Fisher & Paykel software reports only two types: Hypopneas and Apnea. OCAR
how combines those four types to report the same way as F&P does.
We don't know why F&P consolidates these different event types -- perhaps
they are "dumbing-down" detail to make it easier for users, or perhaps
they know that the identifcation of CA, OA, UA, and H is not reliable.
We can easily restore more details to the event identification.
2021-07-08 22:20:59 -07:00
Phil Olynyk
b29d8ae3f8 Add AS11 STR strings to ProcessSTRfiles 2021-07-08 14:27:22 -04:00
Guy Scharf
41ea0389f6 Add SleepStyle loader
This is the first test version of the F&P SleepStyle loader
Additional refinements are yet to be made. Events and timestamps
need to be confirmed, but overall the loader appears to be working.
2021-07-08 10:43:02 -07:00
Guy Scharf
f9a2228b9c DV6 loader now overwrites files when creating backups 2021-07-08 10:38:16 -07:00
Guy Scharf
c1a99850c6 EDFParser - add option to handle EDF files with UTC timestamps
Needed for SleepStyle CPAP as dates in the data files are UTC and not local
2021-07-08 10:35:44 -07:00
Guy Scharf
f0c7cfc991 Add option to copypath() to overwrite existing files
copypath() only copies files that do not exist in the destination directory.
Added an optional parameter that forces copypath() to overwrite existing files.
This is needed for SleepStyle and DV6 loaders.
PRS loader should not be affected (it is the only other loader using copypath)
2021-07-08 10:32:50 -07:00
Guy Scharf
2ab4e7bbe2 Calcs.cpp - calculation of TV and MV now uses a rolling average
Only a few loaders are affected by this, notably SleepStyle but not ResMed
A rolling average calculation makes calculated values resemble CPAP values more closely
2021-07-08 10:28:53 -07:00
Guy Scharf
e7ce6f00f1 DeVilbiss BLUE (DV6x) loader
Backups complete and Build from Backup works
Low resolution graphs corrected
2021-06-18 13:31:56 -07:00
Phil Olynyk
83f80f44d2 Backup either tgt or json Ident file 2021-06-07 13:58:04 -04:00
Phil Olynyk
024c0daf49 Parse identification.json for AS11 2021-06-06 22:57:52 -04:00
sawinglogz
ec403a0c75 Remove unused comments and code in PRS1 loader. 2021-05-31 21:35:31 -04:00
sawinglogz
c5175b20d2 Move PRS1 file parsing into separate parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 21:32:18 -04:00
sawinglogz
6fc41537e2 Move remaining PRS1 chunk parsing into separate parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 21:23:03 -04:00
sawinglogz
7864d509cc Move PRS1 F5 parsing into separate F5 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 21:02:11 -04:00
sawinglogz
26ce41927b Move PRS1 F3V03 parsing into separate F3 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:54:24 -04:00
sawinglogz
ded4ea4d8f Move PRS1 F3V6 parsing into separate F3 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:52:43 -04:00
sawinglogz
e5e3700c71 Move PRS1 F0V23 parsing into separate F0 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:41:44 -04:00
sawinglogz
7b0e732ae5 Move remaining PRS1 F0V4 parsing into separate F0 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:39:44 -04:00
sawinglogz
f74c38d512 Move PRS1 F0V45 parsing into separate F0 parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:34:50 -04:00
sawinglogz
2a326c816f Move PRS1 F0V6 parsing into separate parser file.
No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 20:24:09 -04:00
sawinglogz
daaed2de79 Move PRS1DataChunk into parser header and clean up dependencies.
Also move some previously static functions into their associated classes,
which lets us remove a few unnecessary wrapper functions used for testing.

No change in functionality.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 14:53:23 -04:00
sawinglogz
0a996cde73 Move PRS1 parser event definitions into new parser cpp/h files.
No change in functionality.

This is almost entirely copy/paste, with the main exception of moving the
contents() method definitions out of the class definitions and moving the
needed TYPE definitions out of the header file.

Use git blame dd9a087 to follow the history before this refactoring.
2021-05-31 13:18:39 -04:00
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
dbaafed73d Journal should always ignore 'do not import sessions' date 2021-05-21 10:42:38 +10:00
kappa44
a836871914 Ignore old sessions should not impact existing data 2021-05-18 20:45:04 +10: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
LoudSnorer
94e5cf2332 Merge branch 'master' into saveCustomRangeOverReload 2021-04-16 18:38:27 -04:00
Guy Scharf
5a64262ff6 Minor fix to #ifdefs in DV6 loader 2021-04-13 17:48:39 -06:00
Guy Scharf
037b13c73c Adjust labels on Daily and Overview pages to show 99.5% instead of Max when max is not used
Note that "Max" on the Statistics page really is the "max" and not 99.5%
2021-04-13 17:47:15 -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
LoudSnorer
9777ecd2ab This allows the Overview Custon range to be saved and resurvive a reloaded of OSCAR.
a New feature has been been added but can not be activated until a UI file is changed - another submission.
This new feature will utilize the current displayed range as the custom range.
Other wise the Overview custom range uses the values from the calendar.
This changes does not require and data or translations.
2021-03-21 16:21:48 -04: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
kappa44
c13951b675 Consider CPAP drift when displaying current value 2021-02-22 09:20:34 +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
Guy Scharf
7bf8470d36 Mark exported journal backup file as UTF-8. 2021-01-18 21:55:14 -07:00
Phil Olynyk
f05320e725 Add font debugging, add setApplicationFont to Daily::Load(date) 2021-01-15 20:20:36 -05:00
Guy Scharf
142220c16c More diagnostics for font setting failure on startup on RPi
Dump entire font table if desired font is not found
2021-01-15 11:30:34 -07:00
Guy Scharf
b8415117c3 Improve font setting diagnostic message 2021-01-14 15:20:53 -07:00
Guy Scharf
b00434f1d9 Add diagnostics when setting application font
To help resolve font setting problem on RPi4
2021-01-14 20:43:38 +00: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
5fb837ccb9 Daily page enable/disable oximeter session now works correctly.
Prevoiusly, disabling an oximeter session could cause bookmarks to be
disabled and/or OSCAR to crash. OSCAR was looking up the session for
the oximeter session and not noticing it got a Journal session instead.
2020-11-04 21:12:05 -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
d4c2b74afb Allow non-ASCII (UTF-8) characters in user first and last name in user profile
We do this by forcing a UTF-8 byte order marker in the profile.xml file.
We also add processing instructions that specify UTF-8, although it seems the BOM is itself sufficient.
2020-10-31 18:06:38 -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