Thanks for this, I did some work on cobalt import earlier. Will take a look of 
what new info you have figured out once back in the north.

miika


> On 15 Jan 2015, at 04:14, Rainer Mohr <[email protected]> wrote:
> 
> 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
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to