Apnea Board Forum - CPAP | Sleep Apnea
Contec RS01 & OSCAR - Printable Version

+- Apnea Board Forum - CPAP | Sleep Apnea (https://www.apneaboard.com/forums)
+-- Forum: Public Area (https://www.apneaboard.com/forums/Forum-Public-Area)
+--- Forum: Software Support Forum (https://www.apneaboard.com/forums/Forum-Software-Support-Forum)
+--- Thread: Contec RS01 & OSCAR (/Thread-Contec-RS01-OSCAR)

Pages: 1 2 3


Contec RS01 & OSCAR - gnluna - 01-21-2022

I have a Contec RS01 "sleep apnea screen meter", and I'd like OSCAR to handle its data. The RS01 is not currently supported so I've tried to learn the file format.

The RS01 writes a file named after the recording start time in the format MMDDHHMM.BIN. The files are made of 256-byte records, one after another for each second recorded. So far, all the understood values are little endian.

Code:
<offset>   <length> <value>         <description>
0x00       2        0xFFFF          ? Seems constant.
0x02       2        0x0100-?        Record counter. Resets on power cycle.
0x04-0x66  2        -               50 2-byte values relating to the pressure sensor.
0x68       2        -               Heart rate.
0x6A       2        -               Peripheral oxygen saturation.
0x6C-0xE2  2        -               60 2-byte values relating to the photoplethysmogram.
0xE4       2        0x0400          ? Seems constant.
0xE6       8        -               ? Always zero except for in first record written since power cycle. Significantly different each time.
0xEE       2        0x0000          ? Seems constant.
0xF0       6        -               ? Seems constant.
0xF6       2        -               File creation / start timestamp: last two digits of year.
0xF8       2        0x0100-0C00     File creation / start timestamp: month.
0xFA       2        0x0100-1F00     File creation / start timestamp: day of month.
0xFC       2        0x0000-1700     File creation / start timestamp: hour [00-23].
0xFE       2        0x0000-3B00     File creation / start timestamp: minute.


I'm not sure if the pressure and SpO2 data really represent a 50 & 60Hz recording.

Unfortunately, I have to warn that it arrived with malware on it. See "Malware found on Contec RS01" in the Main Apnea Board Forum.


RE: Contec RS01 & OSCAR - Crimson Nape - 01-21-2022

Does the SpO2 Smart Assistant software read this device? If so, doesn't it produce a ".SpO2" file? If so, this file can be imported into OSCAR.


RE: Contec RS01 & OSCAR - gnluna - 01-21-2022

I have not tried. I'm not sure SpO2 Assistant is meant for this device. ResMon seems to be the software shown in the manual. Is there a description of the .SpO2 file format somewhere?


RE: Contec RS01 & OSCAR - Crimson Nape - 01-21-2022

I would look at OSCAR's source code for the CMS50 loader to find the file's data structure. I would expect an additional entry for the nasal sensor.


RE: Contec RS01 & OSCAR - selfcoacher - 01-23-2022

SP02 Assistant does not work with it. It uses its own software for data visualization and scoring called Resmon. This device provides extremely useful and high resolution data at dirt cheap price, but the inability to import data in Oscar makes it pretty useless for the apnea community.


RE: Contec RS01 & OSCAR - sawinglogz - 01-23-2022

(01-21-2022, 02:00 AM)gnluna Wrote: I have a Contec RS01 "sleep apnea screen meter", and I'd like OSCAR to handle its data. The RS01 is not currently supported so I've tried to learn the file format.

The RS01 writes a file named after the recording start time in the format MMDDHHMM.BIN. The files are made of 256-byte records, one after another for each second recorded. So far, all the understood values are little endian.
...
I'm not sure if the pressure and SpO2 data really represent a 50 & 60Hz recording.

Nice work so far! If you're interested in writing a loader for it, let us know and we can help point you in the right direction.

Otherwise, it'll probably have to wait a bit, since we have some pressing work already in the pipeline.


RE: Contec RS01 & OSCAR - gnluna - 01-23-2022

(01-23-2022, 12:18 PM)selfcoacher Wrote: SP02 Assistant does not work with it.  It uses its own software for data visualization and scoring called Resmon.  This device provides extremely useful and high resolution data at dirt cheap price, but the inability to import data in Oscar makes it pretty useless for the apnea community.

What is the fastest update rate that ResMon presents the photoplethysmogram?

(01-23-2022, 02:07 PM)sawinglogz Wrote: Nice work so far! If you're interested in writing a loader for it, let us know and we can help point you in the right direction.

Otherwise, it'll probably have to wait a bit, since we have some pressing work already in the pipeline.

Thanks. I have been working on a loader. The CMS50 loader does not look like it reads files similar to RS01 files, so that won't be a shortcut.

Can OSCAR handle a concurrent set of sensor recordings with varying update rates (eg. HR & SpO2 @ 1Hz, PPG @ 60Hz and pressure @ 50Hz)? Is this forum where the development discussion happens?


RE: Contec RS01 & OSCAR - selfcoacher - 01-25-2022

What is the fastest update rate that ResMon presents the photoplethysmogram?

How can I verify that?  Heart rate and SP02 are displayed at 1s, while Flow rate and Pleth seem to be displayed at higher resolution than that.  Let me know if I can be of any help as an Oscar loader for the RS01 will be quite an amazing feat.


RE: Contec RS01 & OSCAR - selfcoacher - 01-25-2022

1second screenshot for resolution of flow curve and pleth

[attachment=39302]


RE: Contec RS01 & OSCAR - gnluna - 01-25-2022

(01-25-2022, 06:52 AM)selfcoacher Wrote: How can I verify that? [...] Let me know if I can be of any help as an Oscar loader for the RS01 will be quite an amazing feat.

(01-25-2022, 03:14 PM)selfcoacher Wrote: 1second screenshot for resolution of flow curve and pleth

Looks like you figured it out, great! I see six distinct PPG values during the 0.1 seconds from 01:31:00.400 to 01:31:00.500, and 5 distinct pressure ("flow") values during the 0.1 seconds from 01:31:00.600 & 01:31:00.700. So it appears as though the PPG is really sampled at 60Hz, and the pressure at 50Hz.

Sawinglogz did tell me that OSCAR can handle the varied sample rates. However, I don't want to inflate anyone's expectations about my ability to create a loader or the speed I can do it. I'm hopeful though.