Commit Graph

211 Commits

Author SHA1 Message Date
sawinglogz
42f0745666 Improve settings interpretation for F3V6, though still not exactly right.
The next step will be to split parsing from mode interpretation, so that
we can at least accurately identify all of PRS1's modes. Then we can
work on mapping that to OSCAR's notion of modes, which probably then needs
to be augmented.
2019-08-20 12:48:15 -04:00
sawinglogz
ecb71e5706 Calculate PRS1 F3V6 pressure support settings, since we currently display them. 2019-08-20 12:08:24 -04:00
sawinglogz
0c816c7d4c Avoid pos++ in PRS1 DreamStation parsers to that events can be issued independently of parsing order. 2019-08-20 11:38:55 -04:00
sawinglogz
6c85195b39 Remove unused variable that clang missed. 2019-08-19 12:23:45 -04:00
sawinglogz
31fc47a5c5 Remove "series" from display in UI and on reports. 2019-08-18 17:27:21 -04:00
sawinglogz
928e50fcc1 Use actual product names for PRS1 instead of mangled approximations. 2019-08-18 17:03:52 -04:00
sawinglogz
66d9340cbb Don't mangle the model name for ResMed machines. 2019-08-18 16:56:41 -04:00
sawinglogz
84b900ca90 Remove the m_machopened flag from Profile, which caused newly created profiles
to act differently from profiles after a subsequent application launch.

It was only getting set at the end of Profile::OpenMachines, which was only
called by the Profile constructor, and which wouldn't succeed on a newly created
profile, having no files to open. Therefore, the only way for the flag to be set
was to quit and re-launch the application after creating the profile.

The flag's only remaining use was to make sure that OpenMachines() wasn't
getting called twice and trampling an existing list of machines, so the check
there was changed from looking at a brittle flag to looking at the actual list
of machines.

A critical warning was also added to the check, since OpenMachines() is
only getting called from the Profile constructor and therefore can't
be invoked twice unless a new bug has been introduced.
2019-08-15 16:56:44 -04:00
sawinglogz
e3e67438ea Fix the incomplete cleanup in Profile::UnloadMachineData that was resulting in
duplicate sessions being added when making preference changes to a brand new
profile with existing data.

Preference changes trigger a reload, see PreferencesDialog::Save and
needs_reload, leading to MainWindow::reloadProfile -> MainWindow::CloseProfile
-> Profile::UnloadMachineData.

This is the root cause of the duplicate sessions, but the fact that it only
happened with newly created profiles, rather than on subsequent launches,
demonstrates an inconsistency in state of Profile. It should be identical when
initially created and when loaded via subsequent application launch.
2019-08-15 16:28:07 -04:00
sawinglogz
6f7a49f949 Add a critical warning and skip when attempting to add a duplicate session to a Machine object.
This prevents duplicate sessions from being added to Day during a rebuild, but is still not
the root cause. The next step will be to address the attempted duplication in Machine.
2019-08-15 16:18:23 -04:00
sawinglogz
7d72f71fb4 Add a critical warning when a duplicate session is added to a Day object.
This is one step closer to the root cause of the crash, in which duplicate
sessions were being created during a rebuild.
2019-08-15 16:14:54 -04:00
sawinglogz
6d735a5733 Add Day::removeMachine to detect and clean up dangling references rather than
crashing when rebuilding data.

