]> git.tdb.fi Git - ext/subsurface.git/commitdiff
Fix up Cochran dive header decoding offset
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Jan 2012 01:36:42 +0000 (17:36 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 28 Jan 2012 01:36:42 +0000 (17:36 -0800)
It turns out the odd "different CAN files have different header offsets"
came from the fact that the decode block was different lengths, and I
had not picked the correct place to start - and instead had found two
different places that were at different offsets due to the decode block
length differences.

This fixes that up, and it looks like the dive header is correctly
descrambled (but what the data *means* is unclear, although there is now
an ASCII date and time visible, so at least one part of it is pretty
obvious).

The actual dive data unscrambling is still different for the two
test-files I have to play with, I do not know why.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
cochran.c

index 650a479b126be47c672aa410e3509a6e54c2223b..ce42c3131276bec8e604e33631a507f0b3130f3f 100644 (file)
--- a/cochran.c
+++ b/cochran.c
@@ -135,11 +135,7 @@ static void parse_cochran_header(const char *filename,
         * The header scrambling is different form the dive
         * scrambling. Oh yay!
         */
-#if 0 // Alex
-       partial_decode(0x058c, 0x0b14, decode, 0, mod, in, size, buf);
-#else // Don
-       partial_decode(0x05a0, 0x0b14, decode, 0, mod, in, size, buf);
-#endif
+       partial_decode(0x010e, 0x0b14, decode, 0, mod, in, size, buf);
        partial_decode(0x0b14, 0x1b14, decode, 0, mod, in, size, buf);
        partial_decode(0x1b14, 0x2b14, decode, 0, mod, in, size, buf);
        partial_decode(0x2b14, 0x3b14, decode, 0, mod, in, size, buf);