Subsurface looping at end of download from DC
Patrick Valsecchi
patrick at thus.ch
Mon Oct 14 23:41:05 UTC 2013
Here is how subsurface gets the surface pressure from the DC:
double surface_pressure = 1.0;
rc = dc_parser_get_field(parser, DC_FIELD_ATMOSPHERIC, 0,
&surface_pressure);
if (rc != DC_STATUS_SUCCESS && rc != DC_STATUS_UNSUPPORTED) {
dev_info(devdata, translate("gettextFromC","Error obtaining
surface pressure"));
dc_parser_destroy(parser);
return rc;
}
dive->dc.surface_pressure.mbar = surface_pressure * 1000.0 + 0.5;
So looks like you need to return the pressure as a double in bar from
libdivecomputer.
On 10/15/2013 08:34 AM, Tim Wootton wrote:
> On 15/10/13 06:31, Dirk Hohndel wrote:
>> Oh, this reminds me. For reasons that are a bit to silly to explain in
>> much detail... while we STORE all pressures in mbar as an int, when
>> calling any of the deco functions (so deco_allowed_depth, etc), the
>> pressure is given in bar as double...
>>
>> yes, we should probably change that, but that's what it is currently
>> expecting... is this maybe the issue at hand?
> So what units does subsurface expect from libdivecomputer? The
> libdivecompter patch I put in to support surface pressure on my DC
> returns mbar is that wrong? Should it be bar?
>
>
More information about the subsurface
mailing list