This doesn't yet address the root cause, but it will prevent crashing if other
similar bugs exist.
2019-08-15 15:49:40 -04:00
sawinglogz
0b8f89036a Merge branch 'master' into prs1-f0v6 2019-08-14 09:15:39 -04:00
sawinglogz
675f6d4361 Resolve remaining F0V6 event 3 debug messages in sample data. 2019-08-13 23:03:20 -04:00
sawinglogz
cc80a3ef09 Remove F0V6 logic from PRS1DataChunk::ParseEventsF0V234, no functional change. 2019-08-13 21:09:55 -04:00
sawinglogz
3eee72390e Clean up PRS1DataChunk::ParseEventsF0V6, no change in functionality. 2019-08-13 17:29:05 -04:00
sawinglogz
73dfdac81b Add debug logging for PRS1 F0V6 event 3. 2019-08-12 21:51:37 -04:00
Seeker4
e315baf6df Test builds use settings key of oscar-test, branch builds oscar-branch, and release builds just oscar. Default data directory named similarly. 2019-08-12 16:02:53 -07:00
sawinglogz
3de32dd21b Fix F0V6 PB starting time, and probably LL and PS as well. 2019-08-12 17:20:25 -04:00
sawinglogz
946293b67d Split PRS1Import::ParseF0Events into ParseEventsF0V6, no changes yet. 2019-08-12 16:58:27 -04:00
Seeker4
a08798cda2 Merge branch 'master' into dateformat 2019-08-08 16:26:02 -07:00
Seeker4
ceba1e81eb Make date in calendar on Daily page format per regional settings. 2019-08-08 16:24:30 -07:00
harre
77ccd417a3 Fix deprecated-copy errors and made deprecated-declarations just a warning 2019-08-06 23:49:51 +02:00
sawinglogz
d99e397cb3 Update PRS1 parser for 500X, 600X, and 700X events. 2019-08-06 15:47:36 -05:00
Seeker4
5cf6e14816 Fix problems resulting in compiler warning messages 2019-08-06 12:33:48 -07:00
Seeker4
75c0a9950a Format dates per national settings. 2019-08-06 10:51:14 -07:00
sawinglogz
7dd891df31 Add more F0V6 events based on remaining 400X sample data. 2019-08-05 21:37:19 -05:00
sawinglogz
64309f366a Add PRS1 model 562P to list of tested machines. 2019-08-05 20:46:05 -05:00
sawinglogz
84f1389d51 Support more F0V6 events based on all sessions from a single 400X machine. 2019-08-05 15:22:22 -05:00
sawinglogz
4e863ba484 Add first confirmed F0V6 events from sample data. 2019-08-04 21:09:42 -05:00
sawinglogz
e0d4872f6b Create placeholder event parser for PRS1 F0V6, separate from other F0 machines. 2019-08-04 19:36:40 -05:00
Phil Olynyk
f7227b7316 Don't create (summary) sessions when maskon == maskoff 2019-08-01 13:30:11 -04:00
sawinglogz
9a1bccff57 Merge branch 'master' into prs1-improvements 2019-07-27 15:05:33 -04:00
sawinglogz
8ef4766efd Fix F3V6 imported channels to match reports. 2019-07-27 15:04:20 -04:00
sawinglogz
46a077cb43 Clean up remaining F3V6 import messages. 2019-07-26 22:53:15 -04:00
sawinglogz
5835e6de9c Remove commented-out F3V6 event code. 2019-07-26 22:29:23 -04:00
sawinglogz
56684de3bc Add support for more F3V6 events based on more sample sessions. 2019-07-26 22:13:26 -04:00
sawinglogz
eedd41efdf First pass at parsing F3V6 events, largely based on F5V3 and revised based on a sample session. 2019-07-25 21:44:36 -04:00
Seeker4
751df7652a Diagnostic changes for a future feature 2019-07-25 06:25:03 -07:00
sawinglogz
a2bcbf1b00 Fix pressure gain for F3V6 events and waveforms.
Also change fileVersion == 3 tests to appropriate familyVersion for ASV and ventilators, respectively.
2019-07-24 22:42:00 -04:00
sawinglogz
d33e7585bf Remove broken original F3V6 summary parser. 2019-07-24 16:51:50 -04:00
sawinglogz
9e54b98cf6 First pass at actual F3V6 (1030X, 1130X) summary and settings support based on sample data. Events are still broken. 2019-07-24 16:50:51 -04:00
Seeker4
376d04803a Show commit id in title bar for all except Release versions. 2019-07-24 01:47:15 -07:00
sawinglogz
872fe74008 Add stub F3V3 summary parser so that events and waveforms will still get loaded. 2019-07-23 20:54:39 -04:00
sawinglogz
83b80cb252 Restrict the current PRS1 F3 summary parser to F3V6, which is all it could (badly) handle anyway. 2019-07-23 20:54:25 -04:00
sawinglogz
1f56927695 Recognize additional PRS1 900X settings. 2019-07-23 12:52:41 -04:00
Seeker4
2568f79a99 Default right sidebar off, calendar off, pie chart off with new OSCAR folder. 2019-07-19 06:43:53 -07:00
Seeker4
f6941843e8 Merge branch 'master' into defaults 2019-07-14 20:28:06 -07:00
Seeker4
11f2fb5d3f Change GraphSnapshots to ShowPieChart in code, UI, and preferences. Convert any existing GraphSnapshots preferences to ShowPieChart. 2019-07-14 20:25:49 -07:00
Seeker4
48b4d754b3 Add utility to rename a preference setting 2019-07-14 20:23:23 -07:00