Commit Graph

1295 Commits

Author SHA1 Message Date
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
3ecce66397 Update release notes and VERSION for 1.3.0 2021-08-17 12:39:16 -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
8bfc2195d1 Update version to 1.2.1-alpha.4 2021-08-15 22:57:33 -07: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
4cd2ce2743 Update version number to 1.2.1-alpha.2 2021-07-24 21:33:35 -07: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
Guy Scharf
55c382d449 Add Unclassified Apneas to statistics page. 2021-07-17 16:20:44 -07:00
Guy Scharf
de9c92d430 cosmetic changes and temporary debug - no effective change 2021-07-17 16:19:30 -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
492254b580 Update version number to alpha.1 2021-07-08 10:27:42 -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
Guy Scharf
7f6128fe24 Improve dialog title when asking for CPAP data directory
Previously, window title just said "Find Directory" and users
    could be confused about what directory they were supposed to be
    looking for.
    Now, window title says "Find your CPAP data card".
2021-06-06 18:00:33 -07: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
c64376033d Fix boundary condition bugs in RawDataDevice.
bytesAvailable gets automatically calculated by QIODevice, so it doesn't
need to be reimplemented.

QIODevice doesn't necessarily buffer after a seek, and the underlying
device is unaware of peek/ungetChar, so canReadLine needs to check both
QIODevice and the device.
2021-05-24 19:59:58 -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
7a852953be Move raw data signal tests into a separate class.
Otherwise QTest treats the signal handlers as separate tests.
2021-05-23 15:48:20 -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
sawinglogz
818eafcc7c Add RawDataDevice wrapper around QIODevice to allow for filtering of incoming data before loading.
Eventually this will also provide endian-aware integer reading functions,
so that individual loaders don't have to reinvent the wheel as often.
2021-05-23 12:25:35 -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
fc5cfc2a9b Merge branch 'master' into import-date-fix 2021-05-18 20:45:27 +10:00
kappa44
a836871914 Ignore old sessions should not impact existing data 2021-05-18 20:45:04 +10:00
harre
5126c215f4 Remove not needed ignored warning as code got fixed already #25 2021-05-18 01:39:00 +02:00
harre
6c03da966a GCC 11 build fix on arch #34 2021-05-18 01:19:12 +02: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
kappa44
aec02b14aa Fix bookmark behavior with clock drift 2021-05-11 14:48:14 +10: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
kappa44
89edb3f077 Correct Total Time and AHI in CSV Export when non-CPAP devices are used 2021-04-26 10:02:30 +10: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
3591f112a9 MinutesAtPressure (timeAtPressure) has been refactored.
TimeAtPressure Graph now has the same look and feel as the Pressure Graph.
Configuration chamges to the Pressure Graph now also impact the TimeAtPressureGraph.
Changes are identified in MinauteatPressure.cpp (first 100 lines)
2021-04-17 21:54:56 -04:00
LoudSnorer
940b247cb9 Adding "snapshot" menu item to Overview Range widget after "custom".
This item copies the current displayed Overview Range to the Custom Range and its calendar (start and end).
the then selects the "Custom" range.
This is a shortcut mechanism to modifing the start and end calendar widgets.
Note: The label "snapshot" is my best quess on the name of this item.
note: The label will need to be translated,
2021-04-17 14:09:40 -04: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
889bc8842c Logger.cpp: Add #define to allow all debug messages to be seen
I have DEFINES+=HARDLOG set up in my QT Debug configurations so I can always see messages in the event of a crash.
2021-04-09 14:03:37 +10:00
kappa44
a02981f6d1 Extend purge current day to allow per-machine type purge 2021-04-05 12:23:43 +10:00
kappa44
94faff5297 Allow purge current day for all machine types 2021-04-05 12:05:05 +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
Guy Scharf
e699ea182d Update version checking to allow QT 6 2021-04-02 17:17:50 -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
85b4013b2d Fix stage & position session toggle 2021-04-01 11:32:58 +11:00
kappa44
00225103fd Save notes immediately when focus leaves notes widget. 2021-03-28 14:22:57 +11:00