Re: Suunto EON sample interval
On Apr 30, 2015 06:51, Miika Turkia miika.tur...@gmail.com wrote: Interestingly it seems that these events record the previous depth, not the current. Is EON recording only the event, no depth and your importer adds the depth there? So the eon steel protocol is fairly good, and it doesn't have the traditional fixed samples at all. Instead it has update packets which day things like 10240 milliseconds have passed and cylinder sensor #1 is now 123 bar. If the depth hasn't changed it just won't get updated. So you don't see a sample that updates everything, although there are update packets that update several fields at once. One of the more common update packets updates time, depth, temperature and deco state all together, for example. So it's not that the importer adds the depth. Is literally that the eon steel bar sends this data has changed. If the eon decides that some piece of information hasn't changed enough to report about, it will just not bother to update it. (Other dive computer protocols tend to be delta-compressed too, but tend to have a more fixed format that often always updates depth, for example) Linus ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: Suunto EON sample interval
On Wed, Apr 29, 2015 at 10:50 PM, Linus Torvalds torva...@linux-foundation.org wrote: On Apr 29, 2015 20:25, Miika Turkia miika.tur...@gmail.com wrote: I am looking at a log from Suunto EON Steel and it seems that it generally has a 10 second sample interval. No. The eon steel gives time difference in the samples, and they are not ten seconds apart, they are given in *milliseconds* and while close to ten seconds they are not exactly that. I have the logs, but am not in front of my computer right now. OK, so the drifting I see on our samples is due to this roughly ten second interval spiced up with millisecond precision. So not only are things not at an even second to begin with, there are events that happen outside of the regular samples that may have timestamps that change things even more. Interestingly it seems that these events record the previous depth, not the current. Is EON recording only the event, no depth and your importer adds the depth there? My eon importer keeps track of the time in milliseconds internally (it really has to - ask the times are incremental and in that format) but then exposes them in seconds (because that's the same format, and the libdivecomputer interface). So you'll never see the traditional every x seconds behavior. Thanks, this explains quite a bit, but we will loose some precision when exporting to interval based logs (e.g. divelogs.de). But I don't think this will be significant to worry about. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: How about 4.4.2?
On Thu, Apr 30, 2015 at 09:20:31AM -0700, Dirk Hohndel wrote: On Thu, Apr 30, 2015 at 06:07:59PM +0200, Robert Helling wrote: Dirk, On 30.04.2015, at 18:05, Dirk Hohndel d...@hohndel.org wrote: If no one has anything else they want me to add I'll finish my testing and then just cut the release and move back to looking at 4.5 :-] my suggestion would be to wait for Miika to come up with something for the dialogs.de export (the sample interval). Reasonable suggestion, but I haven't seen anything that indicates there's a clear path to a fix right now... Once Miika reemerges from his dives he'll have to comment :-) In the meantime, for those on Windows, I put a binary up for testing (internal version is inconsistent with the filename, I know) http://subsurface-divelog.org/downloads/daily/subsurface-4.4.2-RC1.exe /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
[PATCH 1/3] Set EON Steel sample interval to 10s on
This sets the Suunto EON Steel sample interval to 10 seconds when exporting to divelogs.de. Signed-off-by: Miika Turkia miika.tur...@gmail.com --- xslt/divelogs-export.xslt | 42 +- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/xslt/divelogs-export.xslt b/xslt/divelogs-export.xslt index 5752a44..904c893 100644 --- a/xslt/divelogs-export.xslt +++ b/xslt/divelogs-export.xslt @@ -206,29 +206,37 @@ /xsl:variable SAMPLEINTERVAL - xsl:variable name=first -xsl:call-template name=time2sec - xsl:with-param name=time -xsl:value-of select=node()/sample[1]/@time/ - /xsl:with-param -/xsl:call-template - /xsl:variable - xsl:variable name=second -xsl:call-template name=time2sec - xsl:with-param name=time -xsl:value-of select=node()/sample[2]/@time/ - /xsl:with-param -/xsl:call-template - /xsl:variable xsl:choose -xsl:when test=$manual = 0 - xsl:value-of select=$second - $first/ +xsl:when test=divecomputer/@model = 'Suunto EON Steel' + xsl:text10/xsl:text /xsl:when xsl:otherwise - xsl:value-of select=60/ + xsl:variable name=first +xsl:call-template name=time2sec + xsl:with-param name=time +xsl:value-of select=node()/sample[1]/@time/ + /xsl:with-param +/xsl:call-template + /xsl:variable + xsl:variable name=second +xsl:call-template name=time2sec + xsl:with-param name=time +xsl:value-of select=node()/sample[2]/@time/ + /xsl:with-param +/xsl:call-template + /xsl:variable + xsl:choose +xsl:when test=$manual = 0 + xsl:value-of select=$second - $first/ +/xsl:when +xsl:otherwise + xsl:value-of select=60/ +/xsl:otherwise + /xsl:choose /xsl:otherwise /xsl:choose /SAMPLEINTERVAL + xsl:for-each select=divecomputer[1]/sample xsl:choose xsl:when test=$manual = 1 and @time != '0:00 min' -- 2.1.0 ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
[PATCH 3/3] Select only meaningful samples for divelogs.de export
The logic to select samples from EON Steel for divelogs.de export is the following: - Ignore sample at time zero, as that is surface, and the second odd sample contains information we are interested in - Grab the second sample, first sample with pressure and temperature readings - Grab the third sample - grand parent is 0, thus our first interval sample - Grab the samples when the predecessor (or grand parent) is at least 10 seconds away This logic seems to produce reasonable results when exporting EON Steel logs to divelogs.de. Naturally there might be corner cases, that are not taken into account, but this basic logic seems reasonable in normal cases. (Unfortunately analysis is done based on a single dive.) Signed-off-by: Miika Turkia miika.tur...@gmail.com --- xslt/divelogs-export.xslt | 47 ++- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/xslt/divelogs-export.xslt b/xslt/divelogs-export.xslt index f231060..f912feb 100644 --- a/xslt/divelogs-export.xslt +++ b/xslt/divelogs-export.xslt @@ -290,11 +290,48 @@ !-- name select={concat(@time, ' - ', preceding-sibling::sample[1]/@time)}/-- /xsl:when xsl:otherwise - SAMPLE -DEPTH - xsl:value-of select=substring-before(./@depth, ' ')/ -/DEPTH - /SAMPLE + xsl:choose +!-- Suunto EON Steel special case -- +xsl:when test=$special = 1 + xsl:variable name=cur +xsl:call-template name=time2sec + xsl:with-param name=time +xsl:value-of select=@time/ + /xsl:with-param +/xsl:call-template + /xsl:variable + xsl:variable name=prev +xsl:call-template name=time2sec + xsl:with-param name=time +xsl:value-of select=preceding-sibling::sample[1]/@time/ + /xsl:with-param +/xsl:call-template + /xsl:variable + xsl:variable name=prevprev +xsl:call-template name=time2sec + xsl:with-param name=time +xsl:value-of select=preceding-sibling::sample[2]/@time/ + /xsl:with-param +/xsl:call-template + /xsl:variable + xsl:choose +xsl:when test=$cur - $prev gt;= 10 or $prev = 0 or $prevprev = 0 + SAMPLE +DEPTH + xsl:value-of select=substring-before(./@depth, ' ')/ +/DEPTH + /SAMPLE +/xsl:when + /xsl:choose +/xsl:when +xsl:otherwise + SAMPLE +DEPTH + xsl:value-of select=substring-before(./@depth, ' ')/ +/DEPTH + /SAMPLE +/xsl:otherwise + /xsl:choose /xsl:otherwise /xsl:choose /xsl:for-each -- 2.1.0 ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
[PATCH 2/3] Use variable to track special handling of DCs
Signed-off-by: Miika Turkia miika.tur...@gmail.com --- xslt/divelogs-export.xslt | 11 ++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/xslt/divelogs-export.xslt b/xslt/divelogs-export.xslt index 904c893..f231060 100644 --- a/xslt/divelogs-export.xslt +++ b/xslt/divelogs-export.xslt @@ -205,9 +205,18 @@ /xsl:choose /xsl:variable -SAMPLEINTERVAL +!-- Test if dive computer requires special handling -- +xsl:variable name=special xsl:choose xsl:when test=divecomputer/@model = 'Suunto EON Steel' + xsl:text1/xsl:text +/xsl:when + /xsl:choose +/xsl:variable + +SAMPLEINTERVAL + xsl:choose +xsl:when test=$special = 1 xsl:text10/xsl:text /xsl:when xsl:otherwise -- 2.1.0 ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: How about 4.4.2?
On Thu, Apr 30, 2015 at 10:20 AM, Dirk Hohndel d...@hohndel.org wrote: On Thu, Apr 30, 2015 at 06:07:59PM +0200, Robert Helling wrote: Dirk, On 30.04.2015, at 18:05, Dirk Hohndel d...@hohndel.org wrote: If no one has anything else they want me to add I'll finish my testing and then just cut the release and move back to looking at 4.5 :-] my suggestion would be to wait for Miika to come up with something for the dialogs.de export (the sample interval). Reasonable suggestion, but I haven't seen anything that indicates there's a clear path to a fix right now... Once Miika reemerges from his dives he'll have to comment :-) OK, I just sent a recommendation for handling this. Though the logic might benefit from additional eyes. miika ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: How about 4.4.2?
On Thu, Apr 30, 2015 at 05:50:26PM -0600, Miika Turkia wrote: On Thu, Apr 30, 2015 at 10:20 AM, Dirk Hohndel d...@hohndel.org wrote: On Thu, Apr 30, 2015 at 06:07:59PM +0200, Robert Helling wrote: Dirk, On 30.04.2015, at 18:05, Dirk Hohndel d...@hohndel.org wrote: If no one has anything else they want me to add I'll finish my testing and then just cut the release and move back to looking at 4.5 :-] my suggestion would be to wait for Miika to come up with something for the dialogs.de export (the sample interval). Reasonable suggestion, but I haven't seen anything that indicates there's a clear path to a fix right now... Once Miika reemerges from his dives he'll have to comment :-) OK, I just sent a recommendation for handling this. Though the logic might benefit from additional eyes. I looked through them and the first two seem obvious. The third one is not quite as clear but it does appear to make sense. Linus has a bunch of dives on his Eon Steele. Maybe he can export them all to divelogs.de then import them into a different file and then we can compare if they still look sane... I'll take the patches as they are and will push this to master (that makes it easier for people to test). If this works as expected I can easily cherry-pick them for 4.4.2 /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
[PATCH] User manual: recreational dive planning
Resend of patch that appears to have gone missing. Kind regards, willem Forwarded Message Subject:[PATCH] User manual: recreational dive planning Date: Tue, 28 Apr 2015 10:29:16 +0200 From: Willem Ferguson willemfergu...@zoology.up.ac.za Reply-To: willemfergu...@zoology.up.ac.za Organization: University of Pretoria To: Subsurface Mailing List subsurface@subsurface-divelog.org Add text to user manual: Recreational dive planning One figure has been added Signed-off-by: willem ferguson willemfergu...@zoology.up.ac.za From 06de96964ac734ad5cf0f804c6ca2dab666aeb0e Mon Sep 17 00:00:00 2001 From: willem ferguson willemfergu...@zoology.up.ac.za Date: Tue, 28 Apr 2015 10:25:42 +0200 Subject: [PATCH 2/2] Add text to user manual: Recreational dive planning One figure has been added Signed-off-by: willem ferguson willemfergu...@zoology.up.ac.za --- Documentation/images/rec_diveplan.jpg | Bin 0 - 43447 bytes Documentation/user-manual.txt | 105 +++--- 2 files changed, 84 insertions(+), 21 deletions(-) create mode 100644 Documentation/images/rec_diveplan.jpg diff --git a/Documentation/images/rec_diveplan.jpg b/Documentation/images/rec_diveplan.jpg new file mode 100644 index ..c09a9c2b165a6bec8411c0d64db509ec1e20f5ca GIT binary patch literal 43447 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
Re: How about 4.4.2?
On Wed, Apr 29, 2015 at 11:26:57AM -0700, Dirk Hohndel wrote: I just merged our libdc branches with the latest upstream from libdivecomputer. More precisely, Subsurface-4.4 branch was merged, but Subsurface-testing was rebased, so that one will require a force pull. Jef has done some good work recently and added support for a few more dive computers. So if I were to make a 4.4.2 release with the latest libdivecomputer code included... are there any other fixes in master that I absolutely should back port? I know that I'd take a couple of my Uemis fixes as Uemis support in 4.4.1 is actually rather broken :-( Anything else? No one? In that case 4.4.2 will be really easy to do... I have the latest libdivecomputer state merged in the Subsurface-4.4 branch of git.subsurface-divelog.org/ldc and have all the things I want to include in 4.4.2 in the v4.4-branch of Subsurface. I don't think there is a point in making a test binary for this... No one ever seems to test the Uemis support (and that clearly included myself in the case of 4.4 - I will test a multi part download on Windows with this one before releasing it), and the rest is just libdivecomputer changes... If no one has anything else they want me to add I'll finish my testing and then just cut the release and move back to looking at 4.5 :-] /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
Re: How about 4.4.2?
On Thu, Apr 30, 2015 at 06:07:59PM +0200, Robert Helling wrote: Dirk, On 30.04.2015, at 18:05, Dirk Hohndel d...@hohndel.org wrote: If no one has anything else they want me to add I'll finish my testing and then just cut the release and move back to looking at 4.5 :-] my suggestion would be to wait for Miika to come up with something for the dialogs.de export (the sample interval). Reasonable suggestion, but I haven't seen anything that indicates there's a clear path to a fix right now... Once Miika reemerges from his dives he'll have to comment :-) /D ___ subsurface mailing list subsurface@subsurface-divelog.org http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface