Commit Graph

1275 Commits

Author SHA1 Message Date
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
kappa44
a0b9488aa9 Save notes immediately when focus leaves notes widget. Fix saving of weight changes when using up/down arrows 2021-03-28 14:22:31 +11:00
kappa44
2331bbba26 Don't ResetBounds when setDay is called to avoid changing overview graphs to full date range on BMI/Weight change 2021-03-28 14:20:19 +11:00
kappa44
37483de62a Display Weight/BMI/Zombie graphs 2021-03-28 14:15:10 +11: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
LoudSnorer
562cd9cc37 fix display issues for short span events 2021-03-21 14:15:47 -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
Phil Olynyk
c4d7ac7f05 Roll back PlaceholderText added to ui file 2021-02-22 17:26:33 -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
Guy Scharf
eb4981d3be On Daily page, show right statistics column as 99.5% or Max, as appropriate. 2021-02-22 08:59:44 -07: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
a1e011da4d Support multi-file imports for Somnopose 2021-02-22 09:30:24 +11:00
kappa44
56cf4a452c Include rates in oximetry summary. Use correct machine type hours for non-CPAP event rates 2021-02-22 09:29:12 +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