Missing pO2 samples from CCR download [was: 4.7.8: a couple of questions]
jef at libdivecomputer.org
Wed May 23 07:22:02 PDT 2018
On 2018-05-23 14:58, Davide DB wrote:
> On Wed, May 23, 2018, 12:08 Willem Ferguson
> <willemferguson at zoology.up.ac.za>
>> If this is the case, then the problem should in principle be solvable
>> and it possibly means that the coding in the dive log is slightly
>> different from that of the standard Petrel and the Fischer Petrel 2.
>> most knowledgeable person to approach is Jef Driesen but he would need
>> some specific information from your download. A first approach is to
>> inspect the .bin dumpfile generated for debug in Subsurface. Then use
>> his dctool executable (If I remember correctly it can do Bluetooth and
>> it is extremely flexible) and see if you can trace the pO2 values.
>> I am not sure this is what you may want to hear, but assume that (if
>> want the problem solved) you need to take the initiative. You may
>> possibly be the only person in this circle which has a divecan Petrel
>> you are in the best position to address the problem.
> While I do not pretend anything (of course), regarding your questions I
> assure you that I made everything I could as end user. I gave
> - Shearwater desktop screenshots
> - Shearwater xml exported logs
> - Subsurface xml logs
> - Subsurface bin dumps
> - dctool dump files
> My only fault was not filing a bug report on Github to resume
> everything in
> one place.
> I even asked on the list if someone else was using a Shearwater Petrel
> controller and, maybe experiencing the same behavior. No reply. So I
> know if it's my specific unit or not.
> BTW I recently updated Petrel firmware to the latest version without
> results. While it's possible I'm the only Shearwater ccr user on this
> we are speaking of the most common eccr controller on the market
> It's used on countless rebreathers not an obscure dive computer
> Everything started months ago when I discovered that pO2 samples
> by Subsurface were completely different (and wrong) from Shearwater
> There was a long email thread in which AFAIK no solution was found: my
> Petrel is strange.
> Maybe I missed something and Jef or Anton modified something. I don't
> but at some point pO2 samples disappeared from Subsurface hence I
> this thread but I'm failing to understand what "default calibration"
> and why in my logbook I find the same device listed with random number
> I asked again today because because even a "guy you must die!" reply
> ok but I got no replies at all.
Sorry for the lack of response, but for the last few weeks, I was just
too busy with non-libdivecomputer related things.
Anyway, the problem is as follows. The shearwater devices record two
1. The average/voted ppO2.
2. The value from each O2 sensor. Unfortunately this value is not the
ppO2 value, but the raw millivolt measurement from the sensor. In order
to convert this value to a ppO2 value, we need to take into account the
Last time I checked, shearwater desktop only shows the average/voted
ppO2 (#1). It doesn't show the individual ppO2 from each sensor (#2) at
all (e.g. no millivolt values nor the converted ppO2).
Now, originally libdivecomputer only reported the average/vote ppO2.
Later on we figured out how the sensor calibration worked, and this was
replaced with the ppO2 value from the individual sensors. But afterwards
we also discovered that some devices (like the one from Davide) don't
seem to store the calibration values correctly, and leave them at their
default values (2100). I have no idea why this happens. Anyway, because
applying those calibration values produces incorrect ppO2 values, I
added some code to detect this case and disable the ppO2 from the
sensors. Since the average/voted ppO2 was already disabled earlier, that
also means you won't get any ppO2 values at all anymore.
For those bogus default calibration values, there is not much we can do
about that. Without the (correct) calibration values, we simply can't
calculate the ppO2 values. So unless the calibration values are for some
reason stored elsewhere, and we just don't know about this, we're simply
stuck here. Shearwater desktop doesn't show this info, so it's difficult
to tell what's going on.
The only part that we can do something about, is restoring the
average/voted ppO2 again. That's already on my todo list. But right now
the libdivecomputer api doesn't have a way to indicate the type of the
ppO2 value (e.g. average/voted or from an individual sensor), so that
would cause confusing. So this will require some (backwards
incompatible) changes, and that's why it's not done yet.
More information about the subsurface