Commit Graph

2567 Commits

Author SHA1 Message Date
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
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
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
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
Norman Heino
a074cffa5b Fix macOS application menu 2019-05-15 06:49:12 +02:00
Norman Heino
a5c1e8204c Increase mask vent rate ranges 2019-05-15 06:48:18 +02:00
sawinglogz
451963de25 Move chunk parsing into PRS1DataChunk class.
The diff looks messy, but it's mostly chunk -> this search-and-replace.
2019-05-14 22:49:41 -04:00
sawinglogz
7103650023 Move PRS1Loader::ParseChunk variable declarations and V3 header unpacking to the appropriate scope. 2019-05-14 21:49:43 -04:00
sawinglogz
d7cd22c918 Separate checksum reading in PRS1Loader::ParseChunk instead of burying it with other data.
While slightly more verbose, this makes the code more clearly correct.
2019-05-14 20:47:00 -04:00
sawinglogz
d216e677e1 Simplify PRS1Loader::ParseChunk by using a chunk instead of local variables. 2019-05-14 19:57:01 -04:00
sawinglogz
74863e538a Split PRS1Loader::ParseFile in to ParseFile/ParseChunk. 2019-05-14 18:57:04 -04:00
sawinglogz
76053b0469 Check for format change before coalescing PRS1 chunks, move data warnings out of parsing. 2019-05-14 16:20:32 -04:00
sawinglogz
6e12cfea61 Remove spurious warning about weird PRS1 session IDs 2019-05-14 16:17:23 -04:00
Norman Heino
1657d2bb1f Disable dark mode in macOS
Until there is a correct implementation for dark mode colors, dark mode
is disabled. To this end a Info.plist template was placed under
Building/MacOS, containing the required setting.
2019-05-14 06:46:27 +02:00
sawinglogz
9b3aaad4b0 Move PRS1 waveform chunk coalescing out of parsing and into importing. 2019-05-13 21:23:20 -04:00
sawinglogz
f19ad331c9 Add debugging output to all error handling in PRS1 loader. 2019-05-13 21:23:20 -04:00
sawinglogz
766f08420b Comment out unused constant in CMS50 loader. 2019-05-13 12:15:06 -04:00
Seeker4
350678b48b Remove external flow from 100, 200 sizes for program use. Update icon files. 2019-05-12 09:58:27 -07:00
Seeker4
7d4999a828 Rebuild .ico and .icns files with darker wave patterns. Add new darker wave to Photoshop. 2019-05-11 23:56:04 -07:00
Seeker4
b375cbbaad New set of icons from Ruth, with outer glow effect. Put work files in new Building/Icons directory. 2019-05-11 23:29:19 -07:00
Seeker4
c427c550a4 Remove win_icon.rc from file list. win_icon.rc pointed to bob image. 2019-05-11 23:28:29 -07:00
Seeker4
b87e700119 Initial code to show ResMed EPR with a space between number and cmH2O 2019-05-10 17:53:09 -07:00
Seeker4
0967b2013e Update language display dialog so it comes to the top of the Windows stack when started. 2019-05-10 01:29:48 +00:00
Phil Olynyk
d57116b1e4 Merge branch 'master' into Fix-oximeterimport
Pick up recent changes to master
2019-05-09 13:14:08 -04:00
Phil Olynyk
2dca95d0ba Merge branch 'master' of gitlab.com:pholy/OSCAR-code
Merge over reverted commit of oximeterimport.cpp
2019-05-09 13:10:24 -04:00
Phil Olynyk
258b549967 Clean up oximeter import date/time handling 2019-05-09 13:05:53 -04:00
Phil Olynyk
240f6db3d5 Change UTC to LocalTime for session times 2019-05-09 11:08:59 -04:00
Phil Olynyk
2526b6691d Revert "Change UTC to LocalTime for session times"
This reverts commit 332ea6f159.
It should have been in a branch
2019-05-09 10:43:47 -04:00
Phil Olynyk
332ea6f159 Change UTC to LocalTime for session times 2019-05-09 10:34:34 -04:00
sawinglogz
fb29ce0222 Fix one more warning. setChecked() only takes a boolean, Qt::Checked/Unchecked are only used for tri-state checkboxes. 2019-05-08 17:18:00 -04:00