Commit Graph

2643 Commits

Author SHA1 Message Date
sawinglogz
53f1a881a3 Split parsing from importing for compliance (brick) data.
This isn't fully tested yet, since I don't currently have fileVersion 2 samples.
It has been tested with 200X devices and doesn't change behavior there,
but the slice parsing immediately bails, so it's not really being exercised.

It seems very weird that "slices", whatever they are, would only show
up on bricks, the least capable devices. This needs more investigation.
2019-05-26 14:17:58 -04:00
Norman Heino
6b7fe4c8f2 Fix use-after-free in Profile::UnloadMachineData 2019-05-26 17:18:42 +02:00
sawinglogz
eb75860221 Split parsing from importing for F0V2 and F0V3 summaries. 2019-05-25 21:57:29 -04:00
sawinglogz
7a153a6516 Split parsing from importing for F0V4 summaries. 2019-05-25 21:25:56 -04:00
sawinglogz
e49c947b6b Split parsing from importing for F0V6 summaries. 2019-05-25 21:08:53 -04:00
sawinglogz
b6c35c7610 Split parsing from importing for F3 (probably V6) summaries.
This looks discouragingly redundant at first glance, but eventually
the import stage will probably be unified across all families, leaving
the parsers the only difference. That'll happen after all summary
importers have been split.
2019-05-25 19:43:35 -04:00
sawinglogz
6b1b7e225c Split parsing from importing for remaining F5 summaries. 2019-05-25 19:21:46 -04:00
sawinglogz
1cd7ac7c14 Merge identical F5V0 and F5V1 and remove unused F5V2 summary parsers. 2019-05-25 18:01:09 -04:00
sawinglogz
0d8e37c94c Split parsing from importing for F0 events. 2019-05-25 17:00:44 -04:00
sawinglogz
abac19bbf1 Split parsing from importing for F3V3 events. 2019-05-24 20:09:53 -04:00
sawinglogz
5a88887cc3 Split parsing from importing for F3V6 events. 2019-05-24 19:41:42 -04:00
sawinglogz
a4612a4f24 Split parsing from importing for F5V0, F5V1, F5V2 events. 2019-05-24 17:08:51 -04:00
Seeker4
704395dbda Initial attempt at recalculation number of periods for annual statistics 2019-05-24 12:43:49 -07:00
Phil Olynyk
f05cc5fbc5 warn empty filename for QT < 5.12 2019-05-24 16:22:44 +00:00
Phil Olynyk
a4cf207bd1 replace QDir.isEmpty() with QDir.count() == 0 for QT < 5.9 2019-05-24 16:22:44 +00:00
Norman Heino
07372487ac Save session info when unloading machine data
Fixes 0000046
2019-05-24 05:28:48 +02:00
sawinglogz
a5b4851583 Remove unused code from PRS1 event parsers.
Also temporarily disable the time-consuming chunk unit test, since
the current work is on conversion from chunk to sessions.
2019-05-23 12:17:21 -04:00
Norman Heino
a2ff7ef95e Perform UI updates in bulk before/after screenshot
Fixes 0000074
2019-05-23 05:10:34 +00:00
Seeker4
498e15c56b Remove some WebKit code (there's lots more to go). 2019-05-22 19:03:59 -07:00
sawinglogz
795e9414be Split parsing from importing for F5V3 summaries.
This looks even uglier than the F5V3 event split for now,
since portions of the fileVersion 3 parsing are still stuck in
PRS1Import, and can't be reasonably moved until all the parsers
are split into PRS1DataChunk.

Also, PRS1ParsedSettingEvent may be the wrong abstraction. That's
a first attempt, so that it can inherit PRS1ParsedEvent's notion
of gain and unit, and because m_parsedData is currently a list
of PRS1ParsedEvent pointers. But it has no notion of time (start=0)
and requires yet another enum to specify which setting it
represents.

This should be revisited once all the parsers have been split
and the summary parsing can be examined in more detail.
2019-05-22 20:11:48 -04:00
sawinglogz
355a85a1fc Tweak Session YAML output to print sane floats instead of full precision. 2019-05-22 19:59:10 -04:00
Seeker4
4697f84ea9 Revise Statistics page heading to use less space. Reformat and correct errors in HTML strings. 2019-05-22 13:49:28 -07:00
sawinglogz
5b959efc37 Split parsing from importing for F5V3 events.
This doesn't look much prettier yet, since it requires double the
switch statements, but the expectation is that once all event
parsers are split out from import, the import routines will be
identical among all machines, and can then be consolidated.

Regardless, it's important to drive a wedge between file parsing
and the internal database structure.
2019-05-22 11:00:45 -04:00
Seeker4
a433b29af1 Change heading from Prescription Settings to Machine Settings 2019-05-21 16:24:21 -07:00
Seeker4
e22f5b87ef Merge branch 'master' into Database 2019-05-21 15:15:52 -07:00
Seeker4
a5316025dd Add ignore of JSON file used by Sourcetrail. 2019-05-21 15:14:18 -07:00
Seeker4
7fc534f75b Format cmH2O properly in machine settings on Daily page. Needed only for ResMed and because formatted data is saved in database at original import. 2019-05-21 15:12:42 -07:00
Seeker4
efc03004a6 Add more method documentation for Doxygen. 2019-05-21 15:11:53 -07:00
Seeker4
275ba9a09b Batch file to make running Doxygen easier. Improvements to Doxyfile control file. 2019-05-20 01:29:31 -07:00
Seeker4
811ac9e3a9 Improve documentation about OSCAR for Doxygen use. 2019-05-20 01:27:50 -07:00
Seeker4
d7d1fd3095 Merge branch 'master' into SessionBar 2019-05-19 17:48:34 -07:00
Seeker4
ff2bdf3d01 Session bar now shows "no sessions present" if there are not sessions, instead of showing last days's sessions. 2019-05-19 17:44:10 -07:00
Seeker4
f5e9b2d3da Remove comment about screen capture being broken on Mac. 2019-05-19 11:17:14 -07:00
sawinglogz
f8e4ff754b Add OSCAR version number to PRS1 unit test logs. 2019-05-18 19:46:24 -04:00
sawinglogz
2bfae3531f Merge branch 'master' into prs1-overhaul 2019-05-18 19:28:45 -04:00
sawinglogz
4511ee3677 PRS1 parsing regression test: generate YAML for each parsed chunk.
Each input file's chunks get emitted into a single output YAML file. As parsing
gets separated from conversion/import, this will allow for testing and
examination of the parsed input files before they are transformed into
sessions.
2019-05-18 19:20:36 -04:00
sawinglogz
21adfb7987 Fix header parsing for 1160P event files, fix misconceptions in ReadWaveformHeader.
Now that we check header checksums, it uncovered a problem parsing 1160P event
headers. It turns out that the 1160P uses a "waveform" header for its .002
events files. So we can't use the file extension to decide which header to
parse, but there's a flag in the standard header that seems to reliably indicate
a waveform header. The 1160P events are listed at fixed intervals, as are
waveforms, so the flag has been named "interval" rather than "waveform."

The 1160P event headers have more than 2 signals in the header and an interval
longer than 1sec. This clarified the meaning of multiple waveform header fields
that were previously being parsed incorrectly.
2019-05-18 19:17:55 -04:00
Norman Heino
d0f0aed29d Improve screenshot feature
Limit screenshots to OSCAR's application window under macOS.
Use main window geometry as basis for screen capture rectangle, removing
the need for resizeing hacks.

Tested on:
* macOS 10.14
* Ubuntu 18.04
* Windows 10
2019-05-18 15:30:10 +02:00
Seeker4
c6c11fd4f9 Fix crash when taking screenshot before a profile is open. 2019-05-17 23:44:39 +00:00
Seeker4
cb1a6f97bc Pixel editing to 32x32 icon (Wave-32.png) to make white border more even. 2019-05-16 23:03:40 -07:00
Seeker4
e033a5a4ef Tweaking the white rim in the lower right corner of 32x32 icon for taskbar etc. 2019-05-16 22:33:05 -07:00
Seeker4
e80c444475 Round 3 of logo and icon revisions with extensive pixel-level editing of smaller icons. Ruth may make further changes. 2019-05-15 18:01:06 -07:00
sawinglogz
ccafa1f16e Calculate and check PRS1 CRC32 on V3 files, fix memory leak. 2019-05-15 17:41:37 -04:00
sawinglogz
1c564fb296 Calculate and check PRS1 CRC16 on V2 files. 2019-05-15 15:16:14 -04:00
sawinglogz
c8cd66992a Split PRS1DataChunk::ReadHeader into ReadHeader/ReadNormalHeaderV2/ReadNormalHeaderV3. 2019-05-15 12:32:39 -04:00
Seeker4
b58ab25f88 Update README file for logo and icon development. 2019-05-15 16:13:57 +00:00
Seeker4
3e5d3a901b Set window icon to 32x32 rather than 24x24. 2019-05-15 16:13:57 +00:00
Seeker4
d7d1446bfc Second pass at new icons with manual editing of smaller icons. 2019-05-15 16:13:57 +00:00
sawinglogz
d3c6d6445b Split PRS1DataChunk::ReadHeader into ReadHeader/ReadWaveformHeader. 2019-05-15 10:26:31 -04:00
sawinglogz
e07c4ce63c Split PRS1DataChunk::ReadHeader into ReadHeader/ReadData. 2019-05-15 08:36:31 -04:00