Gentlemen,

Atomic Aquatics provides a (windows) software called "Atomic Logbook" to download the dives from the Cobalt and Cobalt 2 Thanks to Jef who sent me an example file, I could write an import for divelogs.de and would like to share my findings with you, in case you want to write an import for it too...

The software saves its data in an SQlite database at C:\ProgramData\AtomicsAquatics\Cobalt-Logbook\Cobalt.db

To get a list of all dives, fire the following SQL:

   SELECT Dive.Id, strftime('%Y-%m-%d',Dive.DiveStartTime) as date,
   strftime('%H:%M',Dive.DiveStartTime) as time, place.Data AS place,
   site.Data AS site, weather.Data AS weather, viz.Data AS viz,
   buddy.Data AS buddy, notes.Data as notes,
   LogPeriod AS samplerate, Temperature, SurfacePressure,
   (SurfHours*60+SurfMinutes)*60 AS si, Units, Segments,
   MaxDepthPressure,
   round((MaxDepthPressure-SurfacePressure)*0.99*0.01,1) AS MaxDepth,
   DiveMinutes
   FROM Dive
   LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
   Items.Value1= List.Id WHERE Items.type=0) place ON Dive.Id =
   place.DiveId
   LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
   Items.Value1= List.Id WHERE Items.type=1) site ON Dive.Id = site.DiveId
   LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
   Items.Value1= List.Id WHERE Items.type=2) weather ON Dive.Id =
   weather.DiveId
   LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
   Items.Value1= List.Id WHERE Items.type=3) viz ON Dive.Id = viz.DiveId
   LEFT JOIN (SELECT Items.DiveId, Data FROM Items INNER JOIN List ON
   Items.Value1= List.Id WHERE Items.type=4) buddy ON Dive.Id =
   buddy.DiveId
   LEFT JOIN (SELECT DiveId, Data FROM List WHERE Type=5) notes ON
   Dive.Id = notes.DiveId


To get all *used* gas mixes (there are always at least three tanks, even if not actually used) with start- and endpressure of each tank, fire:

   SELECT max(gaspressure) as startpress, min(gaspressure) as endpress,
   gasmix, tankpressure, tanksize, O2, he
   FROM TrackPoints
   LEFT JOIN GasMixes ON TrackPoints.GasMix = GasMixNumber AND
   TrackPoints.DiveId = GasMixes.DiveId
   WHERE TrackPoints.DiveId = {the_dives_id} AND gaspressure > 0
   GROUP BY GasMix


Here, the Tanksizes are somewhat stupid.
If your tankpressure == 0 then the tanksize is "tenths of a liter", so 100 will give you a 10 liter tank If the tankpressure > 0, then the tanksize is cuft with the workingpressure "tankpressure", so will need to convert to liters if needed in metric.

To get the profile data from a dive fire:

   SELECT
   round((depthpressure-{SurfacePressure_from_dive})*0.99*0.01,1) as
   depth, Temperature, GasPressure, GasMix, O2, He, runtime FROM
   `TrackPoints` WHERE DiveId = {the_dives_id} Order by runtime


if you need any further info, shoot...

Regards,
Rainer






_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